Message ID | 20200730233533.81859-1-marex@denx.de |
---|---|
State | Accepted |
Commit | 49650c75119ef761d0e3bd9c7e8b33d8eef4b755 |
Delegated to: | Patrice Chotard |
Headers | show |
Series | ARM: stm32: Add both PDK2 and DRC02 DT into DHCOM fitImage its | expand |
Hi Marek On 7/31/20 1:35 AM, Marek Vasut wrote: > Include both PDK2 and DRC02 DTs in the DHCOM fitImage .its and implement > support in SPL to select the correct configuration entry for U-Boot by > using the machine compatible string from SPL DT. > > Signed-off-by: Marek Vasut <marex@denx.de> > Cc: Patrice Chotard <patrice.chotard@st.com> > Cc: Patrick Delaunay <patrick.delaunay@st.com> > --- > board/dhelectronics/dh_stm32mp1/board.c | 8 ++++++-- > .../dhelectronics/dh_stm32mp1/u-boot-dhcom.its | 18 +++++++++++++++++- > .../dhelectronics/dh_stm32mp1/u-boot-dhcor.its | 3 ++- > configs/stm32mp15_dhcom_basic_defconfig | 1 + > 4 files changed, 26 insertions(+), 4 deletions(-) > > diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c > index 17018716fd..c9abe3cc6d 100644 > --- a/board/dhelectronics/dh_stm32mp1/board.c > +++ b/board/dhelectronics/dh_stm32mp1/board.c > @@ -237,9 +237,13 @@ int board_early_init_f(void) > #ifdef CONFIG_SPL_LOAD_FIT > int board_fit_config_name_match(const char *name) > { > - char test[20]; > + const char *compat; > + char test[128]; > > - snprintf(test, sizeof(test), "somrev%d_boardrev%d", somcode, brdcode); > + compat = fdt_getprop(gd->fdt_blob, 0, "compatible", NULL); > + > + snprintf(test, sizeof(test), "%s_somrev%d_boardrev%d", > + compat, somcode, brdcode); > > if (!strcmp(name, test)) > return 0; > diff --git a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its > index 2776c41af1..d8a1a28a11 100644 > --- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its > +++ b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its > @@ -23,17 +23,33 @@ > arch = "arm"; > compression = "none"; > }; > + > + fdt-2 { > + description = ".dtb"; > + data = /incbin/("arch/arm/dts/stm32mp15xx-dhcom-drc02.dtb"); > + type = "flat_dt"; > + arch = "arm"; > + compression = "none"; > + }; > }; > > configurations { > default = "config-1"; > > config-1 { > - description = "somrev0_boardrev0"; /* SoM+board model */ > + /* DT+SoM+board model */ > + description = "dh,stm32mp15xx-dhcom-pdk2_somrev0_boardrev0"; > loadables = "uboot"; > fdt = "fdt-1"; > }; > > + config-2 { > + /* DT+SoM+board model */ > + description = "dh,stm32mp15xx-dhcom-drc02_somrev0_boardrev0"; > + loadables = "uboot"; > + fdt = "fdt-2"; > + }; > + > /* Add 587-100..587-400 with fdt-2..fdt-4 here */ > }; > }; > diff --git a/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its b/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its > index 8844508f1a..7419684f55 100644 > --- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its > +++ b/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its > @@ -29,7 +29,8 @@ > default = "config-1"; > > config-1 { > - description = "somrev0_boardrev1"; /* SoM+board model */ > + /* DT+SoM+board model */ > + description = "arrow,stm32mp15xx-avenger96_somrev0_boardrev1"; > loadables = "uboot"; > fdt = "fdt-1"; > }; > diff --git a/configs/stm32mp15_dhcom_basic_defconfig b/configs/stm32mp15_dhcom_basic_defconfig > index dc85625a8b..c70414e23b 100644 > --- a/configs/stm32mp15_dhcom_basic_defconfig > +++ b/configs/stm32mp15_dhcom_basic_defconfig > @@ -57,6 +57,7 @@ CONFIG_CMD_REGULATOR=y > CONFIG_CMD_EXT4_WRITE=y > CONFIG_CMD_MTDPARTS=y > # CONFIG_SPL_DOS_PARTITION is not set > +CONFIG_OF_LIST="stm32mp15xx-dhcom-pdk2 stm32mp15xx-dhcom-drc02" > CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks" > CONFIG_ENV_IS_IN_SPI_FLASH=y > CONFIG_USE_ENV_SPI_BUS=y Reviewed-by: Patrice Chotard <patrice.chotard@st.com> Thanks Patrice
On 8/13/20 9:41 AM, Patrice CHOTARD wrote: > Hi Marek > > On 7/31/20 1:35 AM, Marek Vasut wrote: >> Include both PDK2 and DRC02 DTs in the DHCOM fitImage .its and implement >> support in SPL to select the correct configuration entry for U-Boot by >> using the machine compatible string from SPL DT. >> >> Signed-off-by: Marek Vasut <marex@denx.de> >> Cc: Patrice Chotard <patrice.chotard@st.com> >> Cc: Patrick Delaunay <patrick.delaunay@st.com> >> --- >> board/dhelectronics/dh_stm32mp1/board.c | 8 ++++++-- >> .../dhelectronics/dh_stm32mp1/u-boot-dhcom.its | 18 +++++++++++++++++- >> .../dhelectronics/dh_stm32mp1/u-boot-dhcor.its | 3 ++- >> configs/stm32mp15_dhcom_basic_defconfig | 1 + >> 4 files changed, 26 insertions(+), 4 deletions(-) Applied on u-boot-stm/master Thanks >> >> diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c >> index 17018716fd..c9abe3cc6d 100644 >> --- a/board/dhelectronics/dh_stm32mp1/board.c >> +++ b/board/dhelectronics/dh_stm32mp1/board.c >> @@ -237,9 +237,13 @@ int board_early_init_f(void) >> #ifdef CONFIG_SPL_LOAD_FIT >> int board_fit_config_name_match(const char *name) >> { >> - char test[20]; >> + const char *compat; >> + char test[128]; >> >> - snprintf(test, sizeof(test), "somrev%d_boardrev%d", somcode, brdcode); >> + compat = fdt_getprop(gd->fdt_blob, 0, "compatible", NULL); >> + >> + snprintf(test, sizeof(test), "%s_somrev%d_boardrev%d", >> + compat, somcode, brdcode); >> >> if (!strcmp(name, test)) >> return 0; >> diff --git a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its >> index 2776c41af1..d8a1a28a11 100644 >> --- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its >> +++ b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its >> @@ -23,17 +23,33 @@ >> arch = "arm"; >> compression = "none"; >> }; >> + >> + fdt-2 { >> + description = ".dtb"; >> + data = /incbin/("arch/arm/dts/stm32mp15xx-dhcom-drc02.dtb"); >> + type = "flat_dt"; >> + arch = "arm"; >> + compression = "none"; >> + }; >> }; >> >> configurations { >> default = "config-1"; >> >> config-1 { >> - description = "somrev0_boardrev0"; /* SoM+board model */ >> + /* DT+SoM+board model */ >> + description = "dh,stm32mp15xx-dhcom-pdk2_somrev0_boardrev0"; >> loadables = "uboot"; >> fdt = "fdt-1"; >> }; >> >> + config-2 { >> + /* DT+SoM+board model */ >> + description = "dh,stm32mp15xx-dhcom-drc02_somrev0_boardrev0"; >> + loadables = "uboot"; >> + fdt = "fdt-2"; >> + }; >> + >> /* Add 587-100..587-400 with fdt-2..fdt-4 here */ >> }; >> }; >> diff --git a/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its b/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its >> index 8844508f1a..7419684f55 100644 >> --- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its >> +++ b/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its >> @@ -29,7 +29,8 @@ >> default = "config-1"; >> >> config-1 { >> - description = "somrev0_boardrev1"; /* SoM+board model */ >> + /* DT+SoM+board model */ >> + description = "arrow,stm32mp15xx-avenger96_somrev0_boardrev1"; >> loadables = "uboot"; >> fdt = "fdt-1"; >> }; >> diff --git a/configs/stm32mp15_dhcom_basic_defconfig b/configs/stm32mp15_dhcom_basic_defconfig >> index dc85625a8b..c70414e23b 100644 >> --- a/configs/stm32mp15_dhcom_basic_defconfig >> +++ b/configs/stm32mp15_dhcom_basic_defconfig >> @@ -57,6 +57,7 @@ CONFIG_CMD_REGULATOR=y >> CONFIG_CMD_EXT4_WRITE=y >> CONFIG_CMD_MTDPARTS=y >> # CONFIG_SPL_DOS_PARTITION is not set >> +CONFIG_OF_LIST="stm32mp15xx-dhcom-pdk2 stm32mp15xx-dhcom-drc02" >> CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks" >> CONFIG_ENV_IS_IN_SPI_FLASH=y >> CONFIG_USE_ENV_SPI_BUS=y > Reviewed-by: Patrice Chotard <patrice.chotard@st.com> > > Thanks > > Patrice
diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c index 17018716fd..c9abe3cc6d 100644 --- a/board/dhelectronics/dh_stm32mp1/board.c +++ b/board/dhelectronics/dh_stm32mp1/board.c @@ -237,9 +237,13 @@ int board_early_init_f(void) #ifdef CONFIG_SPL_LOAD_FIT int board_fit_config_name_match(const char *name) { - char test[20]; + const char *compat; + char test[128]; - snprintf(test, sizeof(test), "somrev%d_boardrev%d", somcode, brdcode); + compat = fdt_getprop(gd->fdt_blob, 0, "compatible", NULL); + + snprintf(test, sizeof(test), "%s_somrev%d_boardrev%d", + compat, somcode, brdcode); if (!strcmp(name, test)) return 0; diff --git a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its index 2776c41af1..d8a1a28a11 100644 --- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its +++ b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its @@ -23,17 +23,33 @@ arch = "arm"; compression = "none"; }; + + fdt-2 { + description = ".dtb"; + data = /incbin/("arch/arm/dts/stm32mp15xx-dhcom-drc02.dtb"); + type = "flat_dt"; + arch = "arm"; + compression = "none"; + }; }; configurations { default = "config-1"; config-1 { - description = "somrev0_boardrev0"; /* SoM+board model */ + /* DT+SoM+board model */ + description = "dh,stm32mp15xx-dhcom-pdk2_somrev0_boardrev0"; loadables = "uboot"; fdt = "fdt-1"; }; + config-2 { + /* DT+SoM+board model */ + description = "dh,stm32mp15xx-dhcom-drc02_somrev0_boardrev0"; + loadables = "uboot"; + fdt = "fdt-2"; + }; + /* Add 587-100..587-400 with fdt-2..fdt-4 here */ }; }; diff --git a/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its b/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its index 8844508f1a..7419684f55 100644 --- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its +++ b/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its @@ -29,7 +29,8 @@ default = "config-1"; config-1 { - description = "somrev0_boardrev1"; /* SoM+board model */ + /* DT+SoM+board model */ + description = "arrow,stm32mp15xx-avenger96_somrev0_boardrev1"; loadables = "uboot"; fdt = "fdt-1"; }; diff --git a/configs/stm32mp15_dhcom_basic_defconfig b/configs/stm32mp15_dhcom_basic_defconfig index dc85625a8b..c70414e23b 100644 --- a/configs/stm32mp15_dhcom_basic_defconfig +++ b/configs/stm32mp15_dhcom_basic_defconfig @@ -57,6 +57,7 @@ CONFIG_CMD_REGULATOR=y CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_MTDPARTS=y # CONFIG_SPL_DOS_PARTITION is not set +CONFIG_OF_LIST="stm32mp15xx-dhcom-pdk2 stm32mp15xx-dhcom-drc02" CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks" CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_USE_ENV_SPI_BUS=y
Include both PDK2 and DRC02 DTs in the DHCOM fitImage .its and implement support in SPL to select the correct configuration entry for U-Boot by using the machine compatible string from SPL DT. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Patrice Chotard <patrice.chotard@st.com> Cc: Patrick Delaunay <patrick.delaunay@st.com> --- board/dhelectronics/dh_stm32mp1/board.c | 8 ++++++-- .../dhelectronics/dh_stm32mp1/u-boot-dhcom.its | 18 +++++++++++++++++- .../dhelectronics/dh_stm32mp1/u-boot-dhcor.its | 3 ++- configs/stm32mp15_dhcom_basic_defconfig | 1 + 4 files changed, 26 insertions(+), 4 deletions(-)