Skip to contentSkip to conversation

ni: Add NIZYNQ platform

PATCH New Wilson Lee 3 participants 7 messages Nov 8, 2017 – Nov 23, 2017 Arm (32-bit)

lore
Share & tools
lore

Wilson Lee

author
#0 lore raw

PATCH 1/1 ni: Add NIZYNQ platform

Initial platform creation for NIZYNQ.

---
 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
arch/arm/Kconfig +15 -0
index 83b7aa5..ae34821 100644
@@ -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"
arch/arm/Makefile +3 -1
index 0e0ae77..fbc271a 100644
@@ -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))
 
board/ni/Kconfig new file +13 -0
new file mode 100644
index 0000000..382a544
@@ -0,0 +1,13 @@
+if NIZYNQ
+choice
+	prompt "NI Zynq board select"
+
+endchoice
+
+config SYS_VENDOR
+	default "ni"
+
+config SYS_SOC
+	default "zynq"
+
+endif
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 ni: Add NIZYNQ platform

Quoted 26 lines · Wilson Lee

Initial platform creation for NIZYNQ.

---
 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
arch/arm/Kconfig +4 -0
index 83b7aa5..ae34821 100644
@@ -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

arch/arm/Kconfig config ARCH_ZYNQMP · line 783

Quoted 10 lines
arch/arm/Kconfig +10 -0
+	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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171108/86d08086/attachment.sig>

author
#2 lore raw

PATCH 1/1 ni: Add NIZYNQ platform

Hi Michal,

Quoted 45 lines · Michal Simek
Quoted 27 lines · Wilson Lee

Initial platform creation for NIZYNQ.

---
 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

arch/arm/Kconfig +0 -0
index 83b7aa5..ae34821 100644
@@ -767,6 +767,20 @@ config ARCH_ZYNQMP

  select DM_USB if USB
  imply FAT_WRITE

arch/arm/Kconfig +4 -0
+config NIZYNQ
+	bool "National Instruments zynq Platform"
+	select CPU_V7
+	select SUPPORT_SPL

arch/arm/Kconfig config ARCH_ZYNQMP · line 783

Quoted 10 lines
arch/arm/Kconfig +10 -0
+	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.

Quoted 4 lines

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 >                     |  
+---------------------------------------------------------------+
#3 lore raw

PATCH 1/1 ni: Add NIZYNQ platform

Hi,

Quoted 60 lines · Wilson Lee

Hi Michal,

Quoted 45 lines · Michal Simek
Quoted 27 lines · Wilson Lee

Initial platform creation for NIZYNQ.

---
 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

arch/arm/Kconfig +0 -0
index 83b7aa5..ae34821 100644
@@ -767,6 +767,20 @@ config ARCH_ZYNQMP

  select DM_USB if USB
  imply FAT_WRITE

arch/arm/Kconfig +4 -0
+config NIZYNQ
+	bool "National Instruments zynq Platform"
+	select CPU_V7
+	select SUPPORT_SPL

arch/arm/Kconfig config ARCH_ZYNQMP · line 783

Quoted 10 lines
arch/arm/Kconfig +10 -0
+	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.

Quoted 4 lines

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,

Quoted 16 lines
+------------------------ 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

author
#4 lore raw

PATCH 1/1 ni: Add NIZYNQ platform

Hi Michal,

Quoted 98 lines · Michal Simek

Hi,

Quoted 88 lines · Wilson Lee

Hi Michal,

Quoted 49 lines · Michal Simek
Quoted 28 lines · Wilson Lee

Initial platform creation for NIZYNQ.

---
 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

arch/arm/Kconfig +0 -0
index 83b7aa5..ae34821 100644
@@ -767,6 +767,20 @@ config ARCH_ZYNQMP

  select DM_USB if USB
  imply FAT_WRITE

arch/arm/Kconfig +4 -0
+config NIZYNQ
+	bool "National Instruments zynq Platform"
+	select CPU_V7
+	select SUPPORT_SPL

arch/arm/Kconfig config ARCH_ZYNQMP · line 783

Quoted 10 lines
arch/arm/Kconfig +10 -0
+	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.

Quoted 4 lines

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 ------------------------+

Quoted 21 lines

  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        | +----^(-)---------------------------------------------------+ |

Quoted 5 lines

( ) Support pcm-052                                        | |
( ) Support BK4r1                                          | |

 |( ) Xilinx Zynq Platform                                   |
|  
Quoted 7 lines

( ) Support Xilinx ZynqMP Platform                         | |
(X) National Instruments zynq Platform                     | |
( ) NVIDIA Tegra                                           | |

Quoted 7 lines
Quoted 1 line

+----+(+)---------------------------------------------------+ |

+---------------------------------------------------------------+

Quoted 3 lines

                    <Select>      < Help

Quoted 1 line

                     |

+---------------------------------------------------------------+

Quoted 7 lines

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?

Quoted 5 lines

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

#5 lore raw

PATCH 1/1 ni: Add NIZYNQ platform

Quoted 109 lines · Wilson Lee

Hi Michal,

Quoted 98 lines · Michal Simek

Hi,

Quoted 88 lines · Wilson Lee

Hi Michal,

Quoted 49 lines · Michal Simek
Quoted 28 lines · Wilson Lee

Initial platform creation for NIZYNQ.

---
 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

arch/arm/Kconfig +0 -0
index 83b7aa5..ae34821 100644
@@ -767,6 +767,20 @@ config ARCH_ZYNQMP

  select DM_USB if USB
  imply FAT_WRITE

arch/arm/Kconfig +4 -0
+config NIZYNQ
+	bool "National Instruments zynq Platform"
+	select CPU_V7
+	select SUPPORT_SPL

arch/arm/Kconfig config ARCH_ZYNQMP · line 783

Quoted 10 lines
arch/arm/Kconfig +10 -0
+	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.

Quoted 4 lines

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 ------------------------+

Quoted 21 lines

  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        | +----^(-)---------------------------------------------------+ |

Quoted 5 lines

( ) Support pcm-052                                        | |
( ) Support BK4r1                                          | |

 |( ) Xilinx Zynq Platform                                   |
|  
Quoted 7 lines

( ) Support Xilinx ZynqMP Platform                         | |
(X) National Instruments zynq Platform                     | |
( ) NVIDIA Tegra                                           | |

Quoted 7 lines
Quoted 1 line

+----+(+)---------------------------------------------------+ |

+---------------------------------------------------------------+

Quoted 3 lines

                    <Select>      < Help

Quoted 1 line

                     |

+---------------------------------------------------------------+

Quoted 7 lines

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".

Quoted 5 lines

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.

Quoted 9 lines
Quoted 6 lines

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.

Quoted 9 lines

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

author
#6 lore raw

PATCH 1/1 ni: Add NIZYNQ platform

In reply to Michal Simek

Hi Michal,

Quoted 44 lines · Michal Simek
Quoted 27 lines · Wilson Lee

Initial platform creation for NIZYNQ.

---
 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

arch/arm/Kconfig +0 -0
index 83b7aa5..ae34821 100644
@@ -767,6 +767,20 @@ config ARCH_ZYNQMP

  select DM_USB if USB
  imply FAT_WRITE

arch/arm/Kconfig +4 -0
+config NIZYNQ
+	bool "National Instruments zynq Platform"
+	select CPU_V7
+	select SUPPORT_SPL

arch/arm/Kconfig config ARCH_ZYNQMP · line 783

Quoted 10 lines
arch/arm/Kconfig +10 -0
+	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.

Quoted 4 lines

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