diff mbox series

[3/4] ARM: uniphier: split u-boot, dm-pre-reloc out to uniphier-v7-u-boot.dtsi

Message ID 1508242783-21107-3-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit 9ac0e7b37a5d9c01079f1a2d595fe67cef4ce154
Headers show
Series [1/4] ARM: uniphier: enable DWC3 xHCI driver really | expand

Commit Message

Masahiro Yamada Oct. 17, 2017, 12:19 p.m. UTC
UniPhier 32-bit SoCs use CONFIG_SPL_OF_CONTROL.  So, many nodes must
be marked as dm-pre-reloc to prevent fdtgrep from stripping them off.

Sprinkling U-Boot specific properties all over the place is painful
because DT files are synced with Linux from time to time.

Split u-boot,dm-pre-reloc out to uniphier-v7-u-boot.dtsi, which is
appended to UniPhier V7 DTS before the build.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 arch/arm/dts/uniphier-ld4-ref.dts     |  9 ------
 arch/arm/dts/uniphier-ld4.dtsi        |  3 --
 arch/arm/dts/uniphier-ld6b-ref.dts    |  9 ------
 arch/arm/dts/uniphier-pro4-ace.dts    |  9 ------
 arch/arm/dts/uniphier-pro4-ref.dts    |  9 ------
 arch/arm/dts/uniphier-pro4-sanji.dts  | 21 ------------
 arch/arm/dts/uniphier-pro4.dtsi       |  4 ---
 arch/arm/dts/uniphier-pro5-4kbox.dts  |  9 ------
 arch/arm/dts/uniphier-pro5.dtsi       |  4 ---
 arch/arm/dts/uniphier-pxs2-gentil.dts | 21 ------------
 arch/arm/dts/uniphier-pxs2-vodka.dts  | 21 ------------
 arch/arm/dts/uniphier-pxs2.dtsi       |  4 ---
 arch/arm/dts/uniphier-sld8-ref.dts    |  9 ------
 arch/arm/dts/uniphier-sld8.dtsi       |  3 --
 arch/arm/dts/uniphier-v7-u-boot.dtsi  | 61 +++++++++++++++++++++++++++++++++++
 arch/arm/mach-uniphier/Kconfig        |  2 ++
 16 files changed, 63 insertions(+), 135 deletions(-)
 create mode 100644 arch/arm/dts/uniphier-v7-u-boot.dtsi

Comments

