Skip to contentSkip to conversation

imx: mx6ul: Refactor common code as mx6ul

PATCH New Jagan Teki 6 participants 18 messages Sep 3, 2016 – Sep 6, 2016

Subsystems (2)
lore
Share & tools
lore

Jagan Teki

author
#0 lore raw

PATCH 1/5 imx: mx6ul: Refactor common code as mx6ul

Since most of the board along with the config code used for mx6ul boards are common and for improving code reusability refactor or group code as mx6ul notation. Hence for new board its simply add new defconfig with existing board or related configs.

include/configs/mx6ul_14x14_evk.h -> include/configs/mx6ul.h board/freescale/mx6ul_14x14_evk -> board/freescale/mx6ul board/freescale/mx6ul/mx6ul_14x14_evk.c -> board/freescale/mx6ul/board.c

Cc Stefano Babic <[email protected]>
Cc Peng Fan <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/cpu/armv7/mx6/Kconfig                                       | 2 +-
 board/freescale/{mx6ul_14x14_evk => mx6ul}/Kconfig                   | 4 ++--
 board/freescale/{mx6ul_14x14_evk => mx6ul}/MAINTAINERS               | 4 ++--
 board/freescale/{mx6ul_14x14_evk => mx6ul}/Makefile                  | 2 +-
 board/freescale/{mx6ul_14x14_evk => mx6ul}/README                    | 0
 board/freescale/{mx6ul_14x14_evk/mx6ul_14x14_evk.c => mx6ul/board.c} | 0
 include/configs/{mx6ul_14x14_evk.h => mx6ul.h}                       | 0
 7 files changed, 6 insertions(+), 6 deletions(-)
 rename board/freescale/{mx6ul_14x14_evk => mx6ul}/Kconfig (72%)
 rename board/freescale/{mx6ul_14x14_evk => mx6ul}/MAINTAINERS (64%)
 rename board/freescale/{mx6ul_14x14_evk => mx6ul}/Makefile (76%)
 rename board/freescale/{mx6ul_14x14_evk => mx6ul}/README (100%)
 rename board/freescale/{mx6ul_14x14_evk/mx6ul_14x14_evk.c => mx6ul/board.c} (100%)
 rename include/configs/{mx6ul_14x14_evk.h => mx6ul.h} (100%)
arch/arm/cpu/armv7/mx6/Kconfig +1 -1
index 78383f0..0c1bc78 100644
@@ -216,7 +216,7 @@ source "board/freescale/mx6sabresd/Kconfig"
 source "board/freescale/mx6slevk/Kconfig"
 source "board/freescale/mx6sxsabresd/Kconfig"
 source "board/freescale/mx6sxsabreauto/Kconfig"
-source "board/freescale/mx6ul_14x14_evk/Kconfig"
+source "board/freescale/mx6ul/Kconfig"
 source "board/phytec/pcm058/Kconfig"
 source "board/gateworks/gw_ventana/Kconfig"
 source "board/kosagi/novena/Kconfig"
board/freescale/mx6ul/Kconfig renamed from board/freescale/mx6ul_14x14_evk/Kconfig +2 -2
similarity index 72%
rename from board/freescale/mx6ul_14x14_evk/Kconfig
rename to board/freescale/mx6ul/Kconfig
index 8210cd3..f97b905 100644
@@ -1,12 +1,12 @@
 if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK
 
 config SYS_BOARD
-	default "mx6ul_14x14_evk"
+	default "mx6ul"
 
 config SYS_VENDOR
 	default "freescale"
 
 config SYS_CONFIG_NAME
-	default "mx6ul_14x14_evk"
+	default "mx6ul"
 
 endif
board/freescale/mx6ul/MAINTAINERS renamed from board/freescale/mx6ul_14x14_evk/MAINTAINERS +2 -2
similarity index 64%
rename from board/freescale/mx6ul_14x14_evk/MAINTAINERS
rename to board/freescale/mx6ul/MAINTAINERS
index 7c7a196..20caeee 100644
@@ -1,7 +1,7 @@
 MX6ULEVK BOARD
 M:	Peng Fan <[email protected]>
 S:	Maintained
-F:	board/freescale/mx6ul_14x14_evk/
-F:	include/configs/mx6ul_14x14_evk.h
+F:	board/freescale/mx6ul/
+F:	include/configs/mx6ul.h
 F:	configs/mx6ul_14x14_evk_defconfig
 F:	configs/mx6ul_9x9_evk_defconfig
