[U-Boot] [PATCH 0/3] configs: make keystone2 config to start using arm_v7_common header

For legacy reasons, keystone2 had kind of stayed completely seperated from the rest of the TI SoC families. This makes no sense since there are a lot of common definitions that can be reused between all SoC configuration allowing for a consistent user experience.
So make keystone2 follow the rest of the TI SoCs based on OMAP architecture as well.
Test log: K2H: http://pastebin.ubuntu.com/11888160/ (using https://patchwork.ozlabs.org/patch/440665/) I have no other platform to verify on.
Series based on master 4905dfc65d9a Merge branch 'master' of git://git.denx.de/u-boot-spi
Nishanth Menon (3): configs: split ti_armv7_common into a omap generic header configs: rename ks2_evm into ti_armv7_keystone2 configs: ti_armv7_keystone2: start using armv7_common
include/configs/am43xx_evm.h | 2 +- include/configs/k2e_evm.h | 4 +- include/configs/k2hk_evm.h | 4 +- include/configs/k2l_evm.h | 4 +- include/configs/ti_am335x_common.h | 2 +- include/configs/ti_armv7_common.h | 31 ++++---------- .../configs/{ks2_evm.h => ti_armv7_keystone2.h} | 50 +++++++--------------- include/configs/ti_armv7_omap.h | 49 +++++++++++++++++++++ include/configs/ti_omap3_common.h | 2 +- include/configs/ti_omap4_common.h | 2 +- include/configs/ti_omap5_common.h | 2 +- 11 files changed, 81 insertions(+), 71 deletions(-) rename include/configs/{ks2_evm.h => ti_armv7_keystone2.h} (90%) create mode 100644 include/configs/ti_armv7_omap.h

