[U-Boot] [PATCH v1 2/9] arm: dts: imx7: colibri: split dt for raw NAND and eMMC devices
Marcel Ziswiler
marcel.ziswiler at toradex.com
Mon Jan 7 20:21:31 UTC 2019
On Mon, 2019-01-07 at 17:33 +0100, Stefan Agner wrote:
> On 07.01.2019 00:18, Marcel Ziswiler wrote:
> > On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> > > From: Stefan Agner <stefan.agner at toradex.com>
> > >
> > > In preparation of adding CONFIG_DM_MMC support use separate
> > > device
> > > trees for raw NAND and eMMC devices.
> > >
> > > Signed-off-by: Stefan Agner <stefan.agner at toradex.com>
> > > ---
> > >
> > > arch/arm/dts/imx7-colibri-emmc.dts | 16 +++++++
> > > arch/arm/dts/imx7-colibri-rawnand.dts | 46
> > > +++++++++++++++++++
> > > .../{imx7-colibri.dts => imx7-colibri.dtsi} | 39 +----------
> > > -----
> >
> > I believe renaming that one also needs changes in resp. Makefile
> > otherwise leading to the following:
> >
> > make[3]: *** No rule to make target 'arch/arm/dts/imx7-
> > colibri.dtb',
> > needed by 'dtbs'. Stop.
>
> Good catch, I definitely need to remove imx7-colibri.dtb there.
>
> > Plus you may want to add the eMMC one as well e.g. as follows:
> >
> > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> > index dda4e59491..9596b2a64f 100644
> > --- a/arch/arm/dts/Makefile
> > +++ b/arch/arm/dts/Makefile
> > @@ -458,7 +458,8 @@ dtb-$(CONFIG_MX6UL) += \
> >
> > dtb-$(CONFIG_MX6ULL) += imx6ull-14x14-evk.dtb
> >
> > -dtb-$(CONFIG_MX7) += imx7-colibri.dtb \
> > +dtb-$(CONFIG_MX7) += imx7-colibri-emmc.dtb \
> > + imx7-colibri-rawnand.dtb \
> > imx7d-sdb.dtb \
> > imx7d-sdb-qspi.dtb
>
> It seems that removing is actually sufficient. dtc/Makefile along
> with
> CONFIG_OF_EMBED actually builds the device tree specified in the
> config
> file automatically. Should we still add board device trees to
> arch/arm/dts/Makefile?
Ah, that's why. I don't see much of an advantage having them all in
there then.
> @Stefano/ML any preference?
>
>
> > BTW: Remember, I am not too big of a fan of renaming stuff and
> > everywhere else we so far did not call anything -rawnand as of yet.
> > However, in general I agree that this would be more clear and if
> > you do
> > clean-up the rest of the world(TM) in a similar fashion I am OK
> > with
> > it.
> >
>
> I don't _re_name, I just name :-)
Yeah, but I do know how a git rename looks like (;-p). So you are
cheating just a tiny little bit!
> When we had to name the dt's in the
> kernel, we did not knew that there will be an eMMC variant. It's a
> different start condition here.
Sure.
> Also mind that device trees are named differently: Since we use the
> same
> boot loader for i.MX 7S and 7D, I dropped a letter there too...
Yep, fully aware of this and fully agree.
> IMHO,
> renaming the dt in Linux now is too much churn. So I suggest either
> leave as is in Kernel and deviate a bit in U-Boot or drop -rawnand in
> U-Boot, what do you think?
No, I'm fine with it. With the Makefile fixed:
Acked-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> --
> Stefan
>
> > > board/toradex/colibri_imx7/MAINTAINERS | 3 ++
> > > configs/colibri_imx7_defconfig | 2 +-
> > > 5 files changed, 67 insertions(+), 39 deletions(-)
> > > create mode 100644 arch/arm/dts/imx7-colibri-emmc.dts
> > > create mode 100644 arch/arm/dts/imx7-colibri-rawnand.dts
> > > rename arch/arm/dts/{imx7-colibri.dts => imx7-colibri.dtsi}
> > > (65%)
> > >
> > > diff --git a/arch/arm/dts/imx7-colibri-emmc.dts
> > > b/arch/arm/dts/imx7-
> > > colibri-emmc.dts
> > > new file mode 100644
> > > index 0000000000..295ca05916
> > > --- /dev/null
> > > +++ b/arch/arm/dts/imx7-colibri-emmc.dts
> > > @@ -0,0 +1,16 @@
> > > +// SPDX-License-Identifier: GPL-2.0+ OR X11
> >
> > Don't we rather want GPL-2.0 OR MIT?
> >
> > > +/*
> > > + * Copyright 2019 Toradex AG
> > > + */
> > > +
> > > +/dts-v1/;
> > > +#include "imx7-colibri.dtsi"
> > > +
> > > +/ {
> > > + model = "Toradex Colibri iMX7D 1GB (eMMC)";
> > > + compatible = "toradex,imx7d-colibri-emmc", "fsl,imx7d";
> > > +
> > > + chosen {
> > > + stdout-path = &uart1;
> > > + };
> > > +};
> >
> > I guess the meat-on-the-bone will follow (;-p).
> >
> > > diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts
> > > b/arch/arm/dts/imx7-colibri-rawnand.dts
> > > new file mode 100644
> > > index 0000000000..4eb86fb011
> > > --- /dev/null
> > > +++ b/arch/arm/dts/imx7-colibri-rawnand.dts
> > > @@ -0,0 +1,46 @@
> > > +// SPDX-License-Identifier: GPL-2.0+ OR X11
> >
> > Dito.
> >
> > > +/*
> > > + * Copyright 2019 Toradex AG
> > > + */
> > > +
> > > +/dts-v1/;
> > > +#include "imx7-colibri.dtsi"
> > > +
> > > +/ {
> > > + model = "Toradex Colibri iMX7S/D";
> > > + compatible = "toradex,imx7-colibri", "fsl,imx7";
> > > +
> > > + chosen {
> > > + stdout-path = &uart1;
> > > + };
> > > +};
> > > +
> > > +&gpmi {
> > > + pinctrl-names = "default";
> > > + pinctrl-0 = <&pinctrl_gpmi_nand>;
> > > + ,use-minimum-ecc;
> > > + nand-on-flash-bbt;
> > > + -ecc-mode = "hw";
> > > + status = "okay";
> > > +};
> > > +
> > > +&iomuxc {
> > > + pinctrl_gpmi_nand: gpmi-nand-grp {
> > > + fsl,pins = <
> > > + MX7D_PAD_SD3_CLK__NAND_CLE 0x71
> > > + MX7D_PAD_SD3_CMD__NAND_ALE 0x71
> > > + MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B 0x71
> > > + MX7D_PAD_SAI1_TX_DATA__NAND_READY_B 0x74
> > > + MX7D_PAD_SD3_STROBE__NAND_RE_B 0
> > > x71
> > > + MX7D_PAD_SD3_RESET_B__NAND_WE_B 0
> > > x71
> > > + MX7D_PAD_SD3_DATA0__NAND_DATA00 0
> > > x71
> > > + MX7D_PAD_SD3_DATA1__NAND_DATA01 0
> > > x71
> > > + MX7D_PAD_SD3_DATA2__NAND_DATA02 0
> > > x71
> > > + MX7D_PAD_SD3_DATA3__NAND_DATA03 0
> > > x71
> > > + MX7D_PAD_SD3_DATA4__NAND_DATA04 0
> > > x71
> > > + MX7D_PAD_SD3_DATA5__NAND_DATA05 0
> > > x71
> > > + MX7D_PAD_SD3_DATA6__NAND_DATA06 0
> > > x71
> > > + MX7D_PAD_SD3_DATA7__NAND_DATA07 0
> > > x71
> > > + >;
> > > + };
> > > +};
> > > diff --git a/arch/arm/dts/imx7-colibri.dts b/arch/arm/dts/imx7-
> > > colibri.dtsi
> > > similarity index 65%
> > > rename from arch/arm/dts/imx7-colibri.dts
> > > rename to arch/arm/dts/imx7-colibri.dtsi
> > > index dca501be25..47295117aa 100644
> > > --- a/arch/arm/dts/imx7-colibri.dts
> > > +++ b/arch/arm/dts/imx7-colibri.dtsi
> > > @@ -1,30 +1,12 @@
> > > // SPDX-License-Identifier: GPL-2.0+ OR X11
> > > /*
> > > - * Copyright 2016 Toradex AG
> > > + * Copyright 2016-2019 Toradex AG
> > > */
> > >
> > > /dts-v1/;
> > > #include <dt-bindings/gpio/gpio.h>
> > > #include "imx7d.dtsi"
> > >
> > > -/ {
> > > - model = "Toradex Colibri iMX7S/D";
> > > - compatible = "toradex,imx7-colibri", "fsl,imx7";
> > > -
> > > - chosen {
> > > - stdout-path = &uart1;
> > > - };
> > > -};
> > > -
> > > -&gpmi {
> > > - pinctrl-names = "default";
> > > - pinctrl-0 = <&pinctrl_gpmi_nand>;
> > > - fsl,use-minimum-ecc;
> > > - nand-on-flash-bbt;
> > > - nand-ecc-mode = "hw";
> > > - status = "okay";
> > > -};
> > > -
> > > &i2c1 {
> > > pinctrl-names = "default", "gpio";
> > > pinctrl-0 = <&pinctrl_i2c1>;
> > > @@ -57,25 +39,6 @@
> > > };
> > >
> > > &iomuxc {
> > > - pinctrl_gpmi_nand: gpmi-nand-grp {
> > > - fsl,pins = <
> > > - MX7D_PAD_SD3_CLK__NAND_CLE 0x71
> > > - MX7D_PAD_SD3_CMD__NAND_ALE 0x71
> > > - MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B 0x71
> > > - MX7D_PAD_SAI1_TX_DATA__NAND_READY_B 0x74
> > > - MX7D_PAD_SD3_STROBE__NAND_RE_B 0
> > > x71
> > > - MX7D_PAD_SD3_RESET_B__NAND_WE_B 0
> > > x71
> > > - MX7D_PAD_SD3_DATA0__NAND_DATA00 0
> > > x71
> > > - MX7D_PAD_SD3_DATA1__NAND_DATA01 0
> > > x71
> > > - MX7D_PAD_SD3_DATA2__NAND_DATA02 0
> > > x71
> > > - MX7D_PAD_SD3_DATA3__NAND_DATA03 0
> > > x71
> > > - MX7D_PAD_SD3_DATA4__NAND_DATA04 0
> > > x71
> > > - MX7D_PAD_SD3_DATA5__NAND_DATA05 0
> > > x71
> > > - MX7D_PAD_SD3_DATA6__NAND_DATA06 0
> > > x71
> > > - MX7D_PAD_SD3_DATA7__NAND_DATA07 0
> > > x71
> > > - >;
> > > - };
> > > -
> > > pinctrl_i2c4: i2c4-grp {
> > > fsl,pins = <
> > > MX7D_PAD_ENET1_RGMII_TD3__I2C4_SDA 0x400
> > > 0007f
> > > diff --git a/board/toradex/colibri_imx7/MAINTAINERS
> > > b/board/toradex/colibri_imx7/MAINTAINERS
> > > index 9c1d42aa8c..f55f8045f4 100644
> > > --- a/board/toradex/colibri_imx7/MAINTAINERS
> > > +++ b/board/toradex/colibri_imx7/MAINTAINERS
> > > @@ -8,3 +8,6 @@ F: board/toradex/colibri_imx7/
> > > F: include/configs/colibri_imx7.h
> > > F: configs/colibri_imx7_defconfig
> > > F: configs/colibri_imx7_emmc_defconfig
> >
> > I guess that one follows later as well (;-p).
> >
> > > +F: arch/arm/dts/imx7-colibri.dtsi
> > > +F: arch/arm/dts/imx7-colibri-emmc.dts
> > > +F: arch/arm/dts/imx7-colibri-rawnand.dts
> > > diff --git a/configs/colibri_imx7_defconfig
> > > b/configs/colibri_imx7_defconfig
> > > index 7b496bcea9..7441102ed4 100644
> > > --- a/configs/colibri_imx7_defconfig
> > > +++ b/configs/colibri_imx7_defconfig
> > > @@ -43,7 +43,7 @@ CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-
> > > nand:512k(mx7-bcb),1536k(u-boot1)ro,1536k
> > > CONFIG_CMD_UBI=y
> > > CONFIG_OF_CONTROL=y
> > > CONFIG_OF_EMBED=y
> > > -CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri"
> > > +CONFIG_DEFAULT_DEVICE_TREE="imx7-colibri-rawnand"
> > > CONFIG_ENV_IS_IN_NAND=y
> > > CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
> > > CONFIG_DFU_MMC=y
More information about the U-Boot
mailing list