Jagan Teki Oct. 17, 2017, 1:01 p.m. UTC | #1
On Tue, Oct 17, 2017 at 5:49 PM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> UniPhier 32-bit SoCs use CONFIG_SPL_OF_CONTROL.  So, many nodes must
> be marked as dm-pre-reloc to prevent fdtgrep from stripping them off.
>
> Sprinkling U-Boot specific properties all over the place is painful
> because DT files are synced with Linux from time to time.
>
> Split u-boot,dm-pre-reloc out to uniphier-v7-u-boot.dtsi, which is
> appended to UniPhier V7 DTS before the build.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
>  arch/arm/dts/uniphier-ld4-ref.dts     |  9 ------
>  arch/arm/dts/uniphier-ld4.dtsi        |  3 --
>  arch/arm/dts/uniphier-ld6b-ref.dts    |  9 ------
>  arch/arm/dts/uniphier-pro4-ace.dts    |  9 ------
>  arch/arm/dts/uniphier-pro4-ref.dts    |  9 ------
>  arch/arm/dts/uniphier-pro4-sanji.dts  | 21 ------------
>  arch/arm/dts/uniphier-pro4.dtsi       |  4 ---
>  arch/arm/dts/uniphier-pro5-4kbox.dts  |  9 ------
>  arch/arm/dts/uniphier-pro5.dtsi       |  4 ---
>  arch/arm/dts/uniphier-pxs2-gentil.dts | 21 ------------
>  arch/arm/dts/uniphier-pxs2-vodka.dts  | 21 ------------
>  arch/arm/dts/uniphier-pxs2.dtsi       |  4 ---
>  arch/arm/dts/uniphier-sld8-ref.dts    |  9 ------
>  arch/arm/dts/uniphier-sld8.dtsi       |  3 --
>  arch/arm/dts/uniphier-v7-u-boot.dtsi  | 61 +++++++++++++++++++++++++++++++++++
>  arch/arm/mach-uniphier/Kconfig        |  2 ++
>  16 files changed, 63 insertions(+), 135 deletions(-)
>  create mode 100644 arch/arm/dts/uniphier-v7-u-boot.dtsi
>
> diff --git a/arch/arm/dts/uniphier-ld4-ref.dts b/arch/arm/dts/uniphier-ld4-ref.dts
> index 0f50acb..0fd66e7 100644
> --- a/arch/arm/dts/uniphier-ld4-ref.dts
> +++ b/arch/arm/dts/uniphier-ld4-ref.dts
> @@ -68,12 +68,3 @@
>  &usb1 {
>         status = "okay";
>  };
> -
> -/* for U-Boot only */
> -&serial0 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_uart0 {
> -       u-boot,dm-pre-reloc;
> -};
> diff --git a/arch/arm/dts/uniphier-ld4.dtsi b/arch/arm/dts/uniphier-ld4.dtsi
> index b816038..158beae 100644
> --- a/arch/arm/dts/uniphier-ld4.dtsi
> +++ b/arch/arm/dts/uniphier-ld4.dtsi
> @@ -50,7 +50,6 @@
>                 #size-cells = <1>;
>                 ranges;
>                 interrupt-parent = <&intc>;
> -               u-boot,dm-pre-reloc;
>
>                 l2: l2-cache@500c0000 {
>                         compatible = "socionext,uniphier-system-cache";
> @@ -295,11 +294,9 @@
>                         compatible = "socionext,uniphier-ld4-soc-glue",
>                                      "simple-mfd", "syscon";
>                         reg = <0x5f800000 0x2000>;
> -                       u-boot,dm-pre-reloc;
>
>                         pinctrl: pinctrl {
>                                 compatible = "socionext,uniphier-ld4-pinctrl";
> -                               u-boot,dm-pre-reloc;
>                         };
>                 };
>
> diff --git a/arch/arm/dts/uniphier-ld6b-ref.dts b/arch/arm/dts/uniphier-ld6b-ref.dts
> index bdb7f50..926d37e 100644
> --- a/arch/arm/dts/uniphier-ld6b-ref.dts
> +++ b/arch/arm/dts/uniphier-ld6b-ref.dts
> @@ -70,12 +70,3 @@
>  &usb1 {
>         status = "okay";
>  };
> -
> -/* for U-Boot only */
> -&serial0 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_uart0 {
> -       u-boot,dm-pre-reloc;
> -};
> diff --git a/arch/arm/dts/uniphier-pro4-ace.dts b/arch/arm/dts/uniphier-pro4-ace.dts
> index 8161ba8..60a8c33 100644
> --- a/arch/arm/dts/uniphier-pro4-ace.dts
> +++ b/arch/arm/dts/uniphier-pro4-ace.dts
> @@ -90,12 +90,3 @@
>  &usb3 {
>         status = "okay";
>  };
> -
> -/* for U-Boot only */
> -&serial0 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_uart0 {
> -       u-boot,dm-pre-reloc;
> -};
> diff --git a/arch/arm/dts/uniphier-pro4-ref.dts b/arch/arm/dts/uniphier-pro4-ref.dts
> index 360b31d..1b22f80 100644
> --- a/arch/arm/dts/uniphier-pro4-ref.dts
> +++ b/arch/arm/dts/uniphier-pro4-ref.dts
> @@ -83,12 +83,3 @@
>  &usb1 {
>         status = "okay";
>  };
> -
> -/* for U-Boot only */
> -&serial0 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_uart0 {
> -       u-boot,dm-pre-reloc;
> -};
> diff --git a/arch/arm/dts/uniphier-pro4-sanji.dts b/arch/arm/dts/uniphier-pro4-sanji.dts
> index 778e2bb..950f47a 100644
> --- a/arch/arm/dts/uniphier-pro4-sanji.dts
> +++ b/arch/arm/dts/uniphier-pro4-sanji.dts
> @@ -85,24 +85,3 @@
>  &usb3 {
>         status = "okay";
>  };
> -
> -/* for U-Boot only */
> -&serial0 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&mio_clk {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&emmc {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_uart0 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_emmc {
> -       u-boot,dm-pre-reloc;
> -};
> diff --git a/arch/arm/dts/uniphier-pro4.dtsi b/arch/arm/dts/uniphier-pro4.dtsi
> index 5f39972..ea97e26 100644
> --- a/arch/arm/dts/uniphier-pro4.dtsi
> +++ b/arch/arm/dts/uniphier-pro4.dtsi
> @@ -58,7 +58,6 @@
>                 #size-cells = <1>;
>                 ranges;
>                 interrupt-parent = <&intc>;
> -               u-boot,dm-pre-reloc;
>
>                 l2: l2-cache@500c0000 {
>                         compatible = "socionext,uniphier-system-cache";
> @@ -224,7 +223,6 @@
>                         compatible = "socionext,uniphier-pro4-mioctrl",
>                                      "simple-mfd", "syscon";
>                         reg = <0x59810000 0x800>;
> -                       u-boot,dm-pre-reloc;
>
>                         mio_clk: clock {
>                                 compatible = "socionext,uniphier-pro4-mio-clock";
> @@ -333,11 +331,9 @@
>                         compatible = "socionext,uniphier-pro4-soc-glue",
>                                      "simple-mfd", "syscon";
>                         reg = <0x5f800000 0x2000>;
> -                       u-boot,dm-pre-reloc;
>
>                         pinctrl: pinctrl {
>                                 compatible = "socionext,uniphier-pro4-pinctrl";
> -                               u-boot,dm-pre-reloc;
>                         };
>                 };
>
> diff --git a/arch/arm/dts/uniphier-pro5-4kbox.dts b/arch/arm/dts/uniphier-pro5-4kbox.dts
> index 05597d3..1986a0b 100644
> --- a/arch/arm/dts/uniphier-pro5-4kbox.dts
> +++ b/arch/arm/dts/uniphier-pro5-4kbox.dts
> @@ -55,12 +55,3 @@
>  &sd {
>         status = "okay";
>  };
> -
> -/* for U-Boot only */
> -&serial1 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_uart1 {
> -       u-boot,dm-pre-reloc;
> -};
> diff --git a/arch/arm/dts/uniphier-pro5.dtsi b/arch/arm/dts/uniphier-pro5.dtsi
> index 950b02c..3be3acf 100644
> --- a/arch/arm/dts/uniphier-pro5.dtsi
> +++ b/arch/arm/dts/uniphier-pro5.dtsi
> @@ -132,7 +132,6 @@
>                 #size-cells = <1>;
>                 ranges;
>                 interrupt-parent = <&intc>;
> -               u-boot,dm-pre-reloc;
>
>                 l2: l2-cache@500c0000 {
>                         compatible = "socionext,uniphier-system-cache";
> @@ -311,7 +310,6 @@
>                         compatible = "socionext,uniphier-pro5-sdctrl",
>                                      "simple-mfd", "syscon";
>                         reg = <0x59810000 0x400>;
> -                       u-boot,dm-pre-reloc;
>
>                         sd_clk: clock {
>                                 compatible = "socionext,uniphier-pro5-sd-clock";
> @@ -344,11 +342,9 @@
>                         compatible = "socionext,uniphier-pro5-soc-glue",
>                                      "simple-mfd", "syscon";
>                         reg = <0x5f800000 0x2000>;
> -                       u-boot,dm-pre-reloc;
>
>                         pinctrl: pinctrl {
>                                 compatible = "socionext,uniphier-pro5-pinctrl";
> -                               u-boot,dm-pre-reloc;
>                         };
>                 };
>
> diff --git a/arch/arm/dts/uniphier-pxs2-gentil.dts b/arch/arm/dts/uniphier-pxs2-gentil.dts
> index 7f0f972..4397714 100644
> --- a/arch/arm/dts/uniphier-pxs2-gentil.dts
> +++ b/arch/arm/dts/uniphier-pxs2-gentil.dts
> @@ -66,24 +66,3 @@
>  &usb1 {
>         status = "okay";
>  };
> -
> -/* for U-Boot only */
> -&serial2 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&sd_clk {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&emmc {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_uart2 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_emmc {
> -       u-boot,dm-pre-reloc;
> -};
> diff --git a/arch/arm/dts/uniphier-pxs2-vodka.dts b/arch/arm/dts/uniphier-pxs2-vodka.dts
> index ec9ffb7..d29096f 100644
> --- a/arch/arm/dts/uniphier-pxs2-vodka.dts
> +++ b/arch/arm/dts/uniphier-pxs2-vodka.dts
> @@ -49,24 +49,3 @@
>  &usb0 {
>         status = "okay";
>  };
> -
> -/* for U-Boot only */
> -&serial2 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&sd_clk {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&emmc {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_uart2 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_emmc {
> -       u-boot,dm-pre-reloc;
> -};
> diff --git a/arch/arm/dts/uniphier-pxs2.dtsi b/arch/arm/dts/uniphier-pxs2.dtsi
> index ac84d15..dcb2515 100644
> --- a/arch/arm/dts/uniphier-pxs2.dtsi
> +++ b/arch/arm/dts/uniphier-pxs2.dtsi
> @@ -120,7 +120,6 @@
>                 #size-cells = <1>;
>                 ranges;
>                 interrupt-parent = <&intc>;
> -               u-boot,dm-pre-reloc;
>
>                 l2: l2-cache@500c0000 {
>                         compatible = "socionext,uniphier-system-cache";
> @@ -297,7 +296,6 @@
>                         compatible = "socionext,uniphier-pxs2-sdctrl",
>                                      "simple-mfd", "syscon";
>                         reg = <0x59810000 0x400>;
> -                       u-boot,dm-pre-reloc;
>
>                         sd_clk: clock {
>                                 compatible = "socionext,uniphier-pxs2-sd-clock";
> @@ -365,11 +363,9 @@
>                         compatible = "socionext,uniphier-pxs2-soc-glue",
>                                      "simple-mfd", "syscon";
>                         reg = <0x5f800000 0x2000>;
> -                       u-boot,dm-pre-reloc;
>
>                         pinctrl: pinctrl {
>                                 compatible = "socionext,uniphier-pxs2-pinctrl";
> -                               u-boot,dm-pre-reloc;
>                         };
>                 };
>
> diff --git a/arch/arm/dts/uniphier-sld8-ref.dts b/arch/arm/dts/uniphier-sld8-ref.dts
> index 3557bb7..478ee0a 100644
> --- a/arch/arm/dts/uniphier-sld8-ref.dts
> +++ b/arch/arm/dts/uniphier-sld8-ref.dts
> @@ -72,12 +72,3 @@
>  &usb2 {
>         status = "okay";
>  };
> -
> -/* for U-Boot only */
> -&serial0 {
> -       u-boot,dm-pre-reloc;
> -};
> -
> -&pinctrl_uart0 {
> -       u-boot,dm-pre-reloc;
> -};
> diff --git a/arch/arm/dts/uniphier-sld8.dtsi b/arch/arm/dts/uniphier-sld8.dtsi
> index 70a5ea4..a3693b0 100644
> --- a/arch/arm/dts/uniphier-sld8.dtsi
> +++ b/arch/arm/dts/uniphier-sld8.dtsi
> @@ -50,7 +50,6 @@
>                 #size-cells = <1>;
>                 ranges;
>                 interrupt-parent = <&intc>;
> -               u-boot,dm-pre-reloc;
>
>                 l2: l2-cache@500c0000 {
>                         compatible = "socionext,uniphier-system-cache";
> @@ -299,11 +298,9 @@
>                         compatible = "socionext,uniphier-sld8-soc-glue",
>                                      "simple-mfd", "syscon";
>                         reg = <0x5f800000 0x2000>;
> -                       u-boot,dm-pre-reloc;
>
>                         pinctrl: pinctrl {
>                                 compatible = "socionext,uniphier-sld8-pinctrl";
> -                               u-boot,dm-pre-reloc;
>                         };
>                 };
>
> diff --git a/arch/arm/dts/uniphier-v7-u-boot.dtsi b/arch/arm/dts/uniphier-v7-u-boot.dtsi
> new file mode 100644
> index 0000000..4a0c9c0
> --- /dev/null
> +++ b/arch/arm/dts/uniphier-v7-u-boot.dtsi
> @@ -0,0 +1,61 @@
> +/ {
> +       soc {
> +               u-boot,dm-pre-reloc;
> +
> +               serial@54006800 {
> +                       u-boot,dm-pre-reloc;
> +               };
> +
> +               serial@54006900 {
> +                       u-boot,dm-pre-reloc;
> +               };
> +
> +               serial@54006a00 {
> +                       u-boot,dm-pre-reloc;
> +               };
> +
> +               mioctrl@59810000 {
> +                       u-boot,dm-pre-reloc;
> +
> +                       clock {
> +                               u-boot,dm-pre-reloc;
> +                       };
> +               };
> +
> +               sdctrl@59810000 {
> +                       u-boot,dm-pre-reloc;
> +
> +                       clock {
> +                               u-boot,dm-pre-reloc;
> +                       };
> +               };
> +
> +               soc-glue@5f800000 {
> +                       u-boot,dm-pre-reloc;
> +
> +                       pinctrl {
> +                               u-boot,dm-pre-reloc;
> +
> +                               emmc_grp {
> +                                       u-boot,dm-pre-reloc;
> +                               };
> +
> +                               uart0_grp {
> +                                       u-boot,dm-pre-reloc;
> +                               };
> +
> +                               uart1_grp {
> +                                       u-boot,dm-pre-reloc;
> +                               };
> +
> +                               uart2_grp {
> +                                       u-boot,dm-pre-reloc;
> +                               };
> +                       };
> +               };
> +       };
> +};

Does the existing dts need to in proper tree structure to split the
u-boot,dm-spl because I've tried same for i.MX6 but SPL couldn't find
mmc device [1]

[1] https://paste.ubuntu.com/25759239/

thanks!
Jagan Teki Oct. 17, 2017, 1:15 p.m. UTC | #2
On Tue, Oct 17, 2017 at 6:31 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
> On Tue, Oct 17, 2017 at 5:49 PM, Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
>> UniPhier 32-bit SoCs use CONFIG_SPL_OF_CONTROL.  So, many nodes must
>> be marked as dm-pre-reloc to prevent fdtgrep from stripping them off.
>>
>> Sprinkling U-Boot specific properties all over the place is painful
>> because DT files are synced with Linux from time to time.
>>
>> Split u-boot,dm-pre-reloc out to uniphier-v7-u-boot.dtsi, which is
>> appended to UniPhier V7 DTS before the build.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>> ---
>>
>>  arch/arm/dts/uniphier-ld4-ref.dts     |  9 ------
>>  arch/arm/dts/uniphier-ld4.dtsi        |  3 --
>>  arch/arm/dts/uniphier-ld6b-ref.dts    |  9 ------
>>  arch/arm/dts/uniphier-pro4-ace.dts    |  9 ------
>>  arch/arm/dts/uniphier-pro4-ref.dts    |  9 ------
>>  arch/arm/dts/uniphier-pro4-sanji.dts  | 21 ------------
>>  arch/arm/dts/uniphier-pro4.dtsi       |  4 ---
>>  arch/arm/dts/uniphier-pro5-4kbox.dts  |  9 ------
>>  arch/arm/dts/uniphier-pro5.dtsi       |  4 ---
>>  arch/arm/dts/uniphier-pxs2-gentil.dts | 21 ------------
>>  arch/arm/dts/uniphier-pxs2-vodka.dts  | 21 ------------
>>  arch/arm/dts/uniphier-pxs2.dtsi       |  4 ---
>>  arch/arm/dts/uniphier-sld8-ref.dts    |  9 ------
>>  arch/arm/dts/uniphier-sld8.dtsi       |  3 --
>>  arch/arm/dts/uniphier-v7-u-boot.dtsi  | 61 +++++++++++++++++++++++++++++++++++
>>  arch/arm/mach-uniphier/Kconfig        |  2 ++
>>  16 files changed, 63 insertions(+), 135 deletions(-)
>>  create mode 100644 arch/arm/dts/uniphier-v7-u-boot.dtsi
>>
>> diff --git a/arch/arm/dts/uniphier-ld4-ref.dts b/arch/arm/dts/uniphier-ld4-ref.dts
>> index 0f50acb..0fd66e7 100644
>> --- a/arch/arm/dts/uniphier-ld4-ref.dts
>> +++ b/arch/arm/dts/uniphier-ld4-ref.dts
>> @@ -68,12 +68,3 @@
>>  &usb1 {
>>         status = "okay";
>>  };
>> -
>> -/* for U-Boot only */
>> -&serial0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_uart0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> diff --git a/arch/arm/dts/uniphier-ld4.dtsi b/arch/arm/dts/uniphier-ld4.dtsi
>> index b816038..158beae 100644
>> --- a/arch/arm/dts/uniphier-ld4.dtsi
>> +++ b/arch/arm/dts/uniphier-ld4.dtsi
>> @@ -50,7 +50,6 @@
>>                 #size-cells = <1>;
>>                 ranges;
>>                 interrupt-parent = <&intc>;
>> -               u-boot,dm-pre-reloc;
>>
>>                 l2: l2-cache@500c0000 {
>>                         compatible = "socionext,uniphier-system-cache";
>> @@ -295,11 +294,9 @@
>>                         compatible = "socionext,uniphier-ld4-soc-glue",
>>                                      "simple-mfd", "syscon";
>>                         reg = <0x5f800000 0x2000>;
>> -                       u-boot,dm-pre-reloc;
>>
>>                         pinctrl: pinctrl {
>>                                 compatible = "socionext,uniphier-ld4-pinctrl";
>> -                               u-boot,dm-pre-reloc;
>>                         };
>>                 };
>>
>> diff --git a/arch/arm/dts/uniphier-ld6b-ref.dts b/arch/arm/dts/uniphier-ld6b-ref.dts
>> index bdb7f50..926d37e 100644
>> --- a/arch/arm/dts/uniphier-ld6b-ref.dts
>> +++ b/arch/arm/dts/uniphier-ld6b-ref.dts
>> @@ -70,12 +70,3 @@
>>  &usb1 {
>>         status = "okay";
>>  };
>> -
>> -/* for U-Boot only */
>> -&serial0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_uart0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> diff --git a/arch/arm/dts/uniphier-pro4-ace.dts b/arch/arm/dts/uniphier-pro4-ace.dts
>> index 8161ba8..60a8c33 100644
>> --- a/arch/arm/dts/uniphier-pro4-ace.dts
>> +++ b/arch/arm/dts/uniphier-pro4-ace.dts
>> @@ -90,12 +90,3 @@
>>  &usb3 {
>>         status = "okay";
>>  };
>> -
>> -/* for U-Boot only */
>> -&serial0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_uart0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> diff --git a/arch/arm/dts/uniphier-pro4-ref.dts b/arch/arm/dts/uniphier-pro4-ref.dts
>> index 360b31d..1b22f80 100644
>> --- a/arch/arm/dts/uniphier-pro4-ref.dts
>> +++ b/arch/arm/dts/uniphier-pro4-ref.dts
>> @@ -83,12 +83,3 @@
>>  &usb1 {
>>         status = "okay";
>>  };
>> -
>> -/* for U-Boot only */
>> -&serial0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_uart0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> diff --git a/arch/arm/dts/uniphier-pro4-sanji.dts b/arch/arm/dts/uniphier-pro4-sanji.dts
>> index 778e2bb..950f47a 100644
>> --- a/arch/arm/dts/uniphier-pro4-sanji.dts
>> +++ b/arch/arm/dts/uniphier-pro4-sanji.dts
>> @@ -85,24 +85,3 @@
>>  &usb3 {
>>         status = "okay";
>>  };
>> -
>> -/* for U-Boot only */
>> -&serial0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&mio_clk {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&emmc {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_uart0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_emmc {
>> -       u-boot,dm-pre-reloc;
>> -};
>> diff --git a/arch/arm/dts/uniphier-pro4.dtsi b/arch/arm/dts/uniphier-pro4.dtsi
>> index 5f39972..ea97e26 100644
>> --- a/arch/arm/dts/uniphier-pro4.dtsi
>> +++ b/arch/arm/dts/uniphier-pro4.dtsi
>> @@ -58,7 +58,6 @@
>>                 #size-cells = <1>;
>>                 ranges;
>>                 interrupt-parent = <&intc>;
>> -               u-boot,dm-pre-reloc;
>>
>>                 l2: l2-cache@500c0000 {
>>                         compatible = "socionext,uniphier-system-cache";
>> @@ -224,7 +223,6 @@
>>                         compatible = "socionext,uniphier-pro4-mioctrl",
>>                                      "simple-mfd", "syscon";
>>                         reg = <0x59810000 0x800>;
>> -                       u-boot,dm-pre-reloc;
>>
>>                         mio_clk: clock {
>>                                 compatible = "socionext,uniphier-pro4-mio-clock";
>> @@ -333,11 +331,9 @@
>>                         compatible = "socionext,uniphier-pro4-soc-glue",
>>                                      "simple-mfd", "syscon";
>>                         reg = <0x5f800000 0x2000>;
>> -                       u-boot,dm-pre-reloc;
>>
>>                         pinctrl: pinctrl {
>>                                 compatible = "socionext,uniphier-pro4-pinctrl";
>> -                               u-boot,dm-pre-reloc;
>>                         };
>>                 };
>>
>> diff --git a/arch/arm/dts/uniphier-pro5-4kbox.dts b/arch/arm/dts/uniphier-pro5-4kbox.dts
>> index 05597d3..1986a0b 100644
>> --- a/arch/arm/dts/uniphier-pro5-4kbox.dts
>> +++ b/arch/arm/dts/uniphier-pro5-4kbox.dts
>> @@ -55,12 +55,3 @@
>>  &sd {
>>         status = "okay";
>>  };
>> -
>> -/* for U-Boot only */
>> -&serial1 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_uart1 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> diff --git a/arch/arm/dts/uniphier-pro5.dtsi b/arch/arm/dts/uniphier-pro5.dtsi
>> index 950b02c..3be3acf 100644
>> --- a/arch/arm/dts/uniphier-pro5.dtsi
>> +++ b/arch/arm/dts/uniphier-pro5.dtsi
>> @@ -132,7 +132,6 @@
>>                 #size-cells = <1>;
>>                 ranges;
>>                 interrupt-parent = <&intc>;
>> -               u-boot,dm-pre-reloc;
>>
>>                 l2: l2-cache@500c0000 {
>>                         compatible = "socionext,uniphier-system-cache";
>> @@ -311,7 +310,6 @@
>>                         compatible = "socionext,uniphier-pro5-sdctrl",
>>                                      "simple-mfd", "syscon";
>>                         reg = <0x59810000 0x400>;
>> -                       u-boot,dm-pre-reloc;
>>
>>                         sd_clk: clock {
>>                                 compatible = "socionext,uniphier-pro5-sd-clock";
>> @@ -344,11 +342,9 @@
>>                         compatible = "socionext,uniphier-pro5-soc-glue",
>>                                      "simple-mfd", "syscon";
>>                         reg = <0x5f800000 0x2000>;
>> -                       u-boot,dm-pre-reloc;
>>
>>                         pinctrl: pinctrl {
>>                                 compatible = "socionext,uniphier-pro5-pinctrl";
>> -                               u-boot,dm-pre-reloc;
>>                         };
>>                 };
>>
>> diff --git a/arch/arm/dts/uniphier-pxs2-gentil.dts b/arch/arm/dts/uniphier-pxs2-gentil.dts
>> index 7f0f972..4397714 100644
>> --- a/arch/arm/dts/uniphier-pxs2-gentil.dts
>> +++ b/arch/arm/dts/uniphier-pxs2-gentil.dts
>> @@ -66,24 +66,3 @@
>>  &usb1 {
>>         status = "okay";
>>  };
>> -
>> -/* for U-Boot only */
>> -&serial2 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&sd_clk {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&emmc {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_uart2 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_emmc {
>> -       u-boot,dm-pre-reloc;
>> -};
>> diff --git a/arch/arm/dts/uniphier-pxs2-vodka.dts b/arch/arm/dts/uniphier-pxs2-vodka.dts
>> index ec9ffb7..d29096f 100644
>> --- a/arch/arm/dts/uniphier-pxs2-vodka.dts
>> +++ b/arch/arm/dts/uniphier-pxs2-vodka.dts
>> @@ -49,24 +49,3 @@
>>  &usb0 {
>>         status = "okay";
>>  };
>> -
>> -/* for U-Boot only */
>> -&serial2 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&sd_clk {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&emmc {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_uart2 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_emmc {
>> -       u-boot,dm-pre-reloc;
>> -};
>> diff --git a/arch/arm/dts/uniphier-pxs2.dtsi b/arch/arm/dts/uniphier-pxs2.dtsi
>> index ac84d15..dcb2515 100644
>> --- a/arch/arm/dts/uniphier-pxs2.dtsi
>> +++ b/arch/arm/dts/uniphier-pxs2.dtsi
>> @@ -120,7 +120,6 @@
>>                 #size-cells = <1>;
>>                 ranges;
>>                 interrupt-parent = <&intc>;
>> -               u-boot,dm-pre-reloc;
>>
>>                 l2: l2-cache@500c0000 {
>>                         compatible = "socionext,uniphier-system-cache";
>> @@ -297,7 +296,6 @@
>>                         compatible = "socionext,uniphier-pxs2-sdctrl",
>>                                      "simple-mfd", "syscon";
>>                         reg = <0x59810000 0x400>;
>> -                       u-boot,dm-pre-reloc;
>>
>>                         sd_clk: clock {
>>                                 compatible = "socionext,uniphier-pxs2-sd-clock";
>> @@ -365,11 +363,9 @@
>>                         compatible = "socionext,uniphier-pxs2-soc-glue",
>>                                      "simple-mfd", "syscon";
>>                         reg = <0x5f800000 0x2000>;
>> -                       u-boot,dm-pre-reloc;
>>
>>                         pinctrl: pinctrl {
>>                                 compatible = "socionext,uniphier-pxs2-pinctrl";
>> -                               u-boot,dm-pre-reloc;
>>                         };
>>                 };
>>
>> diff --git a/arch/arm/dts/uniphier-sld8-ref.dts b/arch/arm/dts/uniphier-sld8-ref.dts
>> index 3557bb7..478ee0a 100644
>> --- a/arch/arm/dts/uniphier-sld8-ref.dts
>> +++ b/arch/arm/dts/uniphier-sld8-ref.dts
>> @@ -72,12 +72,3 @@
>>  &usb2 {
>>         status = "okay";
>>  };
>> -
>> -/* for U-Boot only */
>> -&serial0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> -
>> -&pinctrl_uart0 {
>> -       u-boot,dm-pre-reloc;
>> -};
>> diff --git a/arch/arm/dts/uniphier-sld8.dtsi b/arch/arm/dts/uniphier-sld8.dtsi
>> index 70a5ea4..a3693b0 100644
>> --- a/arch/arm/dts/uniphier-sld8.dtsi
>> +++ b/arch/arm/dts/uniphier-sld8.dtsi
>> @@ -50,7 +50,6 @@
>>                 #size-cells = <1>;
>>                 ranges;
>>                 interrupt-parent = <&intc>;
>> -               u-boot,dm-pre-reloc;
>>
>>                 l2: l2-cache@500c0000 {
>>                         compatible = "socionext,uniphier-system-cache";
>> @@ -299,11 +298,9 @@
>>                         compatible = "socionext,uniphier-sld8-soc-glue",
>>                                      "simple-mfd", "syscon";
>>                         reg = <0x5f800000 0x2000>;
>> -                       u-boot,dm-pre-reloc;
>>
>>                         pinctrl: pinctrl {
>>                                 compatible = "socionext,uniphier-sld8-pinctrl";
>> -                               u-boot,dm-pre-reloc;
>>                         };
>>                 };
>>
>> diff --git a/arch/arm/dts/uniphier-v7-u-boot.dtsi b/arch/arm/dts/uniphier-v7-u-boot.dtsi
>> new file mode 100644
>> index 0000000..4a0c9c0
>> --- /dev/null
>> +++ b/arch/arm/dts/uniphier-v7-u-boot.dtsi
>> @@ -0,0 +1,61 @@
>> +/ {
>> +       soc {
>> +               u-boot,dm-pre-reloc;
>> +
>> +               serial@54006800 {
>> +                       u-boot,dm-pre-reloc;
>> +               };
>> +
>> +               serial@54006900 {
>> +                       u-boot,dm-pre-reloc;
>> +               };
>> +
>> +               serial@54006a00 {
>> +                       u-boot,dm-pre-reloc;
>> +               };
>> +
>> +               mioctrl@59810000 {
>> +                       u-boot,dm-pre-reloc;
>> +
>> +                       clock {
>> +                               u-boot,dm-pre-reloc;
>> +                       };
>> +               };
>> +
>> +               sdctrl@59810000 {
>> +                       u-boot,dm-pre-reloc;
>> +
>> +                       clock {
>> +                               u-boot,dm-pre-reloc;
>> +                       };
>> +               };
>> +
>> +               soc-glue@5f800000 {
>> +                       u-boot,dm-pre-reloc;
>> +
>> +                       pinctrl {
>> +                               u-boot,dm-pre-reloc;
>> +
>> +                               emmc_grp {
>> +                                       u-boot,dm-pre-reloc;
>> +                               };
>> +
>> +                               uart0_grp {
>> +                                       u-boot,dm-pre-reloc;
>> +                               };
>> +
>> +                               uart1_grp {
>> +                                       u-boot,dm-pre-reloc;
>> +                               };
>> +
>> +                               uart2_grp {
>> +                                       u-boot,dm-pre-reloc;
>> +                               };
>> +                       };
>> +               };
>> +       };
>> +};
>
> Does the existing dts need to in proper tree structure to split the
> u-boot,dm-spl because I've tried same for i.MX6 but SPL couldn't find
> mmc device [1]
>
> [1] https://paste.ubuntu.com/25759239/

Yeah, got it I've incorrect SYS_SOC

thanks!
Jagan Teki Oct. 17, 2017, 1:16 p.m. UTC | #3
On Tue, Oct 17, 2017 at 5:49 PM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> UniPhier 32-bit SoCs use CONFIG_SPL_OF_CONTROL.  So, many nodes must
> be marked as dm-pre-reloc to prevent fdtgrep from stripping them off.
>
> Sprinkling U-Boot specific properties all over the place is painful
> because DT files are synced with Linux from time to time.
>
> Split u-boot,dm-pre-reloc out to uniphier-v7-u-boot.dtsi, which is
> appended to UniPhier V7 DTS before the build.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---

Reviewed-by: Jagan Teki <jagan@openedev.com>

thanks!
diff mbox series

Patch

diff --git a/arch/arm/dts/uniphier-ld4-ref.dts b/arch/arm/dts/uniphier-ld4-ref.dts
index 0f50acb..0fd66e7 100644
--- a/arch/arm/dts/uniphier-ld4-ref.dts
+++ b/arch/arm/dts/uniphier-ld4-ref.dts
@@ -68,12 +68,3 @@ 
 &usb1 {
 	status = "okay";
 };
-
-/* for U-Boot only */
-&serial0 {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_uart0 {
-	u-boot,dm-pre-reloc;
-};
diff --git a/arch/arm/dts/uniphier-ld4.dtsi b/arch/arm/dts/uniphier-ld4.dtsi
index b816038..158beae 100644
--- a/arch/arm/dts/uniphier-ld4.dtsi
+++ b/arch/arm/dts/uniphier-ld4.dtsi
@@ -50,7 +50,6 @@ 
 		#size-cells = <1>;
 		ranges;
 		interrupt-parent = <&intc>;
-		u-boot,dm-pre-reloc;
 
 		l2: l2-cache@500c0000 {
 			compatible = "socionext,uniphier-system-cache";
@@ -295,11 +294,9 @@ 
 			compatible = "socionext,uniphier-ld4-soc-glue",
 				     "simple-mfd", "syscon";
 			reg = <0x5f800000 0x2000>;
-			u-boot,dm-pre-reloc;
 
 			pinctrl: pinctrl {
 				compatible = "socionext,uniphier-ld4-pinctrl";
-				u-boot,dm-pre-reloc;
 			};
 		};
 
diff --git a/arch/arm/dts/uniphier-ld6b-ref.dts b/arch/arm/dts/uniphier-ld6b-ref.dts
index bdb7f50..926d37e 100644
--- a/arch/arm/dts/uniphier-ld6b-ref.dts
+++ b/arch/arm/dts/uniphier-ld6b-ref.dts
@@ -70,12 +70,3 @@ 
 &usb1 {
 	status = "okay";
 };
-
-/* for U-Boot only */
-&serial0 {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_uart0 {
-	u-boot,dm-pre-reloc;
-};
diff --git a/arch/arm/dts/uniphier-pro4-ace.dts b/arch/arm/dts/uniphier-pro4-ace.dts
index 8161ba8..60a8c33 100644
--- a/arch/arm/dts/uniphier-pro4-ace.dts
+++ b/arch/arm/dts/uniphier-pro4-ace.dts
@@ -90,12 +90,3 @@ 
 &usb3 {
 	status = "okay";
 };
-
-/* for U-Boot only */
-&serial0 {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_uart0 {
-	u-boot,dm-pre-reloc;
-};
diff --git a/arch/arm/dts/uniphier-pro4-ref.dts b/arch/arm/dts/uniphier-pro4-ref.dts
index 360b31d..1b22f80 100644
--- a/arch/arm/dts/uniphier-pro4-ref.dts
+++ b/arch/arm/dts/uniphier-pro4-ref.dts
@@ -83,12 +83,3 @@ 
 &usb1 {
 	status = "okay";
 };
-
-/* for U-Boot only */
-&serial0 {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_uart0 {
-	u-boot,dm-pre-reloc;
-};
diff --git a/arch/arm/dts/uniphier-pro4-sanji.dts b/arch/arm/dts/uniphier-pro4-sanji.dts
index 778e2bb..950f47a 100644
--- a/arch/arm/dts/uniphier-pro4-sanji.dts
+++ b/arch/arm/dts/uniphier-pro4-sanji.dts
@@ -85,24 +85,3 @@ 
 &usb3 {
 	status = "okay";
 };
-
-/* for U-Boot only */
-&serial0 {
-	u-boot,dm-pre-reloc;
-};
-
-&mio_clk {
-	u-boot,dm-pre-reloc;
-};
-
-&emmc {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_uart0 {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_emmc {
-	u-boot,dm-pre-reloc;
-};
diff --git a/arch/arm/dts/uniphier-pro4.dtsi b/arch/arm/dts/uniphier-pro4.dtsi
index 5f39972..ea97e26 100644
--- a/arch/arm/dts/uniphier-pro4.dtsi
+++ b/arch/arm/dts/uniphier-pro4.dtsi
@@ -58,7 +58,6 @@ 
 		#size-cells = <1>;
 		ranges;
 		interrupt-parent = <&intc>;
-		u-boot,dm-pre-reloc;
 
 		l2: l2-cache@500c0000 {
 			compatible = "socionext,uniphier-system-cache";
@@ -224,7 +223,6 @@ 
 			compatible = "socionext,uniphier-pro4-mioctrl",
 				     "simple-mfd", "syscon";
 			reg = <0x59810000 0x800>;
-			u-boot,dm-pre-reloc;
 
 			mio_clk: clock {
 				compatible = "socionext,uniphier-pro4-mio-clock";
@@ -333,11 +331,9 @@ 
 			compatible = "socionext,uniphier-pro4-soc-glue",
 				     "simple-mfd", "syscon";
 			reg = <0x5f800000 0x2000>;
-			u-boot,dm-pre-reloc;
 
 			pinctrl: pinctrl {
 				compatible = "socionext,uniphier-pro4-pinctrl";
-				u-boot,dm-pre-reloc;
 			};
 		};
 
diff --git a/arch/arm/dts/uniphier-pro5-4kbox.dts b/arch/arm/dts/uniphier-pro5-4kbox.dts
index 05597d3..1986a0b 100644
--- a/arch/arm/dts/uniphier-pro5-4kbox.dts
+++ b/arch/arm/dts/uniphier-pro5-4kbox.dts
@@ -55,12 +55,3 @@ 
 &sd {
 	status = "okay";
 };
-
-/* for U-Boot only */
-&serial1 {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_uart1 {
-	u-boot,dm-pre-reloc;
-};
diff --git a/arch/arm/dts/uniphier-pro5.dtsi b/arch/arm/dts/uniphier-pro5.dtsi
index 950b02c..3be3acf 100644
--- a/arch/arm/dts/uniphier-pro5.dtsi
+++ b/arch/arm/dts/uniphier-pro5.dtsi
@@ -132,7 +132,6 @@ 
 		#size-cells = <1>;
 		ranges;
 		interrupt-parent = <&intc>;
-		u-boot,dm-pre-reloc;
 
 		l2: l2-cache@500c0000 {
 			compatible = "socionext,uniphier-system-cache";
@@ -311,7 +310,6 @@ 
 			compatible = "socionext,uniphier-pro5-sdctrl",
 				     "simple-mfd", "syscon";
 			reg = <0x59810000 0x400>;
-			u-boot,dm-pre-reloc;
 
 			sd_clk: clock {
 				compatible = "socionext,uniphier-pro5-sd-clock";
@@ -344,11 +342,9 @@ 
 			compatible = "socionext,uniphier-pro5-soc-glue",
 				     "simple-mfd", "syscon";
 			reg = <0x5f800000 0x2000>;
-			u-boot,dm-pre-reloc;
 
 			pinctrl: pinctrl {
 				compatible = "socionext,uniphier-pro5-pinctrl";
-				u-boot,dm-pre-reloc;
 			};
 		};
 
diff --git a/arch/arm/dts/uniphier-pxs2-gentil.dts b/arch/arm/dts/uniphier-pxs2-gentil.dts
index 7f0f972..4397714 100644
--- a/arch/arm/dts/uniphier-pxs2-gentil.dts
+++ b/arch/arm/dts/uniphier-pxs2-gentil.dts
@@ -66,24 +66,3 @@ 
 &usb1 {
 	status = "okay";
 };
-
-/* for U-Boot only */
-&serial2 {
-	u-boot,dm-pre-reloc;
-};
-
-&sd_clk {
-	u-boot,dm-pre-reloc;
-};
-
-&emmc {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_uart2 {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_emmc {
-	u-boot,dm-pre-reloc;
-};
diff --git a/arch/arm/dts/uniphier-pxs2-vodka.dts b/arch/arm/dts/uniphier-pxs2-vodka.dts
index ec9ffb7..d29096f 100644
--- a/arch/arm/dts/uniphier-pxs2-vodka.dts
+++ b/arch/arm/dts/uniphier-pxs2-vodka.dts
@@ -49,24 +49,3 @@ 
 &usb0 {
 	status = "okay";
 };
-
-/* for U-Boot only */
-&serial2 {
-	u-boot,dm-pre-reloc;
-};
-
-&sd_clk {
-	u-boot,dm-pre-reloc;
-};
-
-&emmc {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_uart2 {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_emmc {
-	u-boot,dm-pre-reloc;
-};
diff --git a/arch/arm/dts/uniphier-pxs2.dtsi b/arch/arm/dts/uniphier-pxs2.dtsi
index ac84d15..dcb2515 100644
--- a/arch/arm/dts/uniphier-pxs2.dtsi
+++ b/arch/arm/dts/uniphier-pxs2.dtsi
@@ -120,7 +120,6 @@ 
 		#size-cells = <1>;
 		ranges;
 		interrupt-parent = <&intc>;
-		u-boot,dm-pre-reloc;
 
 		l2: l2-cache@500c0000 {
 			compatible = "socionext,uniphier-system-cache";
@@ -297,7 +296,6 @@ 
 			compatible = "socionext,uniphier-pxs2-sdctrl",
 				     "simple-mfd", "syscon";
 			reg = <0x59810000 0x400>;
-			u-boot,dm-pre-reloc;
 
 			sd_clk: clock {
 				compatible = "socionext,uniphier-pxs2-sd-clock";
@@ -365,11 +363,9 @@ 
 			compatible = "socionext,uniphier-pxs2-soc-glue",
 				     "simple-mfd", "syscon";
 			reg = <0x5f800000 0x2000>;
-			u-boot,dm-pre-reloc;
 
 			pinctrl: pinctrl {
 				compatible = "socionext,uniphier-pxs2-pinctrl";
-				u-boot,dm-pre-reloc;
 			};
 		};
 
diff --git a/arch/arm/dts/uniphier-sld8-ref.dts b/arch/arm/dts/uniphier-sld8-ref.dts
index 3557bb7..478ee0a 100644
--- a/arch/arm/dts/uniphier-sld8-ref.dts
+++ b/arch/arm/dts/uniphier-sld8-ref.dts
@@ -72,12 +72,3 @@ 
 &usb2 {
 	status = "okay";
 };
-
-/* for U-Boot only */
-&serial0 {
-	u-boot,dm-pre-reloc;
-};
-
-&pinctrl_uart0 {
-	u-boot,dm-pre-reloc;
-};
diff --git a/arch/arm/dts/uniphier-sld8.dtsi b/arch/arm/dts/uniphier-sld8.dtsi
index 70a5ea4..a3693b0 100644
--- a/arch/arm/dts/uniphier-sld8.dtsi
+++ b/arch/arm/dts/uniphier-sld8.dtsi
@@ -50,7 +50,6 @@ 
 		#size-cells = <1>;
 		ranges;
 		interrupt-parent = <&intc>;
-		u-boot,dm-pre-reloc;
 
 		l2: l2-cache@500c0000 {
 			compatible = "socionext,uniphier-system-cache";
@@ -299,11 +298,9 @@ 
 			compatible = "socionext,uniphier-sld8-soc-glue",
 				     "simple-mfd", "syscon";
 			reg = <0x5f800000 0x2000>;
-			u-boot,dm-pre-reloc;
 
 			pinctrl: pinctrl {
 				compatible = "socionext,uniphier-sld8-pinctrl";
-				u-boot,dm-pre-reloc;
 			};
 		};
 
diff --git a/arch/arm/dts/uniphier-v7-u-boot.dtsi b/arch/arm/dts/uniphier-v7-u-boot.dtsi
new file mode 100644
index 0000000..4a0c9c0
--- /dev/null
+++ b/arch/arm/dts/uniphier-v7-u-boot.dtsi
@@ -0,0 +1,61 @@ 
+/ {
+	soc {
+		u-boot,dm-pre-reloc;
+
+		serial@54006800 {
+			u-boot,dm-pre-reloc;
+		};
+
+		serial@54006900 {
+			u-boot,dm-pre-reloc;
+		};
+
+		serial@54006a00 {
+			u-boot,dm-pre-reloc;
+		};
+
+		mioctrl@59810000 {
+			u-boot,dm-pre-reloc;
+
+			clock {
+				u-boot,dm-pre-reloc;
+			};
+		};
+
+		sdctrl@59810000 {
+			u-boot,dm-pre-reloc;
+
+			clock {
+				u-boot,dm-pre-reloc;
+			};
+		};
+
+		soc-glue@5f800000 {
+			u-boot,dm-pre-reloc;
+
+			pinctrl {
+				u-boot,dm-pre-reloc;
+
+				emmc_grp {
+					u-boot,dm-pre-reloc;
+				};
+
+				uart0_grp {
+					u-boot,dm-pre-reloc;
+				};
+
+				uart1_grp {
+					u-boot,dm-pre-reloc;
+				};
+
+				uart2_grp {
+					u-boot,dm-pre-reloc;
+				};
+			};
+		};
+	};
+};
+
+&emmc {
+	u-boot,dm-pre-reloc;
+};
diff --git a/arch/arm/mach-uniphier/Kconfig b/arch/arm/mach-uniphier/Kconfig
index de3bdc0..cc759b3 100644
--- a/arch/arm/mach-uniphier/Kconfig
+++ b/arch/arm/mach-uniphier/Kconfig
@@ -117,4 +117,6 @@  config CMD_DDRMPHY_DUMP
 	  The command "ddrmphy" shows the resulting parameters of DDR Multi PHY
 	  training; it is useful for the evaluation of DDR Multi PHY training.
 
+config SYS_SOC
+	default "uniphier-v7" if ARCH_UNIPHIER_LD4_SLD8 || ARCH_UNIPHIER_V7_MULTI
 endif