Message ID | 20191218065915.12295-1-marex@denx.de |
---|---|
State | Superseded |
Delegated to: | Patrick Delaunay |
Headers | show |
Series | ARM: stm32: Permit multiple board targets | expand |
Hi Marek, > From: Marek Vasut <marex@denx.de> > Sent: mercredi 18 décembre 2019 07:59 > > Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD, > SYS_VENDOR and SYS_CONFIG_NAME to values set by the ST reference > platforms. Allow changing that by pulling out the TARGET_STM32MP157C_DK2 > and making the ST reference platform settings conditional on > TARGET_STM32MP157C_DK2 . > Other platforms can now define a different TARGET_ and thus override the SYS_ > settings in their Kconfig. > > Signed-off-by: Marek Vasut <marex@denx.de> > Cc: Patrick Delaunay <patrick.delaunay@st.com> > Cc: Patrice Chotard <patrice.chotard@st.com> > --- > board/st/stm32mp1/Kconfig | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig index > 4fa2360b4f..c84aa41f06 100644 > --- a/board/st/stm32mp1/Kconfig > +++ b/board/st/stm32mp1/Kconfig > @@ -1,4 +1,8 @@ > -if TARGET_STM32MP1 > +config TARGET_STM32MP157C_DK2 > + bool "support of STMicroelectronics STM32MP157C-DK2 Discovery > Board" > + default y > + > +if TARGET_STM32MP157C_DK2 > > config SYS_BOARD > default "stm32mp1" > @@ -22,8 +26,4 @@ config CMD_STBOARD > This compile the stboard command to > read and write the board in the OTP. > > -config TARGET_STM32MP157C_DK2 > - bool "support of STMicroelectronics STM32MP157C-DK2 Discovery > Board" > - default y I try to understood the issue but checked DK2 is not enought (I will soon introduce a new config for EV1 support) What it the use case ? Add a new board (not a board provided by ST) which are managed by a new directory board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> I think, if it is the case, we should test CONFIG_SYS_VENDOR = "stm32mp1" in board/st/stm32mp1/Kconfig And move CONFIG_SYS_VENDOR to arch NB: default value can be overidde in your board defconfig... Normally: - stm32mp1_trusted_defconfig - stm32mp1_basic_defconfig - stm32mp1_optee_defconfig only support the directory ST board with board/st/stm32mp1 > endif > -- > 2.24.1 Patrick
Hi Marek, > From: Patrick DELAUNAY > Sent: mercredi 18 décembre 2019 14:20 > > Hi Marek, > > > From: Marek Vasut <marex@denx.de> > > Sent: mercredi 18 décembre 2019 07:59 > > > > Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD, > SYS_VENDOR > > and SYS_CONFIG_NAME to values set by the ST reference platforms. Allow > > changing that by pulling out the TARGET_STM32MP157C_DK2 and making the > > ST reference platform settings conditional on > > TARGET_STM32MP157C_DK2 . > > Other platforms can now define a different TARGET_ and thus override > > the SYS_ settings in their Kconfig. > > > > Signed-off-by: Marek Vasut <marex@denx.de> > > Cc: Patrick Delaunay <patrick.delaunay@st.com> > > Cc: Patrice Chotard <patrice.chotard@st.com> > > --- > > board/st/stm32mp1/Kconfig | 10 +++++----- > > 1 file changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig > > index > > 4fa2360b4f..c84aa41f06 100644 > > --- a/board/st/stm32mp1/Kconfig > > +++ b/board/st/stm32mp1/Kconfig > > @@ -1,4 +1,8 @@ > > -if TARGET_STM32MP1 > > +config TARGET_STM32MP157C_DK2 > > + bool "support of STMicroelectronics STM32MP157C-DK2 Discovery > > Board" > > + default y > > + > > +if TARGET_STM32MP157C_DK2 > > > > config SYS_BOARD > > default "stm32mp1" > > @@ -22,8 +26,4 @@ config CMD_STBOARD > > This compile the stboard command to > > read and write the board in the OTP. > > > > -config TARGET_STM32MP157C_DK2 > > - bool "support of STMicroelectronics STM32MP157C-DK2 Discovery > > Board" > > - default y > > I try to understood the issue but checked DK2 is not enought (I will soon introduce > a new config for EV1 support) > > What it the use case ? > > Add a new board (not a board provided by ST) which are managed by a new > directory > board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> > > I think, if it is the case, we should test CONFIG_SYS_VENDOR = "stm32mp1" > in board/st/stm32mp1/Kconfig > > And move CONFIG_SYS_VENDOR to arch > > NB: default value can be overidde in your board defconfig... > > Normally: > - stm32mp1_trusted_defconfig > - stm32mp1_basic_defconfig > - stm32mp1_optee_defconfig > > only support the directory ST board with board/st/stm32mp1 After deeper check => it is already managed by the config CONFIG_TARGET_STM32MP1 board/st/stm32mp1.Kconfig dtb-$(CONFIG_TARGET_STM32MP1) += \ stm32mp157a-dk1.dtb \ stm32mp157a-avenger96.dtb \ stm32mp157c-dk2.dtb \ stm32mp157c-ed1.dtb \ stm32mp157c-ev1.dtb Activated by default in the ST defconfig (stm32mp1_trusted_defconfig, stm32mp1_basic_defconfig, stm32mp1_optee_defconfig) Do you need other way of configuration ? Patrick
On 12/18/19 2:20 PM, Patrick DELAUNAY wrote: > Hi Marek, Hi, >> From: Marek Vasut <marex@denx.de> >> Sent: mercredi 18 décembre 2019 07:59 >> >> Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD, >> SYS_VENDOR and SYS_CONFIG_NAME to values set by the ST reference >> platforms. Allow changing that by pulling out the TARGET_STM32MP157C_DK2 >> and making the ST reference platform settings conditional on >> TARGET_STM32MP157C_DK2 . >> Other platforms can now define a different TARGET_ and thus override the SYS_ >> settings in their Kconfig. >> >> Signed-off-by: Marek Vasut <marex@denx.de> >> Cc: Patrick Delaunay <patrick.delaunay@st.com> >> Cc: Patrice Chotard <patrice.chotard@st.com> >> --- >> board/st/stm32mp1/Kconfig | 10 +++++----- >> 1 file changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig index >> 4fa2360b4f..c84aa41f06 100644 >> --- a/board/st/stm32mp1/Kconfig >> +++ b/board/st/stm32mp1/Kconfig >> @@ -1,4 +1,8 @@ >> -if TARGET_STM32MP1 >> +config TARGET_STM32MP157C_DK2 >> + bool "support of STMicroelectronics STM32MP157C-DK2 Discovery >> Board" >> + default y >> + >> +if TARGET_STM32MP157C_DK2 >> >> config SYS_BOARD >> default "stm32mp1" >> @@ -22,8 +26,4 @@ config CMD_STBOARD >> This compile the stboard command to >> read and write the board in the OTP. >> >> -config TARGET_STM32MP157C_DK2 >> - bool "support of STMicroelectronics STM32MP157C-DK2 Discovery >> Board" >> - default y > > I try to understood the issue but checked DK2 is not enought > (I will soon introduce a new config for EV1 support) > > What it the use case ? Custom board. > Add a new board (not a board provided by ST) which are managed by a new directory > board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> > > I think, if it is the case, we should test CONFIG_SYS_VENDOR = "stm32mp1" > in board/st/stm32mp1/Kconfig > > And move CONFIG_SYS_VENDOR to arch Nope, SYS_VENDOR is the board manufacturer . For you it's ST, for me it's "thus far undisclosed custom board vendor". > NB: default value can be overidde in your board defconfig... > > Normally: > - stm32mp1_trusted_defconfig > - stm32mp1_basic_defconfig > - stm32mp1_optee_defconfig > > only support the directory ST board with board/st/stm32mp1 That's not how it's supposed to work -- these values should be defaulted in Kconfig.
On 12/18/19 3:04 PM, Patrick DELAUNAY wrote: > Hi Marek, > >> From: Patrick DELAUNAY >> Sent: mercredi 18 décembre 2019 14:20 >> >> Hi Marek, >> >>> From: Marek Vasut <marex@denx.de> >>> Sent: mercredi 18 décembre 2019 07:59 >>> >>> Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD, >> SYS_VENDOR >>> and SYS_CONFIG_NAME to values set by the ST reference platforms. Allow >>> changing that by pulling out the TARGET_STM32MP157C_DK2 and making the >>> ST reference platform settings conditional on >>> TARGET_STM32MP157C_DK2 . >>> Other platforms can now define a different TARGET_ and thus override >>> the SYS_ settings in their Kconfig. >>> >>> Signed-off-by: Marek Vasut <marex@denx.de> >>> Cc: Patrick Delaunay <patrick.delaunay@st.com> >>> Cc: Patrice Chotard <patrice.chotard@st.com> >>> --- >>> board/st/stm32mp1/Kconfig | 10 +++++----- >>> 1 file changed, 5 insertions(+), 5 deletions(-) >>> >>> diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig >>> index >>> 4fa2360b4f..c84aa41f06 100644 >>> --- a/board/st/stm32mp1/Kconfig >>> +++ b/board/st/stm32mp1/Kconfig >>> @@ -1,4 +1,8 @@ >>> -if TARGET_STM32MP1 >>> +config TARGET_STM32MP157C_DK2 >>> + bool "support of STMicroelectronics STM32MP157C-DK2 Discovery >>> Board" >>> + default y >>> + >>> +if TARGET_STM32MP157C_DK2 >>> >>> config SYS_BOARD >>> default "stm32mp1" >>> @@ -22,8 +26,4 @@ config CMD_STBOARD >>> This compile the stboard command to >>> read and write the board in the OTP. >>> >>> -config TARGET_STM32MP157C_DK2 >>> - bool "support of STMicroelectronics STM32MP157C-DK2 Discovery >>> Board" >>> - default y >> >> I try to understood the issue but checked DK2 is not enought (I will soon introduce >> a new config for EV1 support) >> >> What it the use case ? >> >> Add a new board (not a board provided by ST) which are managed by a new >> directory >> board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> >> >> I think, if it is the case, we should test CONFIG_SYS_VENDOR = "stm32mp1" >> in board/st/stm32mp1/Kconfig >> >> And move CONFIG_SYS_VENDOR to arch >> >> NB: default value can be overidde in your board defconfig... >> >> Normally: >> - stm32mp1_trusted_defconfig >> - stm32mp1_basic_defconfig >> - stm32mp1_optee_defconfig >> >> only support the directory ST board with board/st/stm32mp1 > > After deeper check => it is already managed by the config > > CONFIG_TARGET_STM32MP1 > > board/st/stm32mp1.Kconfig > > dtb-$(CONFIG_TARGET_STM32MP1) += \ > stm32mp157a-dk1.dtb \ > stm32mp157a-avenger96.dtb \ > stm32mp157c-dk2.dtb \ > stm32mp157c-ed1.dtb \ > stm32mp157c-ev1.dtb > > Activated by default in the ST defconfig (stm32mp1_trusted_defconfig, stm32mp1_basic_defconfig, stm32mp1_optee_defconfig) > > Do you need other way of configuration ? Yes, I need to override the configuration which is currently forced by the ST Kconfig file. Hence this patch. I can repost this patch with the board patch once that's ready. It might make it easier to understand the purpose.
Hi, > From: Marek Vasut <marex@denx.de> > Sent: mercredi 18 décembre 2019 15:15 > > On 12/18/19 3:04 PM, Patrick DELAUNAY wrote: > > Hi Marek, > > > >> From: Patrick DELAUNAY > >> Sent: mercredi 18 décembre 2019 14:20 > >> > >> Hi Marek, > >> > >>> From: Marek Vasut <marex@denx.de> > >>> Sent: mercredi 18 décembre 2019 07:59 > >>> > >>> Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD, > >> SYS_VENDOR > >>> and SYS_CONFIG_NAME to values set by the ST reference platforms. > >>> Allow changing that by pulling out the TARGET_STM32MP157C_DK2 and > >>> making the ST reference platform settings conditional on > >>> TARGET_STM32MP157C_DK2 . > >>> Other platforms can now define a different TARGET_ and thus override > >>> the SYS_ settings in their Kconfig. > >>> > >>> Signed-off-by: Marek Vasut <marex@denx.de> > >>> Cc: Patrick Delaunay <patrick.delaunay@st.com> > >>> Cc: Patrice Chotard <patrice.chotard@st.com> > >>> --- > >>> board/st/stm32mp1/Kconfig | 10 +++++----- > >>> 1 file changed, 5 insertions(+), 5 deletions(-) > >>> > >>> diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig > >>> index > >>> 4fa2360b4f..c84aa41f06 100644 > >>> --- a/board/st/stm32mp1/Kconfig > >>> +++ b/board/st/stm32mp1/Kconfig > >>> @@ -1,4 +1,8 @@ > >>> -if TARGET_STM32MP1 > >>> +config TARGET_STM32MP157C_DK2 > >>> + bool "support of STMicroelectronics STM32MP157C-DK2 Discovery > >>> Board" > >>> + default y > >>> + > >>> +if TARGET_STM32MP157C_DK2 > >>> > >>> config SYS_BOARD > >>> default "stm32mp1" > >>> @@ -22,8 +26,4 @@ config CMD_STBOARD > >>> This compile the stboard command to > >>> read and write the board in the OTP. > >>> > >>> -config TARGET_STM32MP157C_DK2 > >>> - bool "support of STMicroelectronics STM32MP157C-DK2 Discovery > >>> Board" > >>> - default y > >> > >> I try to understood the issue but checked DK2 is not enought (I will > >> soon introduce a new config for EV1 support) > >> > >> What it the use case ? > >> > >> Add a new board (not a board provided by ST) which are managed by a > >> new directory > >> board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> > >> > >> I think, if it is the case, we should test CONFIG_SYS_VENDOR = "stm32mp1" > >> in board/st/stm32mp1/Kconfig > >> > >> And move CONFIG_SYS_VENDOR to arch > >> > >> NB: default value can be overidde in your board defconfig... > >> > >> Normally: > >> - stm32mp1_trusted_defconfig > >> - stm32mp1_basic_defconfig > >> - stm32mp1_optee_defconfig > >> > >> only support the directory ST board with board/st/stm32mp1 > > > > After deeper check => it is already managed by the config > > > > CONFIG_TARGET_STM32MP1 > > > > board/st/stm32mp1.Kconfig > > > > dtb-$(CONFIG_TARGET_STM32MP1) += \ > > stm32mp157a-dk1.dtb \ > > stm32mp157a-avenger96.dtb \ > > stm32mp157c-dk2.dtb \ > > stm32mp157c-ed1.dtb \ > > stm32mp157c-ev1.dtb > > > > Activated by default in the ST defconfig (stm32mp1_trusted_defconfig, > > stm32mp1_basic_defconfig, stm32mp1_optee_defconfig) > > > > Do you need other way of configuration ? > > Yes, I need to override the configuration which is currently forced by the ST > Kconfig file. Hence this patch. > > I can repost this patch with the board patch once that's ready. It might make it > easier to understand the purpose. Yes thanks. I am waiting your patchset.. Anyway it is not yet clear for me how manage customer board... I perhaps need to have a common directory (board/st/common) to share code between ST board and customer board (as it is done by other arch) I expect it will be the same than imx or rockwell board one board (or one family) => one defconfig for all ST board (EV1 DK1 DK2) => CONFIG_TARGET_STM32MP1 for custom board CUST0 => CONFIG_TARGET_CUST0 with Kconfig if TARGET_STM32MP1 config SYS_BOARD default "stm32mp1" config SYS_VENDOR default "st" config SYS_CONFIG_NAME default "stm32mp1" <....> endif if TARGET_CUST0 config SYS_BOARD default "cust0" config SYS_VENDOR default "customer" config SYS_CONFIG_NAME default "cust0" endif Regards Patrick
diff --git a/board/st/stm32mp1/Kconfig b/board/st/stm32mp1/Kconfig index 4fa2360b4f..c84aa41f06 100644 --- a/board/st/stm32mp1/Kconfig +++ b/board/st/stm32mp1/Kconfig @@ -1,4 +1,8 @@ -if TARGET_STM32MP1 +config TARGET_STM32MP157C_DK2 + bool "support of STMicroelectronics STM32MP157C-DK2 Discovery Board" + default y + +if TARGET_STM32MP157C_DK2 config SYS_BOARD default "stm32mp1" @@ -22,8 +26,4 @@ config CMD_STBOARD This compile the stboard command to read and write the board in the OTP. -config TARGET_STM32MP157C_DK2 - bool "support of STMicroelectronics STM32MP157C-DK2 Discovery Board" - default y - endif
Setting TARGET_STM32MP1 in Kconfig always forces SYS_BOARD, SYS_VENDOR and SYS_CONFIG_NAME to values set by the ST reference platforms. Allow changing that by pulling out the TARGET_STM32MP157C_DK2 and making the ST reference platform settings conditional on TARGET_STM32MP157C_DK2 . Other platforms can now define a different TARGET_ and thus override the SYS_ settings in their Kconfig. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Patrick Delaunay <patrick.delaunay@st.com> Cc: Patrice Chotard <patrice.chotard@st.com> --- board/st/stm32mp1/Kconfig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)