TI armv7 based SoCs are based on two architectures - one based on OMAP generation architecture and others based on Keystone architecture.
Many of the options are architecture specific, however a lot are common with v7 architecture. So, step 1 will be to move out OMAP specific stuff from ti_armv7_common into a ti_armv7_omap.h header which is then used by all the relevant architecture headers.
Signed-off-by: Nishanth Menon nm@ti.com --- include/configs/am43xx_evm.h | 2 +- include/configs/ti_am335x_common.h | 2 +- include/configs/ti_armv7_common.h | 21 ---------------- include/configs/ti_armv7_omap.h | 49 ++++++++++++++++++++++++++++++++++++++ include/configs/ti_omap3_common.h | 2 +- include/configs/ti_omap4_common.h | 2 +- include/configs/ti_omap5_common.h | 2 +- 7 files changed, 54 insertions(+), 26 deletions(-) create mode 100644 include/configs/ti_armv7_omap.h
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h index 33e534a76583..65ac8ef34eb8 100644 --- a/include/configs/am43xx_evm.h +++ b/include/configs/am43xx_evm.h @@ -80,7 +80,7 @@ #endif
/* Now bring in the rest of the common code. */ -#include <configs/ti_armv7_common.h> +#include <configs/ti_armv7_omap.h>
/* Always 64 KiB env size */ #define CONFIG_ENV_SIZE (64 << 10) diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h index 4d2ae280e7f1..9697431b4496 100644 --- a/include/configs/ti_am335x_common.h +++ b/include/configs/ti_am335x_common.h @@ -94,6 +94,6 @@ #endif
/* Now bring in the rest of the common code. */ -#include <configs/ti_armv7_common.h> +#include <configs/ti_armv7_omap.h>
#endif /* __CONFIG_TI_AM335X_COMMON_H__ */ diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h index 0aea7d12ec16..63244dbc83ff 100644 --- a/include/configs/ti_armv7_common.h +++ b/include/configs/ti_armv7_common.h @@ -18,8 +18,6 @@ #define __CONFIG_TI_ARMV7_COMMON_H__
/* Common define for many platforms. */ -#define CONFIG_OMAP -#define CONFIG_OMAP_COMMON #define CONFIG_SYS_GENERIC_BOARD
/* @@ -86,39 +84,20 @@ #define CONFIG_I2C #define CONFIG_CMD_I2C #define CONFIG_SYS_I2C -#define CONFIG_SYS_OMAP24_I2C_SPEED 100000 -#define CONFIG_SYS_OMAP24_I2C_SLAVE 1 -#define CONFIG_SYS_I2C_OMAP24XX
/* MMC/SD IP block */ #define CONFIG_MMC #define CONFIG_GENERIC_MMC -#define CONFIG_OMAP_HSMMC #define CONFIG_CMD_MMC
/* McSPI IP block */ #define CONFIG_SPI -#define CONFIG_OMAP3_SPI #define CONFIG_CMD_SPI
/* GPIO block */ -#define CONFIG_OMAP_GPIO #define CONFIG_CMD_GPIO
/* - * GPMC NAND block. We support 1 device and the physical address to - * access CS0 at is 0x8000000. - */ -#ifdef CONFIG_NAND -#define CONFIG_NAND_OMAP_GPMC -#ifndef CONFIG_SYS_NAND_BASE -#define CONFIG_SYS_NAND_BASE 0x8000000 -#endif -#define CONFIG_SYS_MAX_NAND_DEVICE 1 -#define CONFIG_CMD_NAND -#endif - -/* * The following are general good-enough settings for U-Boot. We set a * large malloc pool as we generally have a lot of DDR, and we opt for * function over binary size in the main portion of U-Boot as this is diff --git a/include/configs/ti_armv7_omap.h b/include/configs/ti_armv7_omap.h new file mode 100644 index 000000000000..7548170afcf7 --- /dev/null +++ b/include/configs/ti_armv7_omap.h @@ -0,0 +1,49 @@ +/* + * ti_armv7_omap.h + * + * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/ + * + * SPDX-License-Identifier: GPL-2.0+ + * + * The various ARMv7 SoCs from TI all share a number of IP blocks when + * implementing a given feature. This is meant to isolate the features + * that are based on OMAP architecture. + */ +#ifndef __CONFIG_TI_ARMV7_OMAP_H__ +#define __CONFIG_TI_ARMV7_OMAP_H__ + +/* Common defines for all OMAP architecture based SoCs */ +#define CONFIG_OMAP +#define CONFIG_OMAP_COMMON + +/* I2C IP block */ +#define CONFIG_SYS_OMAP24_I2C_SPEED 100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE 1 +#define CONFIG_SYS_I2C_OMAP24XX + +/* MMC/SD IP block */ +#define CONFIG_OMAP_HSMMC + +/* SPI IP Block */ +#define CONFIG_OMAP3_SPI + +/* GPIO block */ +#define CONFIG_OMAP_GPIO + +/* + * GPMC NAND block. We support 1 device and the physical address to + * access CS0 at is 0x8000000. + */ +#ifdef CONFIG_NAND +#define CONFIG_NAND_OMAP_GPMC +#ifndef CONFIG_SYS_NAND_BASE +#define CONFIG_SYS_NAND_BASE 0x8000000 +#endif +#define CONFIG_SYS_MAX_NAND_DEVICE 1 +#define CONFIG_CMD_NAND +#endif + +/* Now for the remaining common defines */ +#include <configs/ti_armv7_common.h> + +#endif /* __CONFIG_TI_ARMV7_OMAP_H__ */ diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h index 429b109afa23..be231a551361 100644 --- a/include/configs/ti_omap3_common.h +++ b/include/configs/ti_omap3_common.h @@ -84,6 +84,6 @@ #endif
/* Now bring in the rest of the common code. */ -#include <configs/ti_armv7_common.h> +#include <configs/ti_armv7_omap.h>
#endif /* __CONFIG_TI_OMAP3_COMMON_H__ */ diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h index e96613406b3b..959f312edb5b 100644 --- a/include/configs/ti_omap4_common.h +++ b/include/configs/ti_omap4_common.h @@ -52,7 +52,7 @@ #define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS #endif
-#include <configs/ti_armv7_common.h> +#include <configs/ti_armv7_omap.h>
/* * Hardware drivers diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h index f3e5a7587de9..789542be6710 100644 --- a/include/configs/ti_omap5_common.h +++ b/include/configs/ti_omap5_common.h @@ -47,7 +47,7 @@ #include <asm/arch/cpu.h> #include <asm/arch/omap.h>
-#include <configs/ti_armv7_common.h> +#include <configs/ti_armv7_omap.h>
/* * Hardware drivers

rename the keystone2 common header into an keystone2 architecture specific header which can then reuse the common ti_armv7 config headers.
Signed-off-by: Nishanth Menon nm@ti.com --- include/configs/k2e_evm.h | 2 +- include/configs/k2hk_evm.h | 2 +- include/configs/k2l_evm.h | 2 +- include/configs/{ks2_evm.h => ti_armv7_keystone2.h} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename include/configs/{ks2_evm.h => ti_armv7_keystone2.h} (100%)
diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h index a28ceb7064a7..ac50a01b2980 100644 --- a/include/configs/k2e_evm.h +++ b/include/configs/k2e_evm.h @@ -27,7 +27,7 @@ "name_uboot=u-boot-spi-k2e-evm.gph\0" \ "name_fs=arago-console-image-k2e-evm.cpio.gz\0"
-#include <configs/ks2_evm.h> +#include <configs/ti_armv7_keystone2.h>
/* SPL SPI Loader Configuration */ #define CONFIG_SPL_TEXT_BASE 0x0c100000 diff --git a/include/configs/k2hk_evm.h b/include/configs/k2hk_evm.h index eae772178338..29e3403aa082 100644 --- a/include/configs/k2hk_evm.h +++ b/include/configs/k2hk_evm.h @@ -27,7 +27,7 @@ "name_uboot=u-boot-spi-k2hk-evm.gph\0" \ "name_fs=arago-console-image-k2hk-evm.cpio.gz\0"
-#include <configs/ks2_evm.h> +#include <configs/ti_armv7_keystone2.h>
/* SPL SPI Loader Configuration */ #define CONFIG_SPL_TEXT_BASE 0x0c200000 diff --git a/include/configs/k2l_evm.h b/include/configs/k2l_evm.h index 57da0579255a..50d5c991a0bb 100644 --- a/include/configs/k2l_evm.h +++ b/include/configs/k2l_evm.h @@ -27,7 +27,7 @@ "name_uboot=u-boot-spi-k2l-evm.gph\0" \ "name_fs=arago-console-image-k2l-evm.cpio.gz\0"
-#include <configs/ks2_evm.h> +#include <configs/ti_armv7_keystone2.h>
/* SPL SPI Loader Configuration */ #define CONFIG_SPL_TEXT_BASE 0x0c100000 diff --git a/include/configs/ks2_evm.h b/include/configs/ti_armv7_keystone2.h similarity index 100% rename from include/configs/ks2_evm.h rename to include/configs/ti_armv7_keystone2.h

