[U-Boot] [PATCH v1 2/9] arm: dts: imx7: colibri: split dt for raw NAND and eMMC devices
Stefan Agner
stefan at agner.ch
Mon Jan 7 16:33:20 UTC 2019
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?
@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 :-) 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.
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... 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?
--
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 0x71
>> + MX7D_PAD_SD3_RESET_B__NAND_WE_B 0x71
>> + MX7D_PAD_SD3_DATA0__NAND_DATA00 0x71
>> + MX7D_PAD_SD3_DATA1__NAND_DATA01 0x71
>> + MX7D_PAD_SD3_DATA2__NAND_DATA02 0x71
>> + MX7D_PAD_SD3_DATA3__NAND_DATA03 0x71
>> + MX7D_PAD_SD3_DATA4__NAND_DATA04 0x71
>> + MX7D_PAD_SD3_DATA5__NAND_DATA05 0x71
>> + MX7D_PAD_SD3_DATA6__NAND_DATA06 0x71
>> + MX7D_PAD_SD3_DATA7__NAND_DATA07 0x71
>> + >;
>> + };
>> +};
>> 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 0x71
>> - MX7D_PAD_SD3_RESET_B__NAND_WE_B 0x71
>> - MX7D_PAD_SD3_DATA0__NAND_DATA00 0x71
>> - MX7D_PAD_SD3_DATA1__NAND_DATA01 0x71
>> - MX7D_PAD_SD3_DATA2__NAND_DATA02 0x71
>> - MX7D_PAD_SD3_DATA3__NAND_DATA03 0x71
>> - MX7D_PAD_SD3_DATA4__NAND_DATA04 0x71
>> - MX7D_PAD_SD3_DATA5__NAND_DATA05 0x71
>> - MX7D_PAD_SD3_DATA6__NAND_DATA06 0x71
>> - MX7D_PAD_SD3_DATA7__NAND_DATA07 0x71
>> - >;
>> - };
>> -
>> 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