From 1005ccda97243bcdbf31216685885cfd4ea32f29 Mon Sep 17 00:00:00 2001 From: Chris Kuethe Date: Tue, 2 Jun 2015 16:31:43 -0700 Subject: [PATCH 01/16] patch - arm - define SYS_CACHELINE_SIZE for mx5 mx5 is a cortex-a8 which has 64 byte cache lines. i'll need this for adding gadget support to usbarmory, but it's a property common the the entire SoC family - may as well make it available to all MX5 boards Works on usbarmory; compile-tested on mx53loco and mx51_efikamx too Signed-off-by: Chris Kuethe Cc: Tom Rini Cc: Matthew Starr Cc: Andrej Rosano Cc: Stefano Babic Cc: Chris Kuethe Cc: Fabio Estevam Cc: Marek Vasut Reviewed-by: Fabio Estevam --- arch/arm/include/asm/arch-mx5/imx-regs.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/include/asm/arch-mx5/imx-regs.h b/arch/arm/include/asm/arch-mx5/imx-regs.h index f059d0f664..5f0e1e6346 100644 --- a/arch/arm/include/asm/arch-mx5/imx-regs.h +++ b/arch/arm/include/asm/arch-mx5/imx-regs.h @@ -9,6 +9,8 @@ #define ARCH_MXC +#define CONFIG_SYS_CACHELINE_SIZE 64 + #if defined(CONFIG_MX51) #define IRAM_BASE_ADDR 0x1FFE0000 /* internal ram */ #define IPU_SOC_BASE_ADDR 0x40000000 From 6c1751efca6eb7e1e6c64535607ca9c45a8657e1 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Thu, 28 May 2015 13:52:44 +0200 Subject: [PATCH 02/16] imx6: novena: Reinstate missing CONFIG_FAT_WRITE Commit a380ce6e9698257c4e8be4c0711b09c90a8febff removed CONFIG_FAT_WRITE from novena.h , so Novena lost ability to write FAT partitions. Add this functionality back. Signed-off-by: Marek Vasut Cc: Peter Robinson Cc: Stefano Babic --- include/configs/novena.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/configs/novena.h b/include/configs/novena.h index 1dc9d83c2c..d9b7250cad 100644 --- a/include/configs/novena.h +++ b/include/configs/novena.h @@ -24,6 +24,7 @@ #define CONFIG_CMD_DHCP #define CONFIG_CMD_EEPROM #define CONFIG_CMD_I2C +#define CONFIG_FAT_WRITE #define CONFIG_CMD_FUSE #define CONFIG_CMD_MII #define CONFIG_CMD_PCI From fbd18aa610df896ccebbebb3fb88b19dddd7c413 Mon Sep 17 00:00:00 2001 From: Soeren Moch Date: Fri, 29 May 2015 20:32:41 +0200 Subject: [PATCH 03/16] tbs2910: add thermal support Signed-off-by: Soeren Moch --- configs/tbs2910_defconfig | 2 ++ include/configs/tbs2910.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig index 3e720a7a45..ed9c70fd5a 100644 --- a/configs/tbs2910_defconfig +++ b/configs/tbs2910_defconfig @@ -3,3 +3,5 @@ CONFIG_TARGET_TBS2910=y CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,MX6Q" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y +CONFIG_DM=y +CONFIG_DM_THERMAL=y diff --git a/include/configs/tbs2910.h b/include/configs/tbs2910.h index e1c993783b..eec024157f 100644 --- a/include/configs/tbs2910.h +++ b/include/configs/tbs2910.h @@ -21,6 +21,8 @@ #define CONFIG_SYS_PROMPT "Matrix U-Boot> " #define CONFIG_SYS_HZ 1000 +#define CONFIG_IMX6_THERMAL + /* Physical Memory Map */ #define CONFIG_NR_DRAM_BANKS 1 #define CONFIG_SYS_SDRAM_BASE MMDC0_ARB_BASE_ADDR From b31fb4b97b4d9c9fcf5a50c39d5d2c277f7008c9 Mon Sep 17 00:00:00 2001 From: Soeren Moch Date: Fri, 29 May 2015 20:32:42 +0200 Subject: [PATCH 04/16] tbs2910: add PRE_CONSOLE_BUFFER support Add PRE_CONSOLE_BUFFER support to display early boot messages over HDMI. Signed-off-by: Soeren Moch --- include/configs/tbs2910.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/configs/tbs2910.h b/include/configs/tbs2910.h index eec024157f..42e5821807 100644 --- a/include/configs/tbs2910.h +++ b/include/configs/tbs2910.h @@ -51,6 +51,10 @@ #define CONFIG_CONSOLE_MUX #define CONFIG_CONS_INDEX 1 +#define CONFIG_PRE_CONSOLE_BUFFER +#define CONFIG_PRE_CON_BUF_SZ 4096 +#define CONFIG_PRE_CON_BUF_ADDR 0x7C000000 + /* *** Command definition *** */ #define CONFIG_CMD_BMODE #define CONFIG_CMD_MEMTEST From dbab8b8e10e535bc58c9f31a54961678c4de5254 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Fri, 29 May 2015 13:00:36 -0300 Subject: [PATCH 05/16] mx6cuboxi: Fix boot of hummingboard dual-lite Hummingboard dual-lite is picking the incorrect calibration structure. Fix it so that it can boot. While at it, also fix p1_mpdgctrl1 register to match Solid-run's setting. Reported-by: Andrei Gherzan Signed-off-by: Fabio Estevam Tested-by: Andrei Gherzan --- board/solidrun/mx6cuboxi/mx6cuboxi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c index d15c726a01..9b1ecf0457 100644 --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c @@ -536,7 +536,7 @@ static const struct mx6_mmdc_calibration mx6dl_1g_mmcd_calib = { .p0_mpdgctrl0 = 0x023C0224, .p0_mpdgctrl1 = 0x02000220, .p1_mpdgctrl0 = 0x02200220, - .p1_mpdgctrl1 = 0x02000220, + .p1_mpdgctrl1 = 0x02040208, .p0_mprddlctl = 0x44444846, .p1_mprddlctl = 0x4042463C, .p0_mpwrdlctl = 0x32343032, @@ -627,7 +627,7 @@ static void spl_dram_init(int width) else if (is_cpu_type(MXC_CPU_MX6Q)) mx6_dram_cfg(&sysinfo, &mx6q_2g_mmcd_calib, &mem_ddr_4g); else if (is_cpu_type(MXC_CPU_MX6DL)) - mx6_dram_cfg(&sysinfo, &mx6q_1g_mmcd_calib, &mem_ddr_2g); + mx6_dram_cfg(&sysinfo, &mx6dl_1g_mmcd_calib, &mem_ddr_2g); else if (is_cpu_type(MXC_CPU_MX6SOLO)) mx6_dram_cfg(&sysinfo, &mx6dl_512m_mmcd_calib, &mem_ddr_2g); } From 66cacc9d5d550e022da9f2d69cadda671fc0512b Mon Sep 17 00:00:00 2001 From: Markus Niebel Date: Thu, 4 Jun 2015 17:25:30 +0200 Subject: [PATCH 06/16] arm: imx6: tqma6: add kconfig to board header this is needed later to have Kconfig generated stuff as define. Signed-off-by: Markus Niebel --- include/configs/tqma6.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/configs/tqma6.h b/include/configs/tqma6.h index 00294f6d52..aa19f1163f 100644 --- a/include/configs/tqma6.h +++ b/include/configs/tqma6.h @@ -9,6 +9,7 @@ #ifndef __CONFIG_H #define __CONFIG_H +#include /* SPL */ /* #if defined(CONFIG_SPL_BUILD) */ From 51f6c4280f95a8066e965cfa3268de5ad737d385 Mon Sep 17 00:00:00 2001 From: Markus Niebel Date: Thu, 4 Jun 2015 17:25:31 +0200 Subject: [PATCH 07/16] arm: mx6: tqma6: CPU type selection via Kconfig This is the first patch to remove the CONFIG_SYS_EXTRA_OPTIONS. This patch implements CPU type selection from Kconfig. Further Kconfig stuff is added later. Signed-off-by: Markus Niebel --- arch/arm/Kconfig | 5 ----- arch/arm/cpu/armv7/mx6/Kconfig | 5 +++++ board/tqc/tqma6/Kconfig | 21 +++++++++++++++++++++ configs/tqma6q_mba6_mmc_defconfig | 3 ++- configs/tqma6q_mba6_spi_defconfig | 3 ++- configs/tqma6s_mba6_mmc_defconfig | 4 +++- configs/tqma6s_mba6_spi_defconfig | 4 +++- 7 files changed, 36 insertions(+), 9 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index fd47e60a90..3e07eccb40 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -576,10 +576,6 @@ config TARGET_TBS2910 bool "Support tbs2910" select CPU_V7 -config TARGET_TQMA6 - bool "TQ Systems TQMa6 board" - select CPU_V7 - config TARGET_OT1200 bool "Bachmann OT1200" select CPU_V7 @@ -959,7 +955,6 @@ source "board/ti/ti816x/Kconfig" source "board/timll/devkit3250/Kconfig" source "board/toradex/colibri_pxa270/Kconfig" source "board/toradex/colibri_vf/Kconfig" -source "board/tqc/tqma6/Kconfig" source "board/trizepsiv/Kconfig" source "board/ttcontrol/vision2/Kconfig" source "board/udoo/Kconfig" diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig index 1282be3418..10908c4c4a 100644 --- a/arch/arm/cpu/armv7/mx6/Kconfig +++ b/arch/arm/cpu/armv7/mx6/Kconfig @@ -33,11 +33,16 @@ config TARGET_SECOMX6 bool "Support secomx6 boards" select CPU_V7 +config TARGET_TQMA6 + bool "TQ Systems TQMa6 board" + select CPU_V7 + endchoice config SYS_SOC default "mx6" source "board/seco/Kconfig" +source "board/tqc/tqma6/Kconfig" endif diff --git a/board/tqc/tqma6/Kconfig b/board/tqc/tqma6/Kconfig index f8b3d1fd40..3e4d9f5170 100644 --- a/board/tqc/tqma6/Kconfig +++ b/board/tqc/tqma6/Kconfig @@ -12,4 +12,25 @@ config SYS_SOC config SYS_CONFIG_NAME default "tqma6" +choice + prompt "TQMa6 SoC variant" + default TQMA6Q + help + select the TQMa6 module variant. The variants differing in the used + i.MX6 CPU type and DRAM + +config TQMA6Q + bool "TQMa6Q / TQMa6D" + select MX6Q + help + select TQMa6Q / TQMa6D with i.MX6Q/D and 1GiB DRAM + +config TQMA6S + bool "TQMa6S" + select MX6S + help + select TQMa6S with i.MX6S and 512 MiB DRAM + +endchoice + endif diff --git a/configs/tqma6q_mba6_mmc_defconfig b/configs/tqma6q_mba6_mmc_defconfig index 01355b6a9a..31b3fc3e1b 100644 --- a/configs/tqma6q_mba6_mmc_defconfig +++ b/configs/tqma6q_mba6_mmc_defconfig @@ -1,5 +1,6 @@ CONFIG_ARM=y +CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6q.cfg,MX6Q,MBA6,TQMA6X_MMC_BOOT" +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6q.cfg,MBA6,TQMA6X_MMC_BOOT" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6q_mba6_spi_defconfig b/configs/tqma6q_mba6_spi_defconfig index ba24663a35..30ad2330fb 100644 --- a/configs/tqma6q_mba6_spi_defconfig +++ b/configs/tqma6q_mba6_spi_defconfig @@ -1,5 +1,6 @@ CONFIG_ARM=y +CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6q.cfg,MX6Q,MBA6,TQMA6X_SPI_BOOT" +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6q.cfg,MBA6,TQMA6X_SPI_BOOT" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6s_mba6_mmc_defconfig b/configs/tqma6s_mba6_mmc_defconfig index cbb45008ec..ab6b0ea7c1 100644 --- a/configs/tqma6s_mba6_mmc_defconfig +++ b/configs/tqma6s_mba6_mmc_defconfig @@ -1,5 +1,7 @@ CONFIG_ARM=y +CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6s.cfg,MX6S,MBA6,TQMA6X_MMC_BOOT" +CONFIG_TQMA6S=y +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6s.cfg,MBA6,TQMA6X_MMC_BOOT" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6s_mba6_spi_defconfig b/configs/tqma6s_mba6_spi_defconfig index 805d8ab4be..f4cfc8dc2f 100644 --- a/configs/tqma6s_mba6_spi_defconfig +++ b/configs/tqma6s_mba6_spi_defconfig @@ -1,5 +1,7 @@ CONFIG_ARM=y +CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6s.cfg,MX6S,MBA6,TQMA6X_SPI_BOOT" +CONFIG_TQMA6S=y +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6s.cfg,MBA6,TQMA6X_SPI_BOOT" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y From 30ed1257dbd61efc5d3d0856d81b69aba380705b Mon Sep 17 00:00:00 2001 From: Markus Niebel Date: Thu, 4 Jun 2015 17:25:32 +0200 Subject: [PATCH 08/16] arm: imx6: tqma6: implement IMX_CONFIG with Kconfig Now that we have the Kconfig based CPU type selection, use this to fill the IMX_CONFIG automatically Signed-off-by: Markus Niebel --- board/tqc/tqma6/Kconfig | 4 ++++ configs/tqma6q_mba6_mmc_defconfig | 2 +- configs/tqma6q_mba6_spi_defconfig | 2 +- configs/tqma6s_mba6_mmc_defconfig | 2 +- configs/tqma6s_mba6_spi_defconfig | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/board/tqc/tqma6/Kconfig b/board/tqc/tqma6/Kconfig index 3e4d9f5170..ce47ba49c6 100644 --- a/board/tqc/tqma6/Kconfig +++ b/board/tqc/tqma6/Kconfig @@ -33,4 +33,8 @@ config TQMA6S endchoice +config IMX_CONFIG + default "board/tqc/tqma6/tqma6q.cfg" if TQMA6Q + default "board/tqc/tqma6/tqma6s.cfg" if TQMA6S + endif diff --git a/configs/tqma6q_mba6_mmc_defconfig b/configs/tqma6q_mba6_mmc_defconfig index 31b3fc3e1b..7ca343f3ab 100644 --- a/configs/tqma6q_mba6_mmc_defconfig +++ b/configs/tqma6q_mba6_mmc_defconfig @@ -1,6 +1,6 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6q.cfg,MBA6,TQMA6X_MMC_BOOT" +CONFIG_SYS_EXTRA_OPTIONS="MBA6,TQMA6X_MMC_BOOT" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6q_mba6_spi_defconfig b/configs/tqma6q_mba6_spi_defconfig index 30ad2330fb..bba751c0dd 100644 --- a/configs/tqma6q_mba6_spi_defconfig +++ b/configs/tqma6q_mba6_spi_defconfig @@ -1,6 +1,6 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6q.cfg,MBA6,TQMA6X_SPI_BOOT" +CONFIG_SYS_EXTRA_OPTIONS="MBA6,TQMA6X_SPI_BOOT" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6s_mba6_mmc_defconfig b/configs/tqma6s_mba6_mmc_defconfig index ab6b0ea7c1..262ce2e83e 100644 --- a/configs/tqma6s_mba6_mmc_defconfig +++ b/configs/tqma6s_mba6_mmc_defconfig @@ -2,6 +2,6 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y CONFIG_TQMA6S=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6s.cfg,MBA6,TQMA6X_MMC_BOOT" +CONFIG_SYS_EXTRA_OPTIONS="MBA6,TQMA6X_MMC_BOOT" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6s_mba6_spi_defconfig b/configs/tqma6s_mba6_spi_defconfig index f4cfc8dc2f..8c62a03178 100644 --- a/configs/tqma6s_mba6_spi_defconfig +++ b/configs/tqma6s_mba6_spi_defconfig @@ -2,6 +2,6 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y CONFIG_TQMA6S=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/tqc/tqma6/tqma6s.cfg,MBA6,TQMA6X_SPI_BOOT" +CONFIG_SYS_EXTRA_OPTIONS="MBA6,TQMA6X_SPI_BOOT" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y From 55c0e49ab31dbd7d45ee978ae08194a8f28ae188 Mon Sep 17 00:00:00 2001 From: Markus Niebel Date: Thu, 4 Jun 2015 17:25:33 +0200 Subject: [PATCH 09/16] arm: imx6: tqma6: boot device selection via Kconfig Signed-off-by: Markus Niebel --- board/tqc/tqma6/Kconfig | 19 +++++++++++++++++++ configs/tqma6q_mba6_mmc_defconfig | 2 +- configs/tqma6q_mba6_spi_defconfig | 3 ++- configs/tqma6s_mba6_mmc_defconfig | 2 +- configs/tqma6s_mba6_spi_defconfig | 3 ++- 5 files changed, 25 insertions(+), 4 deletions(-) diff --git a/board/tqc/tqma6/Kconfig b/board/tqc/tqma6/Kconfig index ce47ba49c6..132e82f68d 100644 --- a/board/tqc/tqma6/Kconfig +++ b/board/tqc/tqma6/Kconfig @@ -33,6 +33,25 @@ config TQMA6S endchoice +choice + prompt "TQMa6 boot configuration" + default TQMA6X_MMC_BOOT + help + Configure boot device. This is also used to implement environment + location. + +config TQMA6X_MMC_BOOT + bool "MMC / SD Boot" + help + Boot from eMMC / SD Card + +config TQMA6X_SPI_BOOT + bool "SPI NOR Boot" + help + Boot from on board SPI NOR flash + +endchoice + config IMX_CONFIG default "board/tqc/tqma6/tqma6q.cfg" if TQMA6Q default "board/tqc/tqma6/tqma6s.cfg" if TQMA6S diff --git a/configs/tqma6q_mba6_mmc_defconfig b/configs/tqma6q_mba6_mmc_defconfig index 7ca343f3ab..41a7ebf51d 100644 --- a/configs/tqma6q_mba6_mmc_defconfig +++ b/configs/tqma6q_mba6_mmc_defconfig @@ -1,6 +1,6 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y -CONFIG_SYS_EXTRA_OPTIONS="MBA6,TQMA6X_MMC_BOOT" +CONFIG_SYS_EXTRA_OPTIONS="MBA6" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6q_mba6_spi_defconfig b/configs/tqma6q_mba6_spi_defconfig index bba751c0dd..f8a44bff30 100644 --- a/configs/tqma6q_mba6_spi_defconfig +++ b/configs/tqma6q_mba6_spi_defconfig @@ -1,6 +1,7 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y -CONFIG_SYS_EXTRA_OPTIONS="MBA6,TQMA6X_SPI_BOOT" +CONFIG_TQMA6X_SPI_BOOT=y +CONFIG_SYS_EXTRA_OPTIONS="MBA6" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6s_mba6_mmc_defconfig b/configs/tqma6s_mba6_mmc_defconfig index 262ce2e83e..b5413f643e 100644 --- a/configs/tqma6s_mba6_mmc_defconfig +++ b/configs/tqma6s_mba6_mmc_defconfig @@ -2,6 +2,6 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y CONFIG_TQMA6S=y -CONFIG_SYS_EXTRA_OPTIONS="MBA6,TQMA6X_MMC_BOOT" +CONFIG_SYS_EXTRA_OPTIONS="MBA6" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6s_mba6_spi_defconfig b/configs/tqma6s_mba6_spi_defconfig index 8c62a03178..edbe4b3d9d 100644 --- a/configs/tqma6s_mba6_spi_defconfig +++ b/configs/tqma6s_mba6_spi_defconfig @@ -2,6 +2,7 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y CONFIG_TQMA6S=y -CONFIG_SYS_EXTRA_OPTIONS="MBA6,TQMA6X_SPI_BOOT" +CONFIG_TQMA6X_SPI_BOOT=y +CONFIG_SYS_EXTRA_OPTIONS="MBA6" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y From fc6e442568b645fc8132f7bc41623370953d4661 Mon Sep 17 00:00:00 2001 From: Markus Niebel Date: Thu, 4 Jun 2015 17:25:34 +0200 Subject: [PATCH 10/16] arm: imx6: tqma6: implement KConfig baseboard selection this finally removes the need for extra settings in defconfig Signed-off-by: Markus Niebel --- board/tqc/tqma6/Kconfig | 14 ++++++++++++++ configs/tqma6q_mba6_mmc_defconfig | 1 - configs/tqma6q_mba6_spi_defconfig | 1 - configs/tqma6s_mba6_mmc_defconfig | 1 - configs/tqma6s_mba6_spi_defconfig | 1 - 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/board/tqc/tqma6/Kconfig b/board/tqc/tqma6/Kconfig index 132e82f68d..b56237d187 100644 --- a/board/tqc/tqma6/Kconfig +++ b/board/tqc/tqma6/Kconfig @@ -52,6 +52,20 @@ config TQMA6X_SPI_BOOT endchoice +choice + prompt "TQMa6 base board variant" + default MBA6 + help + Select base board for TQMa6 + +config MBA6 + bool "TQMa6 on MBa6 Starterkit" + help + Select the MBa6 starterkit. This features a GigE Phy, USB, SD-Card + etc. + +endchoice + config IMX_CONFIG default "board/tqc/tqma6/tqma6q.cfg" if TQMA6Q default "board/tqc/tqma6/tqma6s.cfg" if TQMA6S diff --git a/configs/tqma6q_mba6_mmc_defconfig b/configs/tqma6q_mba6_mmc_defconfig index 41a7ebf51d..3fe50dab73 100644 --- a/configs/tqma6q_mba6_mmc_defconfig +++ b/configs/tqma6q_mba6_mmc_defconfig @@ -1,6 +1,5 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y -CONFIG_SYS_EXTRA_OPTIONS="MBA6" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6q_mba6_spi_defconfig b/configs/tqma6q_mba6_spi_defconfig index f8a44bff30..74981bb0b8 100644 --- a/configs/tqma6q_mba6_spi_defconfig +++ b/configs/tqma6q_mba6_spi_defconfig @@ -2,6 +2,5 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y CONFIG_TQMA6X_SPI_BOOT=y -CONFIG_SYS_EXTRA_OPTIONS="MBA6" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6s_mba6_mmc_defconfig b/configs/tqma6s_mba6_mmc_defconfig index b5413f643e..5cc2234a06 100644 --- a/configs/tqma6s_mba6_mmc_defconfig +++ b/configs/tqma6s_mba6_mmc_defconfig @@ -2,6 +2,5 @@ CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y CONFIG_TQMA6S=y -CONFIG_SYS_EXTRA_OPTIONS="MBA6" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y diff --git a/configs/tqma6s_mba6_spi_defconfig b/configs/tqma6s_mba6_spi_defconfig index edbe4b3d9d..a97671c486 100644 --- a/configs/tqma6s_mba6_spi_defconfig +++ b/configs/tqma6s_mba6_spi_defconfig @@ -3,6 +3,5 @@ CONFIG_ARCH_MX6=y CONFIG_TARGET_TQMA6=y CONFIG_TQMA6S=y CONFIG_TQMA6X_SPI_BOOT=y -CONFIG_SYS_EXTRA_OPTIONS="MBA6" CONFIG_CMD_SETEXPR=y CONFIG_CMD_NET=y From b65d9d868efcae5bf40377deafc60a968f78e55c Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 11 Jun 2015 18:30:35 +0800 Subject: [PATCH 11/16] imx: mx6 correct is_soc_rev usage is_soc_rev should return a bool value, so use "==", but not "-", change (is_soc_rev(CHIP_REV_1_0) > 0) to (soc_rev() > CHIP_REV_1_0). This patch also add space between "&" for cpu_type(rev) macro. Signed-off-by: Peng Fan --- arch/arm/imx-common/timer.c | 4 ++-- arch/arm/include/asm/arch-mx6/sys_proto.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/imx-common/timer.c b/arch/arm/imx-common/timer.c index e522990453..c12556addf 100644 --- a/arch/arm/imx-common/timer.c +++ b/arch/arm/imx-common/timer.c @@ -44,8 +44,8 @@ static inline int gpt_has_clk_source_osc(void) { #if defined(CONFIG_MX6) if (((is_cpu_type(MXC_CPU_MX6Q) || is_cpu_type(MXC_CPU_MX6D)) && - (is_soc_rev(CHIP_REV_1_0) > 0)) || is_cpu_type(MXC_CPU_MX6DL) || - is_cpu_type(MXC_CPU_MX6SOLO) || is_cpu_type(MXC_CPU_MX6SX)) + (soc_rev() > CHIP_REV_1_0)) || is_cpu_type(MXC_CPU_MX6DL) || + is_cpu_type(MXC_CPU_MX6SOLO) || is_cpu_type(MXC_CPU_MX6SX)) return 1; return 0; diff --git a/arch/arm/include/asm/arch-mx6/sys_proto.h b/arch/arm/include/asm/arch-mx6/sys_proto.h index c5832912b4..9756708452 100644 --- a/arch/arm/include/asm/arch-mx6/sys_proto.h +++ b/arch/arm/include/asm/arch-mx6/sys_proto.h @@ -12,7 +12,7 @@ #include "../arch-imx/cpu.h" #define soc_rev() (get_cpu_rev() & 0xFF) -#define is_soc_rev(rev) (soc_rev() - rev) +#define is_soc_rev(rev) (soc_rev() == rev) u32 get_nr_cpus(void); u32 get_cpu_rev(void); @@ -20,7 +20,7 @@ u32 get_cpu_speed_grade_hz(void); u32 get_cpu_temp_grade(int *minc, int *maxc); /* returns MXC_CPU_ value */ -#define cpu_type(rev) (((rev) >> 12)&0xff) +#define cpu_type(rev) (((rev) >> 12) & 0xff) /* both macros return/take MXC_CPU_ constants */ #define get_cpu_type() (cpu_type(get_cpu_rev())) From dfd4861c22389066e37d104ddfb925321231f876 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 11 Jun 2015 18:30:36 +0800 Subject: [PATCH 12/16] imx: mx6 correct get_cpu_rev The DIGPROG register map: 23 ------- 16 | 15 ------ 8 | 7 --- 0 | Major upper | Major Lower | Minor | We also need to account for Major Lower. Signed-off-by: Ye.Li Signed-off-by: Peng Fan --- arch/arm/cpu/armv7/mx6/soc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c index b21bd03a8a..29de6243dc 100644 --- a/arch/arm/cpu/armv7/mx6/soc.c +++ b/arch/arm/cpu/armv7/mx6/soc.c @@ -62,6 +62,7 @@ u32 get_cpu_rev(void) struct anatop_regs *anatop = (struct anatop_regs *)ANATOP_BASE_ADDR; u32 reg = readl(&anatop->digprog_sololite); u32 type = ((reg >> 16) & 0xff); + u32 major; if (type != MXC_CPU_MX6SL) { reg = readl(&anatop->digprog); @@ -79,8 +80,9 @@ u32 get_cpu_rev(void) } } + major = ((reg >> 8) & 0xff); reg &= 0xff; /* mx6 silicon revision */ - return (type << 12) | (reg + 0x10); + return (type << 12) | (reg + (0x10 * (major + 1))); } /* From f9a1e9f8cc12ec5d68a009b9287633c6995b8920 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 11 Jun 2015 18:30:37 +0800 Subject: [PATCH 13/16] imx: mx6 introuduce macro is_mx6dqp Add a new revision CHIP_REV_2_0. Introudce macro is_mx6dqp, dqp means Dual/Quad Plus. Since Dual/Quad Plus use same cpu type with Dual/Quad, but different revision(Major Lower), we use this macro for Dual/Quad Plus. Signed-off-by: Ye.Li Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-mx6/imx-regs.h | 1 + arch/arm/include/asm/arch-mx6/sys_proto.h | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/arch/arm/include/asm/arch-mx6/imx-regs.h b/arch/arm/include/asm/arch-mx6/imx-regs.h index 0d38d450da..35a324cd53 100644 --- a/arch/arm/include/asm/arch-mx6/imx-regs.h +++ b/arch/arm/include/asm/arch-mx6/imx-regs.h @@ -312,6 +312,7 @@ #define CHIP_REV_1_0 0x10 #define CHIP_REV_1_2 0x12 #define CHIP_REV_1_5 0x15 +#define CHIP_REV_2_0 0x20 #ifndef CONFIG_MX6SX #define IRAM_SIZE 0x00040000 #else diff --git a/arch/arm/include/asm/arch-mx6/sys_proto.h b/arch/arm/include/asm/arch-mx6/sys_proto.h index 9756708452..28c77a498e 100644 --- a/arch/arm/include/asm/arch-mx6/sys_proto.h +++ b/arch/arm/include/asm/arch-mx6/sys_proto.h @@ -30,6 +30,10 @@ const char *get_imx_type(u32 imxtype); unsigned imx_ddr_size(void); void set_chipselect_size(int const); +#define is_mx6dqp() ((is_cpu_type(MXC_CPU_MX6Q) || \ + is_cpu_type(MXC_CPU_MX6D)) && \ + (soc_rev() >= CHIP_REV_2_0)) + /* * Initializes on-chip ethernet controllers. * to override, implement board_eth_init() From 959da4ecd024c52be939b74241f93d02166013b8 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 16 Jun 2015 10:20:01 +0100 Subject: [PATCH 14/16] Drop duplicate CONFIG_SYS_NO_FLASH from mx6_common It's defind earlier in the file Signed-off-by: Peter Robinson --- include/configs/mx6_common.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h index 50370e1366..b37477a02b 100644 --- a/include/configs/mx6_common.h +++ b/include/configs/mx6_common.h @@ -87,7 +87,6 @@ #define CONFIG_CMD_FAT /* Miscellaneous configurable options */ -#define CONFIG_SYS_NO_FLASH #undef CONFIG_CMD_IMLS #define CONFIG_SYS_LONGHELP #define CONFIG_SYS_HUSH_PARSER From 691d55607108eae10d5022ea6482401a9cc7ec94 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 16 Jun 2015 10:20:02 +0100 Subject: [PATCH 15/16] mx6cuboxi: drop options that are duplicated in mx6_common These options were merged into mx6_common and were seemingly missed in mx6cuboxi so drop the duplicates Signed-off-by: Peter Robinson --- include/configs/mx6cuboxi.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h index 3f99512bce..3d5bba75d3 100644 --- a/include/configs/mx6cuboxi.h +++ b/include/configs/mx6cuboxi.h @@ -186,14 +186,6 @@ "fi; " \ "else run netboot; fi" -/* Miscellaneous configurable options */ -#define CONFIG_SYS_LONGHELP -#define CONFIG_SYS_HUSH_PARSER -#define CONFIG_AUTO_COMPLETE -#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE - -#define CONFIG_CMDLINE_EDITING - /* Physical Memory Map */ #define CONFIG_NR_DRAM_BANKS 1 #define CONFIG_SYS_SDRAM_BASE MMDC0_ARB_BASE_ADDR From aa5a0d98943e1b32109fd1fb325007c6cdcedc50 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Mon, 8 Jun 2015 12:40:41 +0530 Subject: [PATCH 16/16] colibri_vf: Increase console IO buffer size to 1024 Increase console IO buffer size to 1024 from the previous value of 256. The previous value was too short for editing environment variables like ubiboot from the console. Signed-off-by: Sanchayan Maity --- include/configs/colibri_vf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h index f26aad4d8b..d01c69307f 100644 --- a/include/configs/colibri_vf.h +++ b/include/configs/colibri_vf.h @@ -181,7 +181,7 @@ #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " #define CONFIG_SYS_PROMPT "Colibri VFxx # " #undef CONFIG_AUTO_COMPLETE -#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ +#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ #define CONFIG_SYS_PBSIZE \ (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 16 /* max number of command args */