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

Magnus Damm magnus.damm at gmail.com
Mon Feb 18 04:36:12 EST 2013


Hi Simon,

Here's some feedback on your r8a7779 DT code.

On Thu, Jan 31, 2013 at 10:50 AM, Simon Horman
<horms+renesas at verge.net.au> 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 <horms+renesas at verge.net.au>
> ---

> --- 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



More information about the linux-arm-kernel mailing list