board/freescale/mx6ul/Makefile renamed from board/freescale/mx6ul_14x14_evk/Makefile +1 -1
similarity index 76%
rename from board/freescale/mx6ul_14x14_evk/Makefile
rename to board/freescale/mx6ul/Makefile
index 61f6778..80ab4a5 100644
@@ -3,4 +3,4 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
-obj-y  := mx6ul_14x14_evk.o
+obj-y  := board.o
board/freescale/mx6ul/README renamed from board/freescale/mx6ul_14x14_evk/README +0 -0
similarity index 100%
rename from board/freescale/mx6ul_14x14_evk/README
rename to board/freescale/mx6ul/README
board/freescale/mx6ul/board.c renamed from board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c +0 -0
similarity index 100%
rename from board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
rename to board/freescale/mx6ul/board.c
include/configs/mx6ul.h renamed from include/configs/mx6ul_14x14_evk.h +0 -0
similarity index 100%
rename from include/configs/mx6ul_14x14_evk.h
rename to include/configs/mx6ul.h
Signature · 1 line
2.7.4
author
#1 lore raw

PATCH 2/5 configs: mx6ul: Update comment in license notes

Since mx6ul.h is common to all mx6ul board configs, so update the comment in license notes as i.MX6UL SOC config.

Cc Stefano Babic <[email protected]>
Cc Peng Fan <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 include/configs/mx6ul.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/configs/mx6ul.h +1 -1
index b2ba773..77707c9 100644
@@ -1,7 +1,7 @@
 /*
  * Copyright (C) 2015 Freescale Semiconductor, Inc.
  *
- * Configuration settings for the Freescale i.MX6UL 14x14 EVK board.
+ * Configuration settings for the NXP i.MX6UL SOC.
  *
  * SPDX-License-Identifier:	GPL-2.0+
  */
Signature · 1 line
2.7.4
author
#2 lore raw

PATCH 3/5 spi: Kconfig: Move FSL_QSPI entry to non-dm place

In reply to Jagan Teki

Since FSL_QSPI driver still supporting non-dm code better to move the Kconfig from DM undefined place.

Cc Stefano Babic <[email protected]>
Cc Peng Fan <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 drivers/spi/Kconfig | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
drivers/spi/Kconfig +7 -7
index aca385d..5da66a6 100644
@@ -61,13 +61,6 @@ config FSL_DSPI
 	  this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
 	  use this driver.
 
-config FSL_QSPI
-	bool "Freescale QSPI driver"
-	help
-	  Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
-	  used to access the SPI NOR flash on platforms embedding this
-	  Freescale IP core.
-
 config ICH_SPI
 	bool "Intel ICH SPI driver"
 	help
@@ -188,6 +181,13 @@ config FSL_ESPI
 	  access the SPI interface and SPI NOR flash on platforms embedding
 	  this Freescale eSPI IP core.
 
+config FSL_QSPI
+	bool "Freescale QSPI driver"
+	help
+	  Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
+	  used to access the SPI NOR flash on platforms embedding this
+	  Freescale IP core.
+
 config TI_QSPI
 	bool "TI QSPI driver"
 	help
Signature · 1 line
2.7.4
author
#3 lore raw

PATCH 4/5 configs: mx6ul: Move SPI/SPI-FLASH configs to defconfig

In reply to Jagan Teki

Moved SPI/SPI-FLASH configs from mx6ul.h into respective used defconfigs.
- CONFIG_FSL_QSPI
- CONFIG_SPI_FLASH
- CONFIG_SPI_FLASH_BAR
- CONFIG_SPI_FLASH_STMICRO

Cc Stefano Babic <[email protected]>
Cc Peng Fan <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 configs/mx6ul_14x14_evk_defconfig | 4 ++++
 configs/mx6ul_9x9_evk_defconfig   | 4 ++++
 include/configs/mx6ul.h           | 4 ----
 3 files changed, 8 insertions(+), 4 deletions(-)
configs/mx6ul_14x14_evk_defconfig +4 -0
index c65bdbf..4c9e19a 100644
@@ -22,3 +22,7 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FSL_QSPI=y
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_BAR=y
+CONFIG_SPI_FLASH_STMICRO=y
configs/mx6ul_9x9_evk_defconfig +4 -0
index caf2477..da1997b 100644
@@ -22,3 +22,7 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FSL_QSPI=y
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_BAR=y
+CONFIG_SPI_FLASH_STMICRO=y
include/configs/mx6ul.h +0 -4
index 77707c9..f5bdb40 100644
@@ -188,15 +188,11 @@
 #ifndef CONFIG_SYS_DCACHE_OFF
 #endif
 
-#define CONFIG_FSL_QSPI
 #ifdef CONFIG_FSL_QSPI
-#define CONFIG_SPI_FLASH
-#define CONFIG_SPI_FLASH_BAR
 #define CONFIG_SF_DEFAULT_BUS		0
 #define CONFIG_SF_DEFAULT_CS		0
 #define CONFIG_SF_DEFAULT_SPEED	40000000
 #define CONFIG_SF_DEFAULT_MODE		SPI_MODE_0
