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