Try to maintain as much commonality by conditionally including stuff in armv7_common as necessary and removing the common defines from keystone2 header.
Signed-off-by: Nishanth Menon nm@ti.com --- note: this has a minor 80char checkpatch warning for definition, which i kind of left alone considering bit of readability subjective view..
include/configs/k2e_evm.h | 2 -- include/configs/k2hk_evm.h | 2 -- include/configs/k2l_evm.h | 2 -- include/configs/ti_armv7_common.h | 10 +++++++- include/configs/ti_armv7_keystone2.h | 50 +++++++++++------------------------- 5 files changed, 24 insertions(+), 42 deletions(-)
diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h index ac50a01b2980..f1e650141ae1 100644 --- a/include/configs/k2e_evm.h +++ b/include/configs/k2e_evm.h @@ -15,8 +15,6 @@ #define CONFIG_K2E_EVM
/* U-Boot general configuration */ -#define CONFIG_SYS_PROMPT "K2E EVM # " - #define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS \ "addr_mon=0x0c140000\0" \ "args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs " \ diff --git a/include/configs/k2hk_evm.h b/include/configs/k2hk_evm.h index 29e3403aa082..f8e83de64b63 100644 --- a/include/configs/k2hk_evm.h +++ b/include/configs/k2hk_evm.h @@ -15,8 +15,6 @@ #define CONFIG_K2HK_EVM
/* U-Boot general configuration */ -#define CONFIG_SYS_PROMPT "K2HK EVM # " - #define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS \ "addr_mon=0x0c5f0000\0" \ "args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs " \ diff --git a/include/configs/k2l_evm.h b/include/configs/k2l_evm.h index 50d5c991a0bb..395608a5f6db 100644 --- a/include/configs/k2l_evm.h +++ b/include/configs/k2l_evm.h @@ -15,8 +15,6 @@ #define CONFIG_K2L_EVM
/* U-Boot general configuration */ -#define CONFIG_SYS_PROMPT "K2L EVM # " - #define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS \ "addr_mon=0x0c140000\0" \ "args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs " \ diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h index 63244dbc83ff..477454ce6d37 100644 --- a/include/configs/ti_armv7_common.h +++ b/include/configs/ti_armv7_common.h @@ -38,7 +38,9 @@ * However, set this to a 32MB offset to allow for easier Linux kernel * booting as the default is often used as the kernel load address. */ +#ifndef CONFIG_SYS_LOAD_ADDR #define CONFIG_SYS_LOAD_ADDR 0x82000000 +#endif
/* * We setup defaults based on constraints from the Linux kernel, which should @@ -73,9 +75,15 @@ #ifndef CONFIG_NR_DRAM_BANKS #define CONFIG_NR_DRAM_BANKS 1 #endif + +#ifndef CONFIG_SYS_SDRAM_BASE #define CONFIG_SYS_SDRAM_BASE 0x80000000 +#endif + +#ifndef CONFIG_SYS_INIT_SP_ADDR #define CONFIG_SYS_INIT_SP_ADDR (NON_SECURE_SRAM_END - \ GENERATED_GBL_DATA_SIZE) +#endif
/* Timer information. */ #define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ @@ -140,7 +148,7 @@ * mtdparts, both for ease of use in U-Boot and for passing information * on to the Linux kernel. */ -#if defined(CONFIG_SPI_BOOT) || defined(CONFIG_NOR) || defined(CONFIG_NAND) +#if defined(CONFIG_SPI_BOOT) || defined(CONFIG_NOR) || defined(CONFIG_NAND) || defined(CONFIG_NAND_DAVINCI) #define CONFIG_MTD_DEVICE /* Required for mtdparts */ #define CONFIG_CMD_MTDPARTS #endif diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h index e05d56cd8262..35d0ab09a6d3 100644 --- a/include/configs/ti_armv7_keystone2.h +++ b/include/configs/ti_armv7_keystone2.h @@ -14,10 +14,7 @@
/* U-Boot Build Configuration */ #define CONFIG_SKIP_LOWLEVEL_INIT /* U-Boot is a 2nd stage loader */ -#define CONFIG_SYS_NO_FLASH /* that is, no *NOR* flash */ -#define CONFIG_SYS_CONSOLE_INFO_QUIET #define CONFIG_BOARD_EARLY_INIT_F -#define CONFIG_SYS_THUMB_BUILD
/* SoC Configuration */ #define CONFIG_ARCH_CPU_INIT @@ -32,7 +29,6 @@ #define CONFIG_SYS_LPAE_SDRAM_BASE 0x800000000 #define CONFIG_MAX_RAM_BANK_SIZE (2 << 30) /* 2GB */ #define CONFIG_STACKSIZE (512 << 10) /* 512 KiB */ -#define CONFIG_SYS_MALLOC_LEN (4 << 20) /* 4 MiB */ #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE - \ GENERATED_GBL_DATA_SIZE)
@@ -49,15 +45,10 @@ #define CONFIG_SPL_STACK (CONFIG_SYS_SPL_MALLOC_START + \ CONFIG_SYS_SPL_MALLOC_SIZE + \ CONFIG_SPL_STACK_SIZE - 4) -#define CONFIG_SPL_LIBCOMMON_SUPPORT -#define CONFIG_SPL_LIBGENERIC_SUPPORT -#define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_SPI_FLASH_SUPPORT #define CONFIG_SPL_SPI_SUPPORT -#define CONFIG_SPL_BOARD_INIT #define CONFIG_SPL_SPI_LOAD #define CONFIG_SYS_SPI_U_BOOT_OFFS CONFIG_SPL_PAD_TO -#define CONFIG_SPL_FRAMEWORK
/* UART Configuration */ #define CONFIG_SYS_NS16550 @@ -68,13 +59,10 @@ #define CONFIG_SYS_NS16550_COM2 KS2_UART1_BASE #define CONFIG_SYS_NS16550_CLK clk_get_rate(KS2_CLK1_6) #define CONFIG_CONS_INDEX 1 -#define CONFIG_BAUDRATE 115200
/* SPI Configuration */ -#define CONFIG_SPI #define CONFIG_SPI_FLASH_STMICRO #define CONFIG_DAVINCI_SPI -#define CONFIG_CMD_SPI #define CONFIG_SYS_SPI_CLK clk_get_rate(KS2_CLK1_6) #define CONFIG_SF_DEFAULT_SPEED 30000000 #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED @@ -148,7 +136,6 @@ #define CONFIG_AEMIF_CNTRL_BASE KS2_AEMIF_CNTRL_BASE
/* I2C Configuration */ -#define CONFIG_SYS_I2C #define CONFIG_SYS_I2C_DAVINCI #define CONFIG_SYS_DAVINCI_I2C_SPEED 100000 #define CONFIG_SYS_DAVINCI_I2C_SLAVE 0x10 /* SMBus host address */ @@ -185,7 +172,6 @@ #define CONFIG_ENV_IS_IN_NAND #define CONFIG_ENV_OFFSET 0x100000 #define CONFIG_MTD_PARTITIONS -#define CONFIG_MTD_DEVICE #define CONFIG_RBTREE #define CONFIG_LZO #define MTDIDS_DEFAULT "nand0=davinci_nand.0" @@ -197,8 +183,6 @@ #define CONFIG_USB_XHCI #define CONFIG_USB_XHCI_KEYSTONE #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2 -#define CONFIG_USB_STORAGE -#define CONFIG_DOS_PARTITION #define CONFIG_EFI_PARTITION #define CONFIG_FS_FAT #define CONFIG_SYS_CACHELINE_SIZE 64 @@ -208,39 +192,25 @@ #define CONFIG_USB_PHY_CFG_BASE KS2_USB_PHY_CFG_BASE
/* U-Boot command configuration */ -#define CONFIG_CMD_ASKENV #define CONFIG_CMD_DHCP -#define CONFIG_CMD_I2C #define CONFIG_CMD_PING #define CONFIG_CMD_SAVES -#define CONFIG_CMD_MTDPARTS #define CONFIG_CMD_NAND #define CONFIG_CMD_UBI #define CONFIG_CMD_UBIFS #define CONFIG_CMD_SF #define CONFIG_CMD_EEPROM #define CONFIG_CMD_USB -#define CONFIG_CMD_FAT -#define CONFIG_CMD_FS_GENERIC
/* U-Boot general configuration */ -#define CONFIG_SYS_GENERIC_BOARD #define CONFIG_MISC_INIT_R -#define CONFIG_SYS_CBSIZE 1024 -#define CONFIG_SYS_PBSIZE 2048 -#define CONFIG_SYS_MAXARGS 16 -#define CONFIG_SYS_HUSH_PARSER -#define CONFIG_SYS_LONGHELP #define CONFIG_CRC32_VERIFY #define CONFIG_MX_CYCLIC -#define CONFIG_CMDLINE_EDITING -#define CONFIG_VERSION_VARIABLE #define CONFIG_TIMESTAMP
/* EDMA3 */ #define CONFIG_TI_EDMA3
-#define CONFIG_BOOTDELAY 3 #define CONFIG_BOOTFILE "uImage" #define CONFIG_EXTRA_ENV_SETTINGS \ CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS \ @@ -301,15 +271,25 @@ #define CONFIG_BOOTARGS \
/* Linux interfacing */ -#define CONFIG_CMDLINE_TAG -#define CONFIG_SETUP_MEMORY_TAGS -#define CONFIG_OF_LIBFDT 1 #define CONFIG_OF_BOARD_SETUP -#define CONFIG_SYS_BARGSIZE 1024 #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + 0x08000000) #define CONFIG_LINUX_BOOT_PARAM_ADDR (CONFIG_SYS_SDRAM_BASE + 0x100)
-#define CONFIG_SUPPORT_RAW_INITRD + +/* Now for the remaining common defines */ +#include <configs/ti_armv7_common.h> + +/* We wont be loading up OS from SPL for now.. */ +#undef CONFIG_SPL_OS_BOOT +/* We do not have MMC SPL support.. yet.. */ +#undef CONFIG_SPL_LIBDISK_SUPPORT +#undef CONFIG_SPL_MMC_SUPPORT +#undef CONFIG_SPL_FAT_SUPPORT +#undef CONFIG_SPL_EXT_SUPPORT + +/* And no support for GPIO, yet.. */ +#undef CONFIG_SPL_GPIO_SUPPORT +#undef CONFIG_CMD_GPIO
/* we may include files below only after all above definitions */ #include <asm/arch/hardware.h>
participants (1)
-
Nishanth Menon