Message ID | 1510109644-8731-1-git-send-email-wilson.lee@ni.com |
---|---|
State | Rejected |
Delegated to: | Michal Simek |
Headers | show |
Series | [U-Boot] ni: Add NIZYNQ platform | expand |
On 8.11.2017 03:54, Wilson Lee wrote: > Initial platform creation for NIZYNQ. > > Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> > Signed-off-by: Keng Soon Cheah <keng.soon.cheah@ni.com> > Signed-off-by: Wilson Lee <wilson.lee@ni.com> > Cc: Chen Yee Chew <chen.yee.chew@ni.com> > Cc: Albert Aribaud <albert.u.boot@aribaud.net> > --- > arch/arm/Kconfig | 15 +++++++++++++++ > arch/arm/Makefile | 4 +++- > board/ni/Kconfig | 13 +++++++++++++ > 3 files changed, 31 insertions(+), 1 deletion(-) > create mode 100644 board/ni/Kconfig > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 83b7aa5..ae34821 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -767,6 +767,20 @@ config ARCH_ZYNQMP > select DM_USB if USB > imply FAT_WRITE > > +config NIZYNQ > + bool "National Instruments zynq Platform" > + select CPU_V7 > + select SUPPORT_SPL > + select OF_CONTROL > + select SPL_OF_CONTROL if SPL > + select DM > + select DM_ETH > + select DM_GPIO > + select SPL_DM if SPL > + select DM_MMC > + select DM_SERIAL > + select SPL_SEPARATE_BSS if SPL > + What's the reason for this? You should reuse current ZYNQ fragment and if this selects something what you don't want then we should change that. Look at syzygy or topic boards which are using existing zynq infrastructure. Thanks, Michal
Hi Michal, On Wed, 2017-11-08 at 07:27 +0100, Michal Simek wrote: > On 8.11.2017 03:54, Wilson Lee wrote: > > > > Initial platform creation for NIZYNQ. > > > > Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> > > Signed-off-by: Keng Soon Cheah <keng.soon.cheah@ni.com> > > Signed-off-by: Wilson Lee <wilson.lee@ni.com> > > Cc: Chen Yee Chew <chen.yee.chew@ni.com> > > Cc: Albert Aribaud <albert.u.boot@aribaud.net> > > --- > > arch/arm/Kconfig | 15 +++++++++++++++ > > arch/arm/Makefile | 4 +++- > > board/ni/Kconfig | 13 +++++++++++++ > > 3 files changed, 31 insertions(+), 1 deletion(-) > > create mode 100644 board/ni/Kconfig > > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > index 83b7aa5..ae34821 100644 > > --- a/arch/arm/Kconfig > > +++ b/arch/arm/Kconfig > > @@ -767,6 +767,20 @@ config ARCH_ZYNQMP > > select DM_USB if USB > > imply FAT_WRITE > > > > +config NIZYNQ > > + bool "National Instruments zynq Platform" > > + select CPU_V7 > > + select SUPPORT_SPL > > + select OF_CONTROL > > + select SPL_OF_CONTROL if SPL > > + select DM > > + select DM_ETH > > + select DM_GPIO > > + select SPL_DM if SPL > > + select DM_MMC > > + select DM_SERIAL > > + select SPL_SEPARATE_BSS if SPL > > + > What's the reason for this? You should reuse current ZYNQ fragment > and > if this selects something what you don't want then we should > changethat. Look at syzygy or topic boards which are using existing > zynq > infrastructure. > > Thanks, > Michal > > The reason for adding NIZYNQ instead of reuse ARCH_ZYNQ. That is because we need NIZYNQ at the same level with ARCH_ZYNQ in menuconfig. We are thinking that it would be missleading, if our customer need to select Xilinx Zynq Platform before they can select NI product. Hence, what we wish to get the menuconfig that look like below, +------------------------ Target select ------------------------+ | Use the arrow keys to navigate this window or press the | | hotkey of the item you wish to select followed by the <SPACE | | BAR>. Press <?> for additional information about this | | +----^(-)---------------------------------------------------+ | | |( ) Support pcm-052 | | | |( ) Support BK4r1 | | | |( ) Xilinx Zynq Platform | | | |( ) Support Xilinx ZynqMP Platform | | | |(X) National Instruments zynq Platform | | | |( ) NVIDIA Tegra | | | +----+(+)---------------------------------------------------+ | +---------------------------------------------------------------+ | <Select> < Help > | +---------------------------------------------------------------+
Hi Michal, On Wed, 2017-11-08 at 07:27 +0100, Michal Simek wrote: > On 8.11.2017 03:54, Wilson Lee wrote: > > > > Initial platform creation for NIZYNQ. > > > > Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> > > Signed-off-by: Keng Soon Cheah <keng.soon.cheah@ni.com> > > Signed-off-by: Wilson Lee <wilson.lee@ni.com> > > Cc: Chen Yee Chew <chen.yee.chew@ni.com> > > Cc: Albert Aribaud <albert.u.boot@aribaud.net> > > --- > > arch/arm/Kconfig | 15 +++++++++++++++ > > arch/arm/Makefile | 4 +++- > > board/ni/Kconfig | 13 +++++++++++++ > > 3 files changed, 31 insertions(+), 1 deletion(-) > > create mode 100644 board/ni/Kconfig > > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > index 83b7aa5..ae34821 100644 > > --- a/arch/arm/Kconfig > > +++ b/arch/arm/Kconfig > > @@ -767,6 +767,20 @@ config ARCH_ZYNQMP > > select DM_USB if USB > > imply FAT_WRITE > > > > +config NIZYNQ > > + bool "National Instruments zynq Platform" > > + select CPU_V7 > > + select SUPPORT_SPL > > + select OF_CONTROL > > + select SPL_OF_CONTROL if SPL > > + select DM > > + select DM_ETH > > + select DM_GPIO > > + select SPL_DM if SPL > > + select DM_MMC > > + select DM_SERIAL > > + select SPL_SEPARATE_BSS if SPL > > + > What's the reason for this? You should reuse current ZYNQ fragment > and > if this selects something what you don't want then we should change > that. Look at syzygy or topic boards which are using existing zynq > infrastructure. > > Thanks, > Michal > > The reason for adding NIZYNQ instead of reuse ARCH_ZYNQ. That is because we need NIZYNQ at the same level with ARCH_ZYNQ in menuconfig. We are thinking that it would be missleading, if our customer need to select Xilinx Zynq Platform before they can select NI product. Hence, what we wish to get the menuconfig that look like below, +------------------------ Target select ------------------------+ | Use the arrow keys to navigate this window or press the | | hotkey of the item you wish to select followed by the <SPACE | | BAR>. Press <?> for additional information about this | | +----^(-)---------------------------------------------------+ | | |( ) Support pcm-052 | | | |( ) Support BK4r1 | | | |( ) Xilinx Zynq Platform | | | |( ) Support Xilinx ZynqMP Platform | | | |(X) National Instruments zynq Platform | | | |( ) NVIDIA Tegra | | | +----+(+)---------------------------------------------------+ | +---------------------------------------------------------------+ | <Select> < Help > | +---------------------------------------------------------------+ Thanks, Michal. Best Regards, Wilson Lee
Hi, On 22.11.2017 04:06, Wilson Lee wrote: > Hi Michal, > > On Wed, 2017-11-08 at 07:27 +0100, Michal Simek wrote: >> On 8.11.2017 03:54, Wilson Lee wrote: >>> >>> Initial platform creation for NIZYNQ. >>> >>> Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> >>> Signed-off-by: Keng Soon Cheah <keng.soon.cheah@ni.com> >>> Signed-off-by: Wilson Lee <wilson.lee@ni.com> >>> Cc: Chen Yee Chew <chen.yee.chew@ni.com> >>> Cc: Albert Aribaud <albert.u.boot@aribaud.net> >>> --- >>> arch/arm/Kconfig | 15 +++++++++++++++ >>> arch/arm/Makefile | 4 +++- >>> board/ni/Kconfig | 13 +++++++++++++ >>> 3 files changed, 31 insertions(+), 1 deletion(-) >>> create mode 100644 board/ni/Kconfig >>> >>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >>> index 83b7aa5..ae34821 100644 >>> --- a/arch/arm/Kconfig >>> +++ b/arch/arm/Kconfig >>> @@ -767,6 +767,20 @@ config ARCH_ZYNQMP >>> select DM_USB if USB >>> imply FAT_WRITE >>> >>> +config NIZYNQ >>> + bool "National Instruments zynq Platform" >>> + select CPU_V7 >>> + select SUPPORT_SPL >>> + select OF_CONTROL >>> + select SPL_OF_CONTROL if SPL >>> + select DM >>> + select DM_ETH >>> + select DM_GPIO >>> + select SPL_DM if SPL >>> + select DM_MMC >>> + select DM_SERIAL >>> + select SPL_SEPARATE_BSS if SPL >>> + >> What's the reason for this? You should reuse current ZYNQ fragment >> and >> if this selects something what you don't want then we should >> changethat. Look at syzygy or topic boards which are using existing >> zynq >> infrastructure. >> >> Thanks, >> Michal >> >> > > The reason for adding NIZYNQ instead of reuse ARCH_ZYNQ. That is > because we need NIZYNQ at the same level with ARCH_ZYNQ in menuconfig. > We are thinking that it would be missleading, if our customer need to > select Xilinx Zynq Platform before they can select NI product. > > Hence, what we wish to get the menuconfig that look like below, > > +------------------------ Target select ------------------------+ > | Use the arrow keys to navigate this window or press the | > | hotkey of the item you wish to select followed by the <SPACE | > | BAR>. Press <?> for additional information about this | > | +----^(-)---------------------------------------------------+ | > | |( ) Support pcm-052 | | > | |( ) Support BK4r1 | | > | |( ) Xilinx Zynq Platform | | > | |( ) Support Xilinx ZynqMP Platform | | > | |(X) National Instruments zynq Platform | | > | |( ) NVIDIA Tegra | | > | +----+(+)---------------------------------------------------+ | > +---------------------------------------------------------------+ > | <Select> < Help > | > +---------------------------------------------------------------+ > I understand that you want to put there a little bit of marketing but moving to DM should avoid doing this and really I want to make xilinx ports generic as much as possible. What we can do is to change description to be more understandable like "Xilinx Zynq based platform". Is there something what will use NIZYNQ symbol in the code? Does that mean that there is something what is not handle now that you have to use this symbol? Thanks, Michal
Hi Michal, On Wed, 2017-11-22 at 08:11 +0100, Michal Simek wrote: > Hi, > > On 22.11.2017 04:06, Wilson Lee wrote: > > > > Hi Michal, > > > > On Wed, 2017-11-08 at 07:27 +0100, Michal Simek wrote: > > > > > > On 8.11.2017 03:54, Wilson Lee wrote: > > > > > > > > > > > > Initial platform creation for NIZYNQ. > > > > > > > > Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> > > > > Signed-off-by: Keng Soon Cheah <keng.soon.cheah@ni.com> > > > > Signed-off-by: Wilson Lee <wilson.lee@ni.com> > > > > Cc: Chen Yee Chew <chen.yee.chew@ni.com> > > > > Cc: Albert Aribaud <albert.u.boot@aribaud.net> > > > > --- > > > > arch/arm/Kconfig | 15 +++++++++++++++ > > > > arch/arm/Makefile | 4 +++- > > > > board/ni/Kconfig | 13 +++++++++++++ > > > > 3 files changed, 31 insertions(+), 1 deletion(-) > > > > create mode 100644 board/ni/Kconfig > > > > > > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > > > index 83b7aa5..ae34821 100644 > > > > --- a/arch/arm/Kconfig > > > > +++ b/arch/arm/Kconfig > > > > @@ -767,6 +767,20 @@ config ARCH_ZYNQMP > > > > select DM_USB if USB > > > > imply FAT_WRITE > > > > > > > > +config NIZYNQ > > > > + bool "National Instruments zynq Platform" > > > > + select CPU_V7 > > > > + select SUPPORT_SPL > > > > + select OF_CONTROL > > > > + select SPL_OF_CONTROL if SPL > > > > + select DM > > > > + select DM_ETH > > > > + select DM_GPIO > > > > + select SPL_DM if SPL > > > > + select DM_MMC > > > > + select DM_SERIAL > > > > + select SPL_SEPARATE_BSS if SPL > > > > + > > > What's the reason for this? You should reuse current ZYNQ > > > fragment > > > and > > > if this selects something what you don't want then we should > > > changethat. Look at syzygy or topic boards which are using > > > existing > > > zynq > > > infrastructure. > > > > > > Thanks, > > > Michal > > > > > > > > The reason for adding NIZYNQ instead of reuse ARCH_ZYNQ. That is > > because we need NIZYNQ at the same level with ARCH_ZYNQ in > > menuconfig. > > We are thinking that it would be missleading, if our customer need > > to > > select Xilinx Zynq Platform before they can select NI product. > > > > Hence, what we wish to get the menuconfig that look like below, > > > > +------------------------ Target select ------------------------+ > > > > > > Use the arrow keys to navigate this window or press > > > the | > > > hotkey of the item you wish to select followed by the <SPACE | > > > BAR>. Press <?> for additional information about > > > this | > > > +----^(-)---------------------------------------------------+ | > > > > > > > > ( ) Support pcm-052 | > > > > | > > > > ( ) Support BK4r1 | > > > > | > > > |( ) Xilinx Zynq Platform | > > > | > > > > > > > > ( ) Support Xilinx ZynqMP Platform | > > > > | > > > > (X) National Instruments zynq Platform | > > > > | > > > > ( ) NVIDIA Tegra | > > > > | > > > +----+(+)---------------------------------------------------+ | > > +---------------------------------------------------------------+ > > > > > > <Select> < Help > > > > | > > +---------------------------------------------------------------+ > > > I understand that you want to put there a little bit of marketing but > moving to DM should avoid doing this and really I want to make xilinx > ports generic as much as possible. > > What we can do is to change description to be more understandable > like > "Xilinx Zynq based platform". After some discussion, we think that changing the description to be more understandable as you suggested above is make sense to us and it is a good approache also. May I know, do you will submit a commit to change the description or we might need to submit ourself on changing the description? > > Is there something what will use NIZYNQ symbol in the code? Does that > mean that there is something what is not handle now that you have to > use > this symbol? I think that is alright. Because, we are not using NIZYNQ symbol in the code. Furthermore, we are using our own header file (something like zynq- common.h) due to it will provide more flexibility on defining stuff (such as undefine something that defined in zynq-common, define CONFIG_EXTRA_ENV_SETTINGS, CONFIG_PREBOOT and etc..). I think we can easily change the default header file from zynq-common.h to our own one by redefine "SYS_CONFIG_NAME" again in defconfig. By the way, may I know is it have a better way for not keep on redefining the "SYS_CONFIG_NAME" in every board defconfig if we have 20+ boards. Thanks, Michal. Best Regards, Wilson Lee
On 23.11.2017 04:42, Wilson Lee wrote: > Hi Michal, > > On Wed, 2017-11-22 at 08:11 +0100, Michal Simek wrote: >> Hi, >> >> On 22.11.2017 04:06, Wilson Lee wrote: >>> >>> Hi Michal, >>> >>> On Wed, 2017-11-08 at 07:27 +0100, Michal Simek wrote: >>>> >>>> On 8.11.2017 03:54, Wilson Lee wrote: >>>>> >>>>> >>>>> Initial platform creation for NIZYNQ. >>>>> >>>>> Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> >>>>> Signed-off-by: Keng Soon Cheah <keng.soon.cheah@ni.com> >>>>> Signed-off-by: Wilson Lee <wilson.lee@ni.com> >>>>> Cc: Chen Yee Chew <chen.yee.chew@ni.com> >>>>> Cc: Albert Aribaud <albert.u.boot@aribaud.net> >>>>> --- >>>>> arch/arm/Kconfig | 15 +++++++++++++++ >>>>> arch/arm/Makefile | 4 +++- >>>>> board/ni/Kconfig | 13 +++++++++++++ >>>>> 3 files changed, 31 insertions(+), 1 deletion(-) >>>>> create mode 100644 board/ni/Kconfig >>>>> >>>>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >>>>> index 83b7aa5..ae34821 100644 >>>>> --- a/arch/arm/Kconfig >>>>> +++ b/arch/arm/Kconfig >>>>> @@ -767,6 +767,20 @@ config ARCH_ZYNQMP >>>>> select DM_USB if USB >>>>> imply FAT_WRITE >>>>> >>>>> +config NIZYNQ >>>>> + bool "National Instruments zynq Platform" >>>>> + select CPU_V7 >>>>> + select SUPPORT_SPL >>>>> + select OF_CONTROL >>>>> + select SPL_OF_CONTROL if SPL >>>>> + select DM >>>>> + select DM_ETH >>>>> + select DM_GPIO >>>>> + select SPL_DM if SPL >>>>> + select DM_MMC >>>>> + select DM_SERIAL >>>>> + select SPL_SEPARATE_BSS if SPL >>>>> + >>>> What's the reason for this? You should reuse current ZYNQ >>>> fragment >>>> and >>>> if this selects something what you don't want then we should >>>> changethat. Look at syzygy or topic boards which are using >>>> existing >>>> zynq >>>> infrastructure. >>>> >>>> Thanks, >>>> Michal >>>> >>>> >>> The reason for adding NIZYNQ instead of reuse ARCH_ZYNQ. That is >>> because we need NIZYNQ at the same level with ARCH_ZYNQ in >>> menuconfig. >>> We are thinking that it would be missleading, if our customer need >>> to >>> select Xilinx Zynq Platform before they can select NI product. >>> >>> Hence, what we wish to get the menuconfig that look like below, >>> >>> +------------------------ Target select ------------------------+ >>>> >>>> Use the arrow keys to navigate this window or press >>>> the | >>>> hotkey of the item you wish to select followed by the <SPACE | >>>> BAR>. Press <?> for additional information about >>>> this | >>>> +----^(-)---------------------------------------------------+ | >>>>> >>>>> ( ) Support pcm-052 | >>>>> | >>>>> ( ) Support BK4r1 | >>>>> | >>>> |( ) Xilinx Zynq Platform | >>>> | >>>>> >>>>> ( ) Support Xilinx ZynqMP Platform | >>>>> | >>>>> (X) National Instruments zynq Platform | >>>>> | >>>>> ( ) NVIDIA Tegra | >>>>> | >>>> +----+(+)---------------------------------------------------+ | >>> +---------------------------------------------------------------+ >>>> >>>> <Select> < Help >>>>> | >>> +---------------------------------------------------------------+ >>> >> I understand that you want to put there a little bit of marketing but >> moving to DM should avoid doing this and really I want to make xilinx >> ports generic as much as possible. >> >> What we can do is to change description to be more understandable >> like >> "Xilinx Zynq based platform". > > After some discussion, we think that changing the description to be > more understandable as you suggested above is make sense to us and it > is a good approache also. May I know, do you will submit a commit to > change the description or we might need to submit ourself on changing > the description? I have just sent that patch. Please look at it and ack/nack or propose better names. > >> >> Is there something what will use NIZYNQ symbol in the code? Does that >> mean that there is something what is not handle now that you have to >> use >> this symbol? > > I think that is alright. Because, we are not using NIZYNQ symbol in the > code. good. > > Furthermore, we are using our own header file (something like zynq- > common.h) due to it will provide more flexibility on defining stuff > (such as undefine something that defined in zynq-common, define > CONFIG_EXTRA_ENV_SETTINGS, CONFIG_PREBOOT and etc..). I think we can > easily change the default header file from zynq-common.h to our own one > by redefine "SYS_CONFIG_NAME" again in defconfig. By the way, may I > know is it have a better way for not keep on redefining the > "SYS_CONFIG_NAME" in every board defconfig if we have 20+ boards. Do you have any repo with these boards to have impression how exactly it looks like now? Where is the difference? In variables? Eveything should be moved to Kconfig till the end of this year and will see how it goes but some stuff like environment setting, etc will be problematic. I think it will be the best if you can submit what you want to add - 2-3 boards and we can look at it and try to find out a way how this can be merged. Thanks, Michal
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 83b7aa5..ae34821 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -767,6 +767,20 @@ config ARCH_ZYNQMP select DM_USB if USB imply FAT_WRITE +config NIZYNQ + bool "National Instruments zynq Platform" + select CPU_V7 + select SUPPORT_SPL + select OF_CONTROL + select SPL_OF_CONTROL if SPL + select DM + select DM_ETH + select DM_GPIO + select SPL_DM if SPL + select DM_MMC + select DM_SERIAL + select SPL_SEPARATE_BSS if SPL + config TEGRA bool "NVIDIA Tegra" imply FAT_WRITE @@ -1258,6 +1272,7 @@ source "board/hisilicon/hikey/Kconfig" source "board/hisilicon/poplar/Kconfig" source "board/imx31_phycore/Kconfig" source "board/isee/igep003x/Kconfig" +source "board/ni/Kconfig" source "board/olimex/mx23_olinuxino/Kconfig" source "board/phytec/pcm051/Kconfig" source "board/ppcag/bg0900/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 0e0ae77..fbc271a 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -74,7 +74,9 @@ machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip machine-$(CONFIG_STM32) += stm32 machine-$(CONFIG_TEGRA) += tegra machine-$(CONFIG_ARCH_UNIPHIER) += uniphier -machine-$(CONFIG_ARCH_ZYNQ) += zynq +ifneq (,$(findstring y,$(CONFIG_ZYNQ)$(CONFIG_NIZYNQ))) +machine-y += zynq +endif machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) diff --git a/board/ni/Kconfig b/board/ni/Kconfig new file mode 100644 index 0000000..382a544 --- /dev/null +++ b/board/ni/Kconfig @@ -0,0 +1,13 @@ +if NIZYNQ +choice + prompt "NI Zynq board select" + +endchoice + +config SYS_VENDOR + default "ni" + +config SYS_SOC + default "zynq" + +endif