-#define CONFIG_SPI_FLASH_STMICRO
 #define FSL_QSPI_FLASH_NUM		1
 #define FSL_QSPI_FLASH_SIZE		SZ_32M
 #endif
Signature · 1 line
2.7.4
author
#4 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

In reply to Jagan Teki

i.MX6UL GEA M6UL modules are system on module solutions manufactured by Engicam with following characteristics:

Processor       NXP i.MX 6UltraLite MCIMX6G2, 528 MHz
RAM             128MB, 16-bit DDR3
NAND SLC        256MB
Power supply    Single 5V
MAX LCD RES     up to WXGA, 1366x768
Cc Stefano Babic <[email protected]>
Cc Peng Fan <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/cpu/armv7/mx6/Kconfig    |  6 ++++++
 board/freescale/mx6ul/Kconfig     |  2 +-
 board/freescale/mx6ul/MAINTAINERS |  5 +++++
 board/freescale/mx6ul/board.c     |  4 +++-
 configs/mx6ul_geam_kit_defconfig  | 11 +++++++++++
 include/configs/mx6ul.h           |  1 +
 6 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 configs/mx6ul_geam_kit_defconfig
arch/arm/cpu/armv7/mx6/Kconfig +6 -0
index 0c1bc78..d861ded 100644
@@ -129,6 +129,12 @@ config TARGET_MX6UL_14X14_EVK
 	select DM_THERMAL
 	select SUPPORT_SPL
 
+config TARGET_MX6UL_GEAM_KIT
+	bool "mx6ul_geam_kit"
+	select MX6UL
+	select DM
+	select DM_THERMAL
+
 config TARGET_NITROGEN6X
 	bool "nitrogen6x"
 
board/freescale/mx6ul/Kconfig +1 -1
index f97b905..d902cd0 100644
@@ -1,4 +1,4 @@
-if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK
+if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
 
 config SYS_BOARD
 	default "mx6ul"
board/freescale/mx6ul/MAINTAINERS +5 -0
index 20caeee..3265858 100644
@@ -5,3 +5,8 @@ F:	board/freescale/mx6ul/
 F:	include/configs/mx6ul.h
 F:	configs/mx6ul_14x14_evk_defconfig
 F:	configs/mx6ul_9x9_evk_defconfig
+
+Engicam GEAM6UL BOARD
+M:	Jagan Teki <[email protected]>
+S:	Maintained
+F:	configs/mx6ul_geam_kit_defconfig
board/freescale/mx6ul/board.c +3 -1
index 66d6795..f4e35bd 100644
@@ -693,8 +693,10 @@ int checkboard(void)
 {
 	if (is_mx6ul_9x9_evk())
 		puts("Board: MX6UL 9x9 EVK\n");
-	else
+	else if (is_mx6ul_14x14_evk())
 		puts("Board: MX6UL 14x14 EVK\n");
+	else
+		puts("Board: MX6UL GEA KIT\n");
 
 	return 0;
 }
configs/mx6ul_geam_kit_defconfig new file +11 -0
new file mode 100644
index 0000000..b26f17b
@@ -0,0 +1,11 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MX6=y
+CONFIG_TARGET_MX6UL_GEAM_KIT=y
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="geam6ul> "
+CONFIG_AUTO_COMPLETE=y
+CONFIG_SYS_MAXARGS=32
+CONFIG_BOOTDELAY=3
+CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_BOARD_LATE_INIT=y
+# CONFIG_CMD_IMLS is not set
include/configs/mx6ul.h +1 -0
index f5bdb40..55460ad 100644
@@ -14,6 +14,7 @@
 #include <asm/imx-common/gpio.h>
 
 #define is_mx6ul_9x9_evk()	CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK)
+#define is_mx6ul_14x14_evk()	CONFIG_IS_ENABLED(TARGET_MX6UL_14x14_EVK)
 
 /* SPL options */
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
Signature · 1 line
2.7.4
#5 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

Hi Jagan,

Quoted 85 lines · Jagan Teki

i.MX6UL GEA M6UL modules are system on module solutions manufactured by Engicam with following characteristics:

Processor       NXP i.MX 6UltraLite MCIMX6G2, 528 MHz
RAM             128MB, 16-bit DDR3
NAND SLC        256MB
Power supply    Single 5V
MAX LCD RES     up to WXGA, 1366x768
Cc Stefano Babic <[email protected]>
Cc Peng Fan <[email protected]>
Cc Michael Trimarchi <[email protected]>

---

