Thread (20 messages) 20 messages, 5 authors, 2013-02-18
STALE4853d

[PATCH 3/4] ARM: mach-shmobile: r8a7779: Minimal setup using DT

From: magnus.damm@gmail.com (Magnus Damm)
Date: 2013-02-18 09:36:12
Also in: linux-sh

Hi Simon,

Here's some feedback on your r8a7779 DT code.

On Thu, Jan 31, 2013 at 10:50 AM, Simon Horman
[off-list ref] wrote:
Allow a minimal setup of the r8a7779 SoC using a flattened device tree.
In particular, configure the i2c and ethernet controllers using a
flattened device tree.

SCI serial controller and TMU clock source, whose drivers do not yet
support configuration using a flattened device tree, are still configured
using C code in order to allow booting of a board with this SoC.

The ethernet controller also requires a regulator which is a board property.
A sample snippet DT for the marzen board is as follows:

/dts-v1/;
/include/ "r8a7779.dtsi"

/ {
        fixedregulator3v3: fixedregulator at 0 {
                compatible = "regulator-fixed";
                regulator-name = "fixed-3.3V";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
                regulator-boot-on;
                regulator-always-on;
        };
};

&lan0 {
        vddvario-supply = <&fixedregulator3v3>;
        vdd33a-supply = <&fixedregulator3v3>;
};

Signed-off-by: Simon Horman <redacted>
---
quoted hunk ↗ jump to hunk
--- a/arch/arm/mach-shmobile/setup-r8a7779.c
+++ b/arch/arm/mach-shmobile/setup-r8a7779.c
@@ -321,7 +321,7 @@ static struct platform_device i2c3_device = {
        .num_resources  = ARRAY_SIZE(rcar_i2c3_res),
 };

-static struct platform_device *r8a7779_early_devices[] __initdata = {
+static struct platform_device *r8a7779_early_devices_dt[] __initdata = {
        &scif0_device,
        &scif1_device,
        &scif2_device,
@@ -330,15 +330,15 @@ static struct platform_device *r8a7779_early_devices[] __initdata = {
        &scif5_device,
        &tmu00_device,
        &tmu01_device,
+};
+
+static struct platform_device *r8a7779_early_devices[] __initdata = {
        &i2c0_device,
        &i2c1_device,
        &i2c2_device,
        &i2c3_device,
 };

-static struct platform_device *r8a7779_late_devices[] __initdata = {
-};
-
Thanks for your work on this. Two things with early/late devices on r8a7779:

1)  Same thing as sh73a0 applies here, please refrain from using early
devices with DT.
2) The i2c devices as early devices look incorrect. Can you make them
late devices?

Cheers,

/ magnus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help