diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Kconfig | 15 | ||||
-rw-r--r-- | arch/arm/dts/am437x-gp-evm-u-boot.dtsi | 38 | ||||
-rw-r--r-- | arch/arm/dts/omap5-u-boot.dtsi | 50 | ||||
-rw-r--r-- | arch/arm/include/asm/arch-omap5/gpio.h | 4 | ||||
-rw-r--r-- | arch/arm/include/asm/omap_common.h | 8 | ||||
-rw-r--r-- | arch/arm/mach-keystone/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/am33xx/Kconfig | 5 | ||||
-rw-r--r-- | arch/arm/mach-omap2/am33xx/sys_info.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-omap2/u-boot-spl.lds | 2 |
9 files changed, 128 insertions, 4 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b758745f4a6..1eb373f3df0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -559,6 +559,14 @@ config TARGET_BCMNSP bool "Support bcmnsp" select CPU_V7 +config TARGET_BCMNS2 + bool "Support Broadcom Northstar2" + select ARM64 + help + Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit + ARMv8 Cortex-A57 processors targeting a broad range of networking + applications + config ARCH_EXYNOS bool "Samsung EXYNOS" select DM @@ -722,6 +730,12 @@ config OMAP54XX config AM43XX bool "AM43XX SoC" select ARCH_OMAP2 + imply SPL_DM + imply SPL_DM_SEQ_ALIAS + imply SPL_OF_CONTROL + imply SPL_OF_TRANSLATE + imply SPL_SEPARATE_BSS + imply SPL_SYS_MALLOC_SIMPLE imply SYS_THUMB_BUILD help Support for AM43xx SOC from Texas Instruments. @@ -1237,6 +1251,7 @@ source "board/broadcom/bcm23550_w1d/Kconfig" source "board/broadcom/bcm28155_ap/Kconfig" source "board/broadcom/bcmcygnus/Kconfig" source "board/broadcom/bcmnsp/Kconfig" +source "board/broadcom/bcmns2/Kconfig" source "board/cavium/thunderx/Kconfig" source "board/cirrus/edb93xx/Kconfig" source "board/compulab/cm_t335/Kconfig" diff --git a/arch/arm/dts/am437x-gp-evm-u-boot.dtsi b/arch/arm/dts/am437x-gp-evm-u-boot.dtsi new file mode 100644 index 00000000000..885a9a92dbd --- /dev/null +++ b/arch/arm/dts/am437x-gp-evm-u-boot.dtsi @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * Based on "dra7.dtsi" + */ + +/{ + ocp { + u-boot,dm-pre-reloc; + }; +}; + +&uart0 { + u-boot,dm-pre-reloc; +}; + +&mmc1 { + u-boot,dm-pre-reloc; +}; + +&mac { + u-boot,dm-pre-reloc; +}; + +&davinci_mdio { + u-boot,dm-pre-reloc; +}; + +&cpsw_emac0 { + u-boot,dm-pre-reloc; +}; + +&phy_sel { + u-boot,dm-pre-reloc; +}; diff --git a/arch/arm/dts/omap5-u-boot.dtsi b/arch/arm/dts/omap5-u-boot.dtsi new file mode 100644 index 00000000000..6305f570c50 --- /dev/null +++ b/arch/arm/dts/omap5-u-boot.dtsi @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * Based on "dra7.dtsi" + */ + +/{ + ocp { + u-boot,dm-pre-reloc; + }; +}; + +&uart1 { + u-boot,dm-pre-reloc; +}; + +&uart3 { + u-boot,dm-pre-reloc; +}; + +&mmc1 { + u-boot,dm-pre-reloc; +}; + +&mmc2 { + u-boot,dm-pre-reloc; +}; + +&l4_cfg { + u-boot,dm-pre-reloc; +}; + +&scm { + u-boot,dm-pre-reloc; +}; + +&scm_conf { + u-boot,dm-pre-reloc; +}; + +&qspi { + u-boot,dm-pre-reloc; + + m25p80@0 { + u-boot,dm-pre-reloc; + }; +}; diff --git a/arch/arm/include/asm/arch-omap5/gpio.h b/arch/arm/include/asm/arch-omap5/gpio.h index 9dd03c9fa65..48e8ca50213 100644 --- a/arch/arm/include/asm/arch-omap5/gpio.h +++ b/arch/arm/include/asm/arch-omap5/gpio.h @@ -34,4 +34,8 @@ #define OMAP54XX_GPIO7_BASE 0x48051000 #define OMAP54XX_GPIO8_BASE 0x48053000 + +/* Get the GPIO index from the given bank number and bank gpio */ +#define GPIO_TO_PIN(bank, bank_gpio) (32 * (bank - 1) + (bank_gpio)) + #endif /* _GPIO_OMAP5_H */ diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h index 2034a5e9b85..c1a70b15d02 100644 --- a/arch/arm/include/asm/omap_common.h +++ b/arch/arm/include/asm/omap_common.h @@ -767,9 +767,11 @@ static inline u8 is_dra72x(void) #define OMAP_SRAM_SCRATCH_VCORES_PTR (SRAM_SCRATCH_SPACE_ADDR + 0x1C) #define OMAP_SRAM_SCRATCH_SYS_CTRL (SRAM_SCRATCH_SPACE_ADDR + 0x20) #define OMAP_SRAM_SCRATCH_BOOT_PARAMS (SRAM_SCRATCH_SPACE_ADDR + 0x24) -#define OMAP_SRAM_SCRATCH_BOARD_EEPROM_START (SRAM_SCRATCH_SPACE_ADDR + 0x28) -#define OMAP_SRAM_SCRATCH_BOARD_EEPROM_END (SRAM_SCRATCH_SPACE_ADDR + 0x200) -#define OMAP_SRAM_SCRATCH_SPACE_END (OMAP_SRAM_SCRATCH_BOARD_EEPROM_END) +#ifndef TI_SRAM_SCRATCH_BOARD_EEPROM_START +#define TI_SRAM_SCRATCH_BOARD_EEPROM_START (SRAM_SCRATCH_SPACE_ADDR + 0x28) +#define TI_SRAM_SCRATCH_BOARD_EEPROM_END (SRAM_SCRATCH_SPACE_ADDR + 0x200) +#endif +#define OMAP_SRAM_SCRATCH_SPACE_END (TI_SRAM_SCRATCH_BOARD_EEPROM_END) /* Boot parameters */ #define DEVICE_DATA_OFFSET 0x18 diff --git a/arch/arm/mach-keystone/Kconfig b/arch/arm/mach-keystone/Kconfig index e1962c779a6..67f5fa0265f 100644 --- a/arch/arm/mach-keystone/Kconfig +++ b/arch/arm/mach-keystone/Kconfig @@ -15,6 +15,8 @@ config TARGET_K2L_EVM config TARGET_K2G_EVM bool "TI Keystone 2 Galileo EVM" + select BOARD_LATE_INIT + select TI_I2C_BOARD_DETECT endchoice diff --git a/arch/arm/mach-omap2/am33xx/Kconfig b/arch/arm/mach-omap2/am33xx/Kconfig index 865a8d2d04a..cf5d95a26d0 100644 --- a/arch/arm/mach-omap2/am33xx/Kconfig +++ b/arch/arm/mach-omap2/am33xx/Kconfig @@ -119,6 +119,11 @@ config TARGET_AM43XX_EVM bool "Support am43xx_evm" select BOARD_LATE_INIT select TI_I2C_BOARD_DETECT + imply DM_ETH + imply DM_I2C + imply DM_SPI + imply DM_SPI_FLASH + imply SPI_FLASH_BAR imply SPL_ENV_SUPPORT imply SPL_EXT_SUPPORT imply SPL_FAT_SUPPORT diff --git a/arch/arm/mach-omap2/am33xx/sys_info.c b/arch/arm/mach-omap2/am33xx/sys_info.c index f0f72fa6d4d..e4fc461bd81 100644 --- a/arch/arm/mach-omap2/am33xx/sys_info.c +++ b/arch/arm/mach-omap2/am33xx/sys_info.c @@ -74,6 +74,10 @@ static char *cpu_revs[] = { "2.0", "2.1"}; +static char *cpu_revs_am43xx[] = { + "1.0", + "1.1", + "1.2"}; static char *dev_types[] = { "TST", @@ -87,6 +91,7 @@ static char *dev_types[] = { int print_cpuinfo(void) { char *cpu_s, *sec_s, *rev_s; + char **cpu_rev_arr = cpu_revs; switch (get_cpu_type()) { case AM335X: @@ -97,6 +102,7 @@ int print_cpuinfo(void) break; case AM437X: cpu_s = "AM437X"; + cpu_rev_arr = cpu_revs_am43xx; break; default: cpu_s = "Unknown CPU type"; @@ -104,7 +110,7 @@ int print_cpuinfo(void) } if (get_cpu_rev() < ARRAY_SIZE(cpu_revs)) - rev_s = cpu_revs[get_cpu_rev()]; + rev_s = cpu_rev_arr[get_cpu_rev()]; else rev_s = "?"; diff --git a/arch/arm/mach-omap2/u-boot-spl.lds b/arch/arm/mach-omap2/u-boot-spl.lds index 8fec715ca56..e9da2a9dd18 100644 --- a/arch/arm/mach-omap2/u-boot-spl.lds +++ b/arch/arm/mach-omap2/u-boot-spl.lds @@ -46,6 +46,8 @@ SECTIONS *(.__end) } + _image_binary_end = .; + .bss : { . = ALIGN(4); |