Message ID | 1472890977-7377-5-git-send-email-jagan@amarulasolutions.com |
---|---|
State | Changes Requested |
Delegated to: | Stefano Babic |
Headers | show |
Hi Jagan, On Sat, Sep 03, 2016 at 01:52:57PM +0530, Jagan Teki wrote: >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 <sbabic@denx.de> >Cc: Peng Fan <peng.fan@nxp.com> >Cc: Michael Trimarchi <michael@amarulasolutions.com> >Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> >--- > 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 > >diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig >index 0c1bc78..d861ded 100644 >--- a/arch/arm/cpu/armv7/mx6/Kconfig >+++ b/arch/arm/cpu/armv7/mx6/Kconfig >@@ -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" > >diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig >index f97b905..d902cd0 100644 >--- a/board/freescale/mx6ul/Kconfig >+++ b/board/freescale/mx6ul/Kconfig >@@ -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" >diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS >index 20caeee..3265858 100644 >--- a/board/freescale/mx6ul/MAINTAINERS >+++ b/board/freescale/mx6ul/MAINTAINERS >@@ -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 <jagan@amarulasolutions.com> >+S: Maintained >+F: configs/mx6ul_geam_kit_defconfig >diff --git a/board/freescale/mx6ul/board.c b/board/freescale/mx6ul/board.c >index 66d6795..f4e35bd 100644 >--- a/board/freescale/mx6ul/board.c >+++ b/board/freescale/mx6ul/board.c >@@ -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; > } >diff --git a/configs/mx6ul_geam_kit_defconfig b/configs/mx6ul_geam_kit_defconfig >new file mode 100644 >index 0000000..b26f17b >--- /dev/null >+++ b/configs/mx6ul_geam_kit_defconfig >@@ -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 I think you missed ddr script settings, SPL or DCD? Regards, Peng.
Hi Peng, On Sat, Sep 3, 2016 at 3:38 PM, Peng Fan <van.freenix@gmail.com> wrote: > Hi Jagan, > > On Sat, Sep 03, 2016 at 01:52:57PM +0530, Jagan Teki wrote: >>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 <sbabic@denx.de> >>Cc: Peng Fan <peng.fan@nxp.com> >>Cc: Michael Trimarchi <michael@amarulasolutions.com> >>Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> >>--- >> 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 >> >>diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig >>index 0c1bc78..d861ded 100644 >>--- a/arch/arm/cpu/armv7/mx6/Kconfig >>+++ b/arch/arm/cpu/armv7/mx6/Kconfig >>@@ -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" >> >>diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig >>index f97b905..d902cd0 100644 >>--- a/board/freescale/mx6ul/Kconfig >>+++ b/board/freescale/mx6ul/Kconfig >>@@ -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" >>diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS >>index 20caeee..3265858 100644 >>--- a/board/freescale/mx6ul/MAINTAINERS >>+++ b/board/freescale/mx6ul/MAINTAINERS >>@@ -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 <jagan@amarulasolutions.com> >>+S: Maintained >>+F: configs/mx6ul_geam_kit_defconfig >>diff --git a/board/freescale/mx6ul/board.c b/board/freescale/mx6ul/board.c >>index 66d6795..f4e35bd 100644 >>--- a/board/freescale/mx6ul/board.c >>+++ b/board/freescale/mx6ul/board.c >>@@ -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; >> } >>diff --git a/configs/mx6ul_geam_kit_defconfig b/configs/mx6ul_geam_kit_defconfig >>new file mode 100644 >>index 0000000..b26f17b >>--- /dev/null >>+++ b/configs/mx6ul_geam_kit_defconfig >>@@ -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 > > 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.
On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki <jagannadh.teki@gmail.com> wrote: > 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 <sbabic@denx.de> > Cc: Peng Fan <peng.fan@nxp.com> > Cc: Michael Trimarchi <michael@amarulasolutions.com> > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> > --- > arch/arm/cpu/armv7/mx6/Kconfig | 6 ++++++ > board/freescale/mx6ul/Kconfig | 2 +- This file does not exist. > board/freescale/mx6ul/MAINTAINERS | 5 +++++ > board/freescale/mx6ul/board.c | 4 +++- This file does not exist. > 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.
On Sun, Sep 4, 2016 at 6:56 AM, Fabio Estevam <festevam@gmail.com> wrote: > On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki <jagannadh.teki@gmail.com> wrote: >> 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 <sbabic@denx.de> >> Cc: Peng Fan <peng.fan@nxp.com> >> Cc: Michael Trimarchi <michael@amarulasolutions.com> >> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> >> --- >> arch/arm/cpu/armv7/mx6/Kconfig | 6 ++++++ >> board/freescale/mx6ul/Kconfig | 2 +- > > This file does not exist. > >> board/freescale/mx6ul/MAINTAINERS | 5 +++++ >> board/freescale/mx6ul/board.c | 4 +++- > > This file does not exist. > >> 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. > > You should generate a patch against u-boot-imx git tree. OK, will do that. thanks!
Hi Jagan, On Sat, Sep 3, 2016 at 10:26 PM, Fabio Estevam <festevam@gmail.com> wrote: >> 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.
Hi Fabio, On Sun, Sep 4, 2016 at 7:53 AM, Fabio Estevam <festevam@gmail.com> wrote: > Hi Jagan, > > On Sat, Sep 3, 2016 at 10:26 PM, Fabio Estevam <festevam@gmail.com> wrote: > >>> 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!
Hi Jagan, On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki <jagannadh.teki@gmail.com> wrote: > > diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig > index f97b905..d902cd0 100644 > --- a/board/freescale/mx6ul/Kconfig > +++ b/board/freescale/mx6ul/Kconfig 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. > @@ -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" > diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS > index 20caeee..3265858 100644 > --- a/board/freescale/mx6ul/MAINTAINERS > +++ b/board/freescale/mx6ul/MAINTAINERS > @@ -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? > --- a/board/freescale/mx6ul/board.c > +++ b/board/freescale/mx6ul/board.c > @@ -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. > --- a/include/configs/mx6ul.h > +++ b/include/configs/mx6ul.h > @@ -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.
Hi Fabio On Sun, Sep 4, 2016 at 3:08 PM, Fabio Estevam <festevam@gmail.com> wrote: > Hi Jagan, > > On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki <jagannadh.teki@gmail.com> wrote: >> >> diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig >> index f97b905..d902cd0 100644 >> --- a/board/freescale/mx6ul/Kconfig >> +++ b/board/freescale/mx6ul/Kconfig > > 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. > >> @@ -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" >> diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS >> index 20caeee..3265858 100644 >> --- a/board/freescale/mx6ul/MAINTAINERS >> +++ b/board/freescale/mx6ul/MAINTAINERS >> @@ -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? > Hardware is on the way ;). Michael >> --- a/board/freescale/mx6ul/board.c >> +++ b/board/freescale/mx6ul/board.c >> @@ -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. > > >> --- a/include/configs/mx6ul.h >> +++ b/include/configs/mx6ul.h >> @@ -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@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot
Hi Fabio, + Tom (looking for any suggestions for not maintaining separate board files if the board code is sharing different boards with same SOC) On Sun, Sep 4, 2016 at 6:38 PM, Fabio Estevam <festevam@gmail.com> wrote: > Hi Jagan, > > On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki <jagannadh.teki@gmail.com> wrote: >> >> diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig >> index f97b905..d902cd0 100644 >> --- a/board/freescale/mx6ul/Kconfig >> +++ b/board/freescale/mx6ul/Kconfig > > 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. > >> @@ -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" >> diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS >> index 20caeee..3265858 100644 >> --- a/board/freescale/mx6ul/MAINTAINERS >> +++ b/board/freescale/mx6ul/MAINTAINERS >> @@ -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? 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. > >> --- a/board/freescale/mx6ul/board.c >> +++ b/board/freescale/mx6ul/board.c >> @@ -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. 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. > > >> --- a/include/configs/mx6ul.h >> +++ b/include/configs/mx6ul.h >> @@ -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!
On Sun, Sep 4, 2016 at 10:32 AM, Jagan Teki <jagannadh.teki@gmail.com> wrote: > 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. > 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.
On Sun, Sep 04, 2016 at 11:47:06AM -0300, Fabio Estevam wrote: > On Sun, Sep 4, 2016 at 10:32 AM, Jagan Teki <jagannadh.teki@gmail.com> wrote: > > > 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. > > 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. > 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. 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.
diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig index 0c1bc78..d861ded 100644 --- a/arch/arm/cpu/armv7/mx6/Kconfig +++ b/arch/arm/cpu/armv7/mx6/Kconfig @@ -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" diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig index f97b905..d902cd0 100644 --- a/board/freescale/mx6ul/Kconfig +++ b/board/freescale/mx6ul/Kconfig @@ -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" diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS index 20caeee..3265858 100644 --- a/board/freescale/mx6ul/MAINTAINERS +++ b/board/freescale/mx6ul/MAINTAINERS @@ -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 <jagan@amarulasolutions.com> +S: Maintained +F: configs/mx6ul_geam_kit_defconfig diff --git a/board/freescale/mx6ul/board.c b/board/freescale/mx6ul/board.c index 66d6795..f4e35bd 100644 --- a/board/freescale/mx6ul/board.c +++ b/board/freescale/mx6ul/board.c @@ -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; } diff --git a/configs/mx6ul_geam_kit_defconfig b/configs/mx6ul_geam_kit_defconfig new file mode 100644 index 0000000..b26f17b --- /dev/null +++ b/configs/mx6ul_geam_kit_defconfig @@ -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 diff --git a/include/configs/mx6ul.h b/include/configs/mx6ul.h index f5bdb40..55460ad 100644 --- a/include/configs/mx6ul.h +++ b/include/configs/mx6ul.h @@ -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
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 <sbabic@denx.de> Cc: Peng Fan <peng.fan@nxp.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> --- 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