arch/arm/cpu/armv7/mx6/Kconfig    |  6 ++++++
board/freescale/mx6ul/Kconfig     |  2 +-
board/freescale/mx6ul/MAINTAINERS |  5 +++++
board/freescale/mx6ul/board.c     |  4 +++-
configs/mx6ul_geam_kit_defconfig  | 11 +++++++++++
include/configs/mx6ul.h           |  1 +
6 files changed, 27 insertions(+), 2 deletions(-)

create mode 100644 configs/mx6ul_geam_kit_defconfig

arch/arm/cpu/armv7/mx6/Kconfig +6 -0
index 0c1bc78..d861ded 100644
@@ -129,6 +129,12 @@ config TARGET_MX6UL_14X14_EVK
 	select DM_THERMAL
 	select SUPPORT_SPL
 
+config TARGET_MX6UL_GEAM_KIT
+	bool "mx6ul_geam_kit"
+	select MX6UL
+	select DM
+	select DM_THERMAL
+

config TARGET_NITROGEN6X
bool "nitrogen6x"

board/freescale/mx6ul/Kconfig +1 -1
index f97b905..d902cd0 100644
@@ -1,4 +1,4 @@
-if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK
+if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
 

config SYS_BOARD
default "mx6ul"

board/freescale/mx6ul/MAINTAINERS +0 -0
index 20caeee..3265858 100644
@@ -5,3 +5,8 @@ F:	board/freescale/mx6ul/

F: include/configs/mx6ul.h
F: configs/mx6ul_14x14_evk_defconfig
F: configs/mx6ul_9x9_evk_defconfig

board/freescale/mx6ul/MAINTAINERS +5 -0
+
+Engicam GEAM6UL BOARD
+M:	Jagan Teki <[email protected]>
+S:	Maintained
+F:	configs/mx6ul_geam_kit_defconfig
board/freescale/mx6ul/board.c +3 -1
index 66d6795..f4e35bd 100644
@@ -693,8 +693,10 @@ int checkboard(void)
 {
 	if (is_mx6ul_9x9_evk())
 		puts("Board: MX6UL 9x9 EVK\n");
-	else
+	else if (is_mx6ul_14x14_evk())
 		puts("Board: MX6UL 14x14 EVK\n");
+	else
+		puts("Board: MX6UL GEA KIT\n");
 
 	return 0;
 }
configs/mx6ul_geam_kit_defconfig new file +1 -0
new file mode 100644
index 0000000..b26f17b
@@ -0,0 +1,11 @@
+CONFIG_ARM=y

configs/mx6ul_geam_kit_defconfig line 11

Quoted 10 lines
configs/mx6ul_geam_kit_defconfig new file +10 -0
+CONFIG_ARCH_MX6=y
+CONFIG_TARGET_MX6UL_GEAM_KIT=y
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="geam6ul> "
+CONFIG_AUTO_COMPLETE=y
+CONFIG_SYS_MAXARGS=32
+CONFIG_BOOTDELAY=3
+CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_BOARD_LATE_INIT=y
+# CONFIG_CMD_IMLS is not set

I think you missed ddr script settings, SPL or DCD?

Regards,
Peng.

#6 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

Hi Peng,

Quoted 92 lines · Peng Fan

Hi Jagan,

Quoted 89 lines · Jagan Teki

i.MX6UL GEA M6UL modules are system on module solutions manufactured by Engicam with following characteristics:

Processor       NXP i.MX 6UltraLite MCIMX6G2, 528 MHz
RAM             128MB, 16-bit DDR3
NAND SLC        256MB
Power supply    Single 5V
MAX LCD RES     up to WXGA, 1366x768
Cc Stefano Babic <[email protected]>
Cc Peng Fan <[email protected]>
Cc Michael Trimarchi <[email protected]>

---

arch/arm/cpu/armv7/mx6/Kconfig    |  6 ++++++
board/freescale/mx6ul/Kconfig     |  2 +-
board/freescale/mx6ul/MAINTAINERS |  5 +++++
board/freescale/mx6ul/board.c     |  4 +++-
configs/mx6ul_geam_kit_defconfig  | 11 +++++++++++
include/configs/mx6ul.h           |  1 +
6 files changed, 27 insertions(+), 2 deletions(-)

create mode 100644 configs/mx6ul_geam_kit_defconfig

arch/arm/cpu/armv7/mx6/Kconfig +6 -0
index 0c1bc78..d861ded 100644
@@ -129,6 +129,12 @@ config TARGET_MX6UL_14X14_EVK
      select DM_THERMAL
      select SUPPORT_SPL
 
+config TARGET_MX6UL_GEAM_KIT
+      bool "mx6ul_geam_kit"
+      select MX6UL
+      select DM
+      select DM_THERMAL
+

config TARGET_NITROGEN6X
bool "nitrogen6x"

board/freescale/mx6ul/Kconfig +1 -1
index f97b905..d902cd0 100644
@@ -1,4 +1,4 @@
-if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK
+if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
 

config SYS_BOARD
default "mx6ul"

board/freescale/mx6ul/MAINTAINERS +0 -0
index 20caeee..3265858 100644
@@ -5,3 +5,8 @@ F:     board/freescale/mx6ul/
F:    include/configs/mx6ul.h
F:    configs/mx6ul_14x14_evk_defconfig
F:    configs/mx6ul_9x9_evk_defconfig
board/freescale/mx6ul/MAINTAINERS +5 -0
+
+Engicam GEAM6UL BOARD
+M:    Jagan Teki <[email protected]>
+S:    Maintained
+F:    configs/mx6ul_geam_kit_defconfig
board/freescale/mx6ul/board.c +3 -1
index 66d6795..f4e35bd 100644
@@ -693,8 +693,10 @@ int checkboard(void)
 {
      if (is_mx6ul_9x9_evk())
              puts("Board: MX6UL 9x9 EVK\n");
-      else
+      else if (is_mx6ul_14x14_evk())
              puts("Board: MX6UL 14x14 EVK\n");
+      else
+              puts("Board: MX6UL GEA KIT\n");
 
      return 0;
 }
configs/mx6ul_geam_kit_defconfig new file +5 -0
new file mode 100644
index 0000000..b26f17b
@@ -0,0 +1,11 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MX6=y
+CONFIG_TARGET_MX6UL_GEAM_KIT=y
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="geam6ul> "
Quoted 8 lines

configs/mx6ul_geam_kit_defconfig line 11

Quoted 6 lines
configs/mx6ul_geam_kit_defconfig new file +6 -0
+CONFIG_AUTO_COMPLETE=y
+CONFIG_SYS_MAXARGS=32
+CONFIG_BOOTDELAY=3
+CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_BOARD_LATE_INIT=y
+# CONFIG_CMD_IMLS is not set

I think you missed ddr script settings, SPL or DCD?

True - I will update the code once I tested on board and the reason for sending this series earlier is to make an approval of existing file name changes. Will that be OK?

Jagan.

Signature · 4 lines
Jagan Teki
Free Software Engineer | Amarula Solutions
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#7 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

In reply to Jagan Teki
Quoted 8 lines · Jagan Teki

i.MX6UL GEA M6UL modules are system on module solutions manufactured by Engicam with following characteristics:

Processor       NXP i.MX 6UltraLite MCIMX6G2, 528 MHz
RAM             128MB, 16-bit DDR3
NAND SLC        256MB
Power supply    Single 5V
MAX LCD RES     up to WXGA, 1366x768
Quoted 7 lines
Cc Stefano Babic <[email protected]>
Cc Peng Fan <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/cpu/armv7/mx6/Kconfig    |  6 ++++++
 board/freescale/mx6ul/Kconfig     |  2 +-

This file does not exist.

Quoted 2 lines
 board/freescale/mx6ul/MAINTAINERS |  5 +++++
 board/freescale/mx6ul/board.c     |  4 +++-

This file does not exist.

Quoted 2 lines
 configs/mx6ul_geam_kit_defconfig  | 11 +++++++++++
 include/configs/mx6ul.h           |  1 +

This file does not exist.

You should generate a patch against u-boot-imx git tree.

#8 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

Quoted 22 lines · Fabio Estevam
Quoted 8 lines · Jagan Teki

i.MX6UL GEA M6UL modules are system on module solutions manufactured by Engicam with following characteristics:

Processor       NXP i.MX 6UltraLite MCIMX6G2, 528 MHz
RAM             128MB, 16-bit DDR3
NAND SLC        256MB
Power supply    Single 5V
MAX LCD RES     up to WXGA, 1366x768
Quoted 7 lines
Cc Stefano Babic <[email protected]>
Cc Peng Fan <[email protected]>
Cc Michael Trimarchi <[email protected]>
---
 arch/arm/cpu/armv7/mx6/Kconfig    |  6 ++++++
 board/freescale/mx6ul/Kconfig     |  2 +-

This file does not exist.

Quoted 2 lines
 board/freescale/mx6ul/MAINTAINERS |  5 +++++
 board/freescale/mx6ul/board.c     |  4 +++-
Quoted 6 lines

This file does not exist.

Quoted 2 lines
 configs/mx6ul_geam_kit_defconfig  | 11 +++++++++++
 include/configs/mx6ul.h           |  1 +

This file does not exist.

These files are the outcomes of previous patches on this series, please find that.

Quoted 2 lines

You should generate a patch against u-boot-imx git tree.

OK, will do that.

thanks!

Signature · 1 line
Jagan.
#9 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

In reply to Fabio Estevam

Hi Jagan,

Quoted 4 lines · Fabio Estevam
Quoted 2 lines
 configs/mx6ul_geam_kit_defconfig  | 11 +++++++++++
 include/configs/mx6ul.h           |  1 +

This file does not exist.

Ok, I see you introduced these files on previous patches of the series.

I don't think it makes sense to have a global mx6ul.h though.

#10 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

Hi Fabio,

Quoted 4 lines · Fabio Estevam

Hi Jagan,

On Sat, Sep 3, 2016 at 10:26 PM, Fabio Estevam <[email protected]> wrote:

Quoted 8 lines
Quoted 4 lines
Quoted 2 lines
 configs/mx6ul_geam_kit_defconfig  | 11 +++++++++++
 include/configs/mx6ul.h           |  1 +

This file does not exist.

Ok, I see you introduced these files on previous patches of the series.

I don't think it makes sense to have a global mx6ul.h though.

Please review the respective patches and let me know your comments. I strongly suspect the global mx6ul.h require as number board with same soc have different defcoonfigs which is similar to the way common imx6ul.dtsi with respective board dts files.

thanks!

Signature · 1 line
Jagan.
#11 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

In reply to Jagan Teki

Hi Jagan,

board/freescale/mx6ul/Kconfig

Quoted 5 lines · Jagan Teki
board/freescale/mx6ul/Kconfig +0 -0
index f97b905..d902cd0 100644

At least for i.MX we follow the convention:
board/vendor/vendorboardname, so under board/freescale directory we would expect boards manufactured by FSL/NXP only.

board/freescale/mx6ul/MAINTAINERS F: board/freescale/mx6ul/

Quoted 11 lines
board/freescale/mx6ul/Kconfig +1 -1
@@ -1,4 +1,4 @@
-if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK
+if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
 
 config SYS_BOARD
        default "mx6ul"
board/freescale/mx6ul/MAINTAINERS +0 -0
index 20caeee..3265858 100644
@@ -5,3 +5,8 @@ F:      board/freescale/mx6ul/

It would be better if you were listed as the maintainer of the Engicam mx6ul board.

How can I person that does not have the hardware nor it is familiar with it, be the maintainer of such platform?

board/freescale/mx6ul/board.c int checkboard(void) · line 701

Quoted 13 lines
board/freescale/mx6ul/board.c +3 -1
@@ -693,8 +693,10 @@ int checkboard(void)
 {
        if (is_mx6ul_9x9_evk())
                puts("Board: MX6UL 9x9 EVK\n");
-       else
+       else if (is_mx6ul_14x14_evk())
                puts("Board: MX6UL 14x14 EVK\n");
+       else
+               puts("Board: MX6UL GEA KIT\n");
 
        return 0;

If I want to change board.c to improve/fix the code for mx6ulevk there is risk that such change could break mx6ulgea support.

I prefer that you place the new board at board/engicam/mx6ulgea, or something.

include/configs/mx6ul.h line 17

Quoted 7 lines
include/configs/mx6ul.h +1 -0
@@ -14,6 +14,7 @@
 #include <asm/imx-common/gpio.h>
 
 #define is_mx6ul_9x9_evk()     CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK)
+#define is_mx6ul_14x14_evk()   CONFIG_IS_ENABLED(TARGET_MX6UL_14x14_EVK)

This seems to be an unrelated change.

#12 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

Hi Fabio

Quoted 28 lines · Fabio Estevam

Hi Jagan,

board/freescale/mx6ul/Kconfig

Quoted 5 lines · Jagan Teki
board/freescale/mx6ul/Kconfig +0 -0
index f97b905..d902cd0 100644

At least for i.MX we follow the convention:
board/vendor/vendorboardname, so under board/freescale directory we would expect boards manufactured by FSL/NXP only.

board/freescale/mx6ul/MAINTAINERS F: board/freescale/mx6ul/

Quoted 11 lines
board/freescale/mx6ul/Kconfig +1 -1
@@ -1,4 +1,4 @@
-if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK
+if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
 
 config SYS_BOARD
        default "mx6ul"
board/freescale/mx6ul/MAINTAINERS +0 -0
index 20caeee..3265858 100644
@@ -5,3 +5,8 @@ F:      board/freescale/mx6ul/

It would be better if you were listed as the maintainer of the Engicam mx6ul board.

Quoted 3 lines

How can I person that does not have the hardware nor it is familiar with it, be the maintainer of such platform?

Hardware is on the way ;).

Michael

Quoted 33 lines

board/freescale/mx6ul/board.c int checkboard(void) · line 701

Quoted 13 lines
board/freescale/mx6ul/board.c +3 -1
@@ -693,8 +693,10 @@ int checkboard(void)
 {
        if (is_mx6ul_9x9_evk())
                puts("Board: MX6UL 9x9 EVK\n");
-       else
+       else if (is_mx6ul_14x14_evk())
                puts("Board: MX6UL 14x14 EVK\n");
+       else
+               puts("Board: MX6UL GEA KIT\n");
 
        return 0;

If I want to change board.c to improve/fix the code for mx6ulevk there is risk that such change could break mx6ulgea support.

I prefer that you place the new board at board/engicam/mx6ulgea, or something.

include/configs/mx6ul.h line 17

Quoted 7 lines
include/configs/mx6ul.h +1 -0
@@ -14,6 +14,7 @@
 #include <asm/imx-common/gpio.h>
 
 #define is_mx6ul_9x9_evk()     CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK)
+#define is_mx6ul_14x14_evk()   CONFIG_IS_ENABLED(TARGET_MX6UL_14x14_EVK)

This seems to be an unrelated change.
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Signature · 4 lines
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |
author
#13 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

In reply to Fabio Estevam

Hi Fabio,

+ Tom (looking for any suggestions for not maintaining separate board files if the board code is sharing different boards with same SOC)

Quoted 4 lines · Fabio Estevam

Hi Jagan,

Quoted 1 line · Jagan Teki
Quoted 8 lines

board/freescale/mx6ul/Kconfig

Quoted 4 lines
board/freescale/mx6ul/Kconfig +0 -0
index f97b905..d902cd0 100644

At least for i.MX we follow the convention:
board/vendor/vendorboardname, so under board/freescale directory we would expect boards manufactured by FSL/NXP only.

Please see below for this.

Quoted 16 lines

board/freescale/mx6ul/MAINTAINERS F: board/freescale/mx6ul/

Quoted 12 lines
board/freescale/mx6ul/Kconfig +1 -1
@@ -1,4 +1,4 @@
-if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK
+if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
 
 config SYS_BOARD
        default "mx6ul"
board/freescale/mx6ul/MAINTAINERS +0 -0
index 20caeee..3265858 100644
@@ -5,3 +5,8 @@ F:      board/freescale/mx6ul/

It would be better if you were listed as the maintainer of the Engicam mx6ul board.

Quoted 2 lines

How can I person that does not have the hardware nor it is familiar with it, be the maintainer of such platform?

Please do read the thread fully before commenting, I've mentioned the state of hardware when I relied to Peng. And also this is an RFC patch I'm looking for comments on function like changes whether the flow of adding code to existing software is meaningful or not and not intended to directly applying these onto ML.

Quoted 13 lines
Quoted 13 lines
board/freescale/mx6ul/board.c +3 -1
@@ -693,8 +693,10 @@ int checkboard(void)
 {
        if (is_mx6ul_9x9_evk())
                puts("Board: MX6UL 9x9 EVK\n");
-       else
+       else if (is_mx6ul_14x14_evk())
                puts("Board: MX6UL 14x14 EVK\n");
+       else
+               puts("Board: MX6UL GEA KIT\n");
 
Quoted 6 lines

board/freescale/mx6ul/board.c int checkboard(void) · line 701

Quoted 1 line
board/freescale/mx6ul/board.c +0 -0
        return 0;

If I want to change board.c to improve/fix the code for mx6ulevk there is risk that such change could break mx6ulgea support.

I prefer that you place the new board at board/engicam/mx6ulgea, or something.

But I prefer to maintain the same on board/freescale/imx6ul. Becuase, If the most of the code is common to all boards with specific SOC it's better to have common code for reusability instead of adding different board files with duplicate code. For example please see board/sunxi or board/xilinx/zynq where microzed, zed or zynbo not directly manufactured from xilinx but they maintained as common.

Quoted 11 lines

include/configs/mx6ul.h line 17

Quoted 9 lines
include/configs/mx6ul.h +1 -0
@@ -14,6 +14,7 @@
 #include <asm/imx-common/gpio.h>
 
 #define is_mx6ul_9x9_evk()     CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK)
+#define is_mx6ul_14x14_evk()   CONFIG_IS_ENABLED(TARGET_MX6UL_14x14_EVK)

This seems to be an unrelated change.

OK, will fix.

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#14 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

Quoted 5 lines · Jagan Teki

Please do read the thread fully before commenting, I've mentioned the state of hardware when I relied to Peng. And also this is an RFC patch I'm looking for comments on function like changes whether the flow of adding code to existing software is meaningful or not and not intended to directly applying these onto ML.

I have already stated my opinion that you should put your board code into board/engicam.

Quoted 6 lines

But I prefer to maintain the same on board/freescale/imx6ul. Becuase, If the most of the code is common to all boards with specific SOC it's better to have common code for reusability instead of adding different board files with duplicate code. For example please see board/sunxi or board/xilinx/zynq where microzed, zed or zynbo not directly manufactured from xilinx but they maintained as common.

All the ifdefery inside board/sunxi/board.c is exactly what I would like to avoid here.

mx6ul is a recent SoC and there is only mx6ul evk and pico mx6ul boards currently supported in U-Boot.

I don't think this can scale to support all upcoming boards into a single board/freescale/mx6ul/board.c.

Why is mx6ul special in this case compared to the other mx6 variants?

Will you be able to support all mx6q boards into
board/freescale/mx6q/board.c as well?

I am sure this will be unmaintainable.

#15 lore raw

RFC PATCH 5/5 imx: mx6ul: Add initial board support for Engicam GEAM6UL

Quoted 10 lines · Fabio Estevam
Quoted 5 lines · Jagan Teki

Please do read the thread fully before commenting, I've mentioned the state of hardware when I relied to Peng. And also this is an RFC patch I'm looking for comments on function like changes whether the flow of adding code to existing software is meaningful or not and not intended to directly applying these onto ML.

I have already stated my opinion that you should put your board code into board/engicam.

Yes, this sounds right.

Quoted 9 lines
Quoted 6 lines

But I prefer to maintain the same on board/freescale/imx6ul. Becuase, If the most of the code is common to all boards with specific SOC it's better to have common code for reusability instead of adding different board files with duplicate code. For example please see board/sunxi or board/xilinx/zynq where microzed, zed or zynbo not directly manufactured from xilinx but they maintained as common.

All the ifdefery inside board/sunxi/board.c is exactly what I would like to avoid here.

Now, in fairness to sunxi, that's more like what would happen if you decided to support all of the imx6 and imx7 SoCs in a single board.c.

Quoted 6 lines

mx6ul is a recent SoC and there is only mx6ul evk and pico mx6ul boards currently supported in U-Boot.

I don't think this can scale to support all upcoming boards into a single board/freescale/mx6ul/board.c.

Quoted 6 lines

Why is mx6ul special in this case compared to the other mx6 variants?

Will you be able to support all mx6q boards into
board/freescale/mx6q/board.c as well?

I am sure this will be unmaintainable.

I suspect there's a certain amount of code that should be in arch/arm/mach-imx/board.c like a __weak dram_init() and maybe some ${soc}.c files too for things that really aren't board specific but rather SoC-required. Of course I'm biased since this is how the TI stuff evolved to.

But also, if the enigcam board is an example of "take the ref board, cut it down a bit, ship" or even "take the ref board, tweak slightly", there will still be some code duplication as they simply made the same board decisions that NXP did in the reference platform.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160906/e0ba70ba/attachment.sig>
#16 lore raw

PATCH 1/5 imx: mx6ul: Refactor common code as mx6ul

In reply to Jagan Teki

Hi Jagan,

Quoted 8 lines · Jagan Teki

Since most of the board along with the config code used for mx6ul boards are common and for improving code reusability refactor or group code as mx6ul notation. Hence for new board its simply add new defconfig with existing board or related configs.

include/configs/mx6ul_14x14_evk.h -> include/configs/mx6ul.h board/freescale/mx6ul_14x14_evk -> board/freescale/mx6ul board/freescale/mx6ul/mx6ul_14x14_evk.c -> board/freescale/mx6ul/board.c

I think this will be hard to maintain. I still prefer each board to be added on its own board file/dts.

#17 lore raw

PATCH 1/5 imx: mx6ul: Refactor common code as mx6ul

Hi Fabio,

Quoted 8 lines · Fabio Estevam

Hi Jagan,

Quoted 5 lines · Jagan Teki

Since most of the board along with the config code used for mx6ul boards are common and for improving code reusability refactor or group code as mx6ul notation. Hence for new board its simply add new defconfig with existing board or related configs.

Quoted 6 lines
Quoted 3 lines

include/configs/mx6ul_14x14_evk.h -> include/configs/mx6ul.h board/freescale/mx6ul_14x14_evk -> board/freescale/mx6ul board/freescale/mx6ul/mx6ul_14x14_evk.c -> board/freescale/mx6ul/board.c

I think this will be hard to maintain. I still prefer each board to be added on its own board file/dts.

Initially I started of doing this, but I find most of the redundant code board as well in configs, its better follow this kind of notation because most of the remaining soc board files are so mature like this sunxi, zynq.

thanks!

Signature · 1 line
Jagan.