ARM: AM43xx: Add Support for AM43xx Soc's
Subsystems (2)
v2 cover ARM: AM43xx: Add Support for AM43xx Soc's
AM43xx is a low cost Cortex-A9 based application processor targets higher performance applications and new specific end equipments like Point of Sale requiring stringent security requirements. This series add support for AM43xx Soc's.
Data for the following is not added:
-> SDRAM
-> DPLL Dividers and post dividers
-> Pin mux data(only uart data added).
Once this data is available Ill add them.
Config file is kept minimal for now, ll add the corresponding configs when they are validated.
This is on top of u-boot-ti + V2 of AM33xx cleanup series.
http://u-boot.10912.n7.nabble.com/PATCH-V2-0-4-ARM-AM33xx-Cleanup-clocks-and-hwinit-tt160272.html
Testing:
Tested on pre-silicon platform
verified ./MAKEALL --cpu=armv7
./MAKEALL -s am33xx
Changes Since V1:
- Rebased on top of u-boot-ti + V2 of AM33xx Cleanup
- Updated License header for new files.
Lokesh Vutla (6):
ARM: AM43xx: Add Board files
ARM: AM43xx: Add header files
ARM: AM43xx: clocks: Add dpll and clock data
ARM: OMAP: Add CONFIG_OMAP_COMMON
ARM: AM43xx: Add build support
ARM: AM43xx: Add config file
Makefile | 2 +-
arch/arm/config.mk | 2 +-
arch/arm/cpu/armv7/Makefile | 2 +-
arch/arm/cpu/armv7/am33xx/Makefile | 7 +-
arch/arm/cpu/armv7/am33xx/clock_am43xx.c | 110 +++++++++++++
arch/arm/cpu/armv7/omap-common/Makefile | 2 +-
arch/arm/cpu/armv7/omap-common/boot-common.c | 3 +-
arch/arm/include/asm/arch-am33xx/cpu.h | 164 +++++++++++++++++++-
arch/arm/include/asm/arch-am33xx/hardware.h | 8 +-
arch/arm/include/asm/arch-am33xx/hardware_am33xx.h | 9 ++
.../{hardware_am33xx.h => hardware_am43xx.h} | 18 ++-
arch/arm/include/asm/arch-am33xx/hardware_ti814x.h | 9 ++
arch/arm/include/asm/arch-am33xx/mux.h | 2 +
arch/arm/include/asm/arch-am33xx/mux_am43xx.h | 143 +++++++++++++++++
arch/arm/include/asm/arch-am33xx/omap.h | 9 +-
arch/arm/include/asm/arch-am33xx/spl.h | 4 +-
board/ti/am43xx/Makefile | 38 +++++
board/ti/am43xx/board.c | 57 +++++++
board/ti/am43xx/board.h | 17 ++
board/ti/am43xx/mux.c | 27 ++++
boards.cfg | 1 +
drivers/serial/ns16550.c | 5 +-
include/configs/am335x_evm.h | 1 +
include/configs/am3517_crane.h | 1 +
include/configs/am3517_evm.h | 1 +
include/configs/am43xx_evm.h | 135 ++++++++++++++++
include/configs/cm_t35.h | 1 +
include/configs/devkit8000.h | 1 +
include/configs/dig297.h | 1 +
include/configs/igep0033.h | 1 +
include/configs/igep00x0.h | 1 +
include/configs/mcx.h | 1 +
include/configs/nokia_rx51.h | 1 +
include/configs/omap3_beagle.h | 1 +
include/configs/omap3_evm_common.h | 1 +
include/configs/omap3_logic.h | 1 +
include/configs/omap3_mvblx.h | 1 +
include/configs/omap3_overo.h | 1 +
include/configs/omap3_pandora.h | 1 +
include/configs/omap3_sdp3430.h | 1 +
include/configs/omap3_zoom1.h | 1 +
include/configs/omap3_zoom2.h | 1 +
include/configs/omap4_common.h | 1 +
include/configs/omap5_common.h | 1 +
include/configs/pcm051.h | 1 +
include/configs/tam3517-common.h | 1 +
include/configs/ti814x_evm.h | 1 +
include/configs/tricorder.h | 1 +
spl/Makefile | 2 +-
49 files changed, 766 insertions(+), 35 deletions(-)
create mode 100644 arch/arm/cpu/armv7/am33xx/clock_am43xx.c
copy arch/arm/include/asm/arch-am33xx/{hardware_am33xx.h => hardware_am43xx.h} (69%)
create mode 100644 arch/arm/include/asm/arch-am33xx/mux_am43xx.h
create mode 100644 board/ti/am43xx/Makefile
create mode 100644 board/ti/am43xx/board.c
create mode 100644 board/ti/am43xx/board.h
create mode 100644 board/ti/am43xx/mux.c
create mode 100644 include/configs/am43xx_evm.hSignature · 1 line
1.7.9.5
PATCH v2 1/6 ARM: AM43xx: Add Board files
Add board specific information for AM43xx.
--- board/ti/am43xx/Makefile | 38 +++++++++++++++++++++++++++++++ board/ti/am43xx/board.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++ board/ti/am43xx/board.h | 17 ++++++++++++++ board/ti/am43xx/mux.c | 27 ++++++++++++++++++++++ 4 files changed, 138 insertions(+) create mode 100644 board/ti/am43xx/Makefile create mode 100644 board/ti/am43xx/board.c create mode 100644 board/ti/am43xx/board.h create mode 100644 board/ti/am43xx/mux.c
board/ti/am43xx/Makefile new file +38 -0
@@ -0,0 +1,38 @@ +# +# Makefile +# +# Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ +# +# SPDX-License-Identifier: GPL-2.0+ +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +ifdef CONFIG_SPL_BUILD +COBJS := mux.o +endif + +COBJS += board.o +SRCS := $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +$(LIB): $(obj).depend $(OBJS) $(SOBJS) + $(call cmd_link_o_target, $(OBJS) $(SOBJS)) + +clean: + rm -f $(SOBJS) $(OBJS) + +distclean: clean + rm -f $(LIB) core *.bak $(obj).depend + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +#########################################################################
board/ti/am43xx/board.c new file +56 -0
56 lines not on this page · raw message
board/ti/am43xx/board.h new file +17 -0
@@ -0,0 +1,17 @@ +/* +* board.h +* +* TI AM437x boards information header +* Derived from AM335x board. +* +* Copyright (C) 2013, Texas Instruments, Incorporated - http://www.ti.com/ +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +void enable_uart0_pin_mux (void ); +void enable_board_pin_mux (void ); +#endif
board/ti/am43xx/mux.c new file +27 -0
@@ -0,0 +1,27 @@ +/* +* mux.c +* +* Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#include <common.h> +#include <asm/arch/sys_proto.h> +#include <asm/arch/mux.h> +#include "board.h" + +static struct module_pin_mux uart0_pin_mux[] = { + {OFFSET (uart0_rxd), (MODE (0 ) |RXACTIVE )},/* UART0_RXD */ + {OFFSET (uart0_txd), (MODE (0 ))},/* UART0_TXD */ + {-1 }, +}; + +void enable_uart0_pin_mux (void ) +{ +configure_module_pin_mux (uart0_pin_mux); +} + +void enable_board_pin_mux (void ) +{ +}
Signature · 1 line
1.7.9.5
PATCH v2 2/6 ARM: AM43xx: Add header files
In reply to Lokesh VutlaAdding the following data:
-> Prcm structure
-> Base addresses
-> Pin mux structure.
---
arch/arm/include/asm/arch-am33xx/cpu.h | 164 +++++++++++++++++++-
arch/arm/include/asm/arch-am33xx/hardware.h | 8 +-
arch/arm/include/asm/arch-am33xx/hardware_am33xx.h | 9 ++
.../{hardware_am33xx.h => hardware_am43xx.h} | 18 ++-
arch/arm/include/asm/arch-am33xx/hardware_ti814x.h | 9 ++
arch/arm/include/asm/arch-am33xx/mux.h | 2 +
arch/arm/include/asm/arch-am33xx/mux_am43xx.h | 143 +++++++++++++++++
arch/arm/include/asm/arch-am33xx/omap.h | 9 +-
arch/arm/include/asm/arch-am33xx/spl.h | 4 +-
9 files changed, 340 insertions(+), 26 deletions(-)
copy arch/arm/include/asm/arch-am33xx/{hardware_am33xx.h => hardware_am43xx.h} (69%)
create mode 100644 arch/arm/include/asm/arch-am33xx/mux_am43xx.harch/arm/include/asm/arch-am33xx/cpu.h +157 -7
@@ -43,13 +43,6 @@#define SYSBOOT_MASK (BIT(0) | BIT(1) | BIT(2)\ | BIT(3) | BIT(4)) -/* Reset control */ -#ifdef CONFIG_AM33XX -#define PRM_RSTCTRL (PRCM_BASE + 0x0F00) -#elif defined(CONFIG_TI814X ) -#define PRM_RSTCTRL (PRCM_BASE + 0x00A0) -#endif -#define PRM_RSTST (PRM_RSTCTRL + 8)#define PRM_RSTCTRL_RESET 0x01#define PRM_RSTST_WARM_RESET_MASK 0x232
@@ -108,6 +101,7 @@ struct gpmc {/* Used for board specific gpmc initialization */ extern struct gpmc *gpmc_cfg; +#ifndef CONFIG_AM43XX /* Encapsulating core pll registers */ struct cm_wkuppll { unsigned int wkclkstctrl; /* offset 0x00 */
@@ -211,6 +205,162 @@ struct cm_perpll {unsigned int resv10[8 ];unsigned int cpswclkstctrl;/* offset 0x144 */ }; +#else +/* Encapsulating core pll registers */ +struct cm_wkuppll { +unsigned int resv0[136 ]; +unsigned int wkl4wkclkctrl;/* offset 0x220 */ +unsigned int resv1[55 ]; +unsigned int wkclkstctrl;/* offset 0x300 */ +unsigned int resv2[15 ]; +unsigned int wkup_i2c0ctrl;/* offset 0x340 */ +unsigned int resv3; +unsigned int wkup_uart0ctrl;/* offset 0x348 */ +unsigned int resv4[5 ]; +unsigned int wkctrlclkctrl;/* offset 0x360 */ +unsigned int resv5; +unsigned int wkgpio0clkctrl;/* offset 0x368 */ + +unsigned int resv6[109 ]; +unsigned int clkmoddpllcore;/* offset 0x520 */ +unsigned int idlestdpllcore;/* offset 0x524 */ +unsigned int resv61; +unsigned int clkseldpllcore;/* offset 0x52C */ +unsigned int resv7[2 ]; +unsigned int divm4dpllcore;/* offset 0x538 */ +unsigned int divm5dpllcore;/* offset 0x53C */ +unsigned int divm6dpllcore;/* offset 0x540 */ + +unsigned int resv8[7 ]; +unsigned int clkmoddpllmpu;/* offset 0x560 */ +unsigned int idlestdpllmpu;/* offset 0x564 */ +unsigned int resv9; +unsigned int clkseldpllmpu;/* offset 0x56c */ +unsigned int divm2dpllmpu;/* offset 0x570 */ + +unsigned int resv10[11 ]; +unsigned int clkmoddpllddr;/* offset 0x5A0 */ +unsigned int idlestdpllddr;/* offset 0x5A4 */ +unsigned int resv11; +unsigned int clkseldpllddr;/* offset 0x5AC */ +unsigned int divm2dpllddr;/* offset 0x5B0 */ + +unsigned int resv12[11 ]; +unsigned int clkmoddpllper;/* offset 0x5E0 */ +unsigned int idlestdpllper;/* offset 0x5E4 */ +unsigned int resv13; +unsigned int clkseldpllper;/* offset 0x5EC */ +unsigned int divm2dpllper;/* offset 0x5F0 */ +unsigned int resv14[8 ]; +unsigned int clkdcoldodpllper;/* offset 0x614 */ + +unsigned int resv15[2 ]; +unsigned int clkmoddplldisp;/* offset 0x620 */ +unsigned int resv16[2 ]; +unsigned int clkseldplldisp;/* offset 0x62C */ +unsigned int divm2dplldisp;/* offset 0x630 */ +}; + +/* +* Encapsulating peripheral functional clocks +* pll registers +*/ +struct cm_perpll { +unsigned int l3clkstctrl;/* offset 0x00 */ +unsigned int resv0[7 ]; +unsigned int l3clkctrl;/* Offset 0x20 */ +unsigned int resv1[7 ]; +unsigned int l3instrclkctrl;/* offset 0x40 */ +unsigned int resv2[3 ]; +unsigned int ocmcramclkctrl;/* offset 0x50 */ +unsigned int resv3[9 ]; +unsigned int tpccclkctrl;/* offset 0x78 */ +unsigned int resv4; +unsigned int tptc0clkctrl;/* offset 0x80 */ + +unsigned int resv5[7 ]; +unsigned int l4hsclkctrl;/* offset 0x0A0 */ +unsigned int resv6; +unsigned int l4fwclkctrl;/* offset 0x0A8 */ +unsigned int resv7[85 ]; +unsigned int l3sclkstctrl;/* offset 0x200 */ +unsigned int resv8[7 ]; +unsigned int gpmcclkctrl;/* offset 0x220 */ +unsigned int resv9[5 ]; +unsigned int mcasp0clkctrl;/* offset 0x238 */ +unsigned int resv10; +unsigned int mcasp1clkctrl;/* offset 0x240 */ +unsigned int resv11; +unsigned int mmc2clkctrl;/* offset 0x248 */ +unsigned int resv12[5 ]; +unsigned int usb0clkctrl;/* offset 0x260 */ +unsigned int resv13[103 ]; +unsigned int l4lsclkstctrl;/* offset 0x400 */ +unsigned int resv14[7 ]; +unsigned int l4lsclkctrl;/* offset 0x420 */ +unsigned int resv15; +unsigned int dcan0clkctrl;/* offset 0x428 */ +unsigned int resv16; +unsigned int dcan1clkctrl;/* offset 0x430 */ +unsigned int resv17[13 ]; +unsigned int elmclkctrl;/* offset 0x468 */ + +unsigned int resv18[3 ]; +unsigned int gpio1clkctrl;/* offset 0x478 */ +unsigned int resv19; +unsigned int gpio2clkctrl;/* offset 0x480 */ +unsigned int resv20; +unsigned int gpio3clkctrl;/* offset 0x488 */ +unsigned int resv21[7 ]; + +unsigned int i2c1clkctrl;/* offset 0x4A8 */ +unsigned int resv22; +unsigned int i2c2clkctrl;/* offset 0x4B0 */ +unsigned int resv23[3 ]; +unsigned int mmc0clkctrl;/* offset 0x4C0 */ +unsigned int resv24; +unsigned int mmc1clkctrl;/* offset 0x4C8 */ + +unsigned int resv25[13 ]; +unsigned int spi0clkctrl;/* offset 0x500 */ +unsigned int resv26; +unsigned int spi1clkctrl;/* offset 0x508 */ +unsigned int resv27[9 ]; +unsigned int timer2clkctrl;/* offset 0x530 */ +unsigned int resv28; +unsigned int timer3clkctrl;/* offset 0x538 */ +unsigned int resv29; +unsigned int timer4clkctrl;/* offset 0x540 */ +unsigned int resv30[5 ]; +unsigned int timer7clkctrl;/* offset 0x558 */ + +unsigned int resv31[9 ]; +unsigned int uart1clkctrl;/* offset 0x580 */ +unsigned int resv32; +unsigned int uart2clkctrl;/* offset 0x588 */ +unsigned int resv33; +unsigned int uart3clkctrl;/* offset 0x590 */ +unsigned int resv34; +unsigned int uart4clkctrl;/* offset 0x598 */ +unsigned int resv35; +unsigned int uart5clkctrl;/* offset 0x5A0 */ +unsigned int resv36[87 ]; + +unsigned int emifclkstctrl;/* offset 0x700 */ +unsigned int resv361[7 ]; +unsigned int emifclkctrl;/* offset 0x720 */ +unsigned int resv37[3 ]; +unsigned int emiffwclkctrl;/* offset 0x730 */ +unsigned int resv371; +unsigned int otfaemifclkctrl;/* offset 0x738 */ +unsigned int resv38[57 ]; +unsigned int lcdclkctrl;/* offset 0x820 */ +unsigned int resv39[183 ]; +unsigned int cpswclkstctrl;/* offset 0xB00 */ +unsigned int resv40[7 ]; +unsigned int cpgmac0clkctrl;/* offset 0xB20 */ +}; +#endif /* CONFIG_AM43XX */ /* Encapsulating Display pll registers */ struct cm_dpll {
arch/arm/include/asm/arch-am33xx/hardware.h +2 -6
@@ -17,6 +17,8 @@#include <asm/arch/hardware_am33xx.h> #elif defined(CONFIG_TI814X )#include <asm/arch/hardware_ti814x.h> +#elif defined(CONFIG_AM43XX ) +#include <asm/arch/hardware_am43xx.h> #endif /*
@@ -45,8 +47,6 @@#define EMIF4_1_CFG_BASE 0x4D000000/* PLL related registers */ -#define CM_PER 0x44E00000 -#define CM_WKUP 0x44E00400#define CM_DPLL 0x44E00500#define CM_DEVICE 0x44E00700#define CM_RTC 0x44E00800
@@ -74,8 +74,4 @@/* CPSW Config space */ #define CPSW_BASE 0x4A100000 -/* OTG */ -#define USB0_OTG_BASE 0x47401000 -#define USB1_OTG_BASE 0x47401800 -#endif /* __AM33XX_HARDWARE_H */
arch/arm/include/asm/arch-am33xx/hardware_am33xx.h +9 -0
@@ -28,6 +28,11 @@/* PRCM Base Address */ #define PRCM_BASE 0x44E00000 +#define CM_PER 0x44E00000 +#define CM_WKUP 0x44E00400 + +#define PRM_RSTCTRL (PRCM_BASE + 0x0F00) +#define PRM_RSTST (PRM_RSTCTRL + 8)/* VTP Base address */ #define VTP0_CTRL_ADDR 0x44E10E0C
@@ -43,4 +48,8 @@/* RTC base address */ #define RTC_BASE 0x44E3E000 +/* OTG */ +#define USB0_OTG_BASE 0x47401000 +#define USB1_OTG_BASE 0x47401800 +#endif /* __AM33XX_HARDWARE_AM33XX_H */
arch/arm/include/asm/arch-am33xx/hardware_am43xx.h renamed from arch/arm/include/asm/arch-am33xx/hardware_am33xx.h +12 -6
@@ -1,15 +1,15 @@/* -* hardware_am33xx.h +* hardware_am43xx.h * -* AM33xx hardware specific header +* AM43xx hardware specific header * * Copyright (C) 2013, Texas Instruments, Incorporated - http://www.ti.com/ * * SPDX-License-Identifier: GPL-2.0+ */ -#ifndef __AM33XX_HARDWARE_AM33XX_H -#define __AM33XX_HARDWARE_AM33XX_H +#ifndef __AM43XX_HARDWARE_AM43XX_H +#define __AM43XX_HARDWARE_AM43XX_H/* Module base addresses */
@@ -27,7 +27,12 @@#define CTRL_DEVICE_BASE 0x44E10600/* PRCM Base Address */ -#define PRCM_BASE 0x44E00000 +#define PRCM_BASE 0x44DF0000 +#define CM_WKUP 0x44DF2800 +#define CM_PER 0x44DF8800 + +#define PRM_RSTCTRL (PRCM_BASE + 0x4000) +#define PRM_RSTST (PRM_RSTCTRL + 4)/* VTP Base address */ #define VTP0_CTRL_ADDR 0x44E10E0C
@@ -43,4 +48,5 @@/* RTC base address */ #define RTC_BASE 0x44E3E000 -#endif /* __AM33XX_HARDWARE_AM33XX_H */ +#endif /* __AM43XX_HARDWARE_AM43XX_H */ +
arch/arm/include/asm/arch-am33xx/hardware_ti814x.h +9 -0
@@ -25,6 +25,11 @@/* PRCM Base Address */ #define PRCM_BASE 0x48180000 +#define CM_PER 0x44E00000 +#define CM_WKUP 0x44E00400 + +#define PRM_RSTCTRL (PRCM_BASE + 0x00A0) +#define PRM_RSTST (PRM_RSTCTRL + 8)/* PLL Subsystem Base Address */ #define PLL_SUBSYS_BASE 0x481C5000
@@ -43,4 +48,8 @@/* RTC base address */ #define RTC_BASE 0x480C0000 +/* OTG */ +#define USB0_OTG_BASE 0x47401000 +#define USB1_OTG_BASE 0x47401800 +#endif /* __AM33XX_HARDWARE_TI814X_H */
arch/arm/include/asm/arch-am33xx/mux.h +2 -0
@@ -23,6 +23,8 @@#include <asm/arch/mux_am33xx.h> #elif defined(CONFIG_TI814X )#include <asm/arch/mux_ti814x.h> +#elif defined(CONFIG_AM43XX ) +#include <asm/arch/mux_am43xx.h> #endif struct module_pin_mux {
arch/arm/include/asm/arch-am33xx/mux_am43xx.h new file +143 -0
143 lines not on this page · raw message
arch/arm/include/asm/arch-am33xx/omap.h +4 -5
@@ -15,11 +15,6 @@#ifndef _OMAP_H_#define _OMAP_H_ -/* -* Non-secure SRAM Addresses -* Non-secure RAM starts at 0x40300000 for GP devices. But we keep SRAM_BASE -*@0x40304000(EMU base) so that our code works for both EMU and GP -*/ #ifdef CONFIG_AM33XX #define NON_SECURE_SRAM_START 0x402F0400#define NON_SECURE_SRAM_END 0x40310000
@@ -28,5 +23,9 @@#define NON_SECURE_SRAM_START 0x40300000#define NON_SECURE_SRAM_END 0x40320000#define SRAM_SCRATCH_SPACE_ADDR 0x4031B800 +#elif defined(CONFIG_AM43XX ) +#define NON_SECURE_SRAM_START 0x402F0400 +#define NON_SECURE_SRAM_END 0x40340000 +#define SRAM_SCRATCH_SPACE_ADDR 0x4033C000#endif #endif
arch/arm/include/asm/arch-am33xx/spl.h +2 -2
@@ -9,7 +9,7 @@#define BOOT_DEVICE_XIP 2#define BOOT_DEVICE_NAND 5 -#ifdef CONFIG_AM33XX +#if defined(CONFIG_AM33XX ) || defined(CONFIG_AM43XX )#define BOOT_DEVICE_MMC1 8#define BOOT_DEVICE_MMC2 9/* eMMC or daughter card */ #elif defined(CONFIG_TI814X )
@@ -22,7 +22,7 @@#define BOOT_DEVICE_CPGMAC 70#define BOOT_DEVICE_MMC2_2 0xFF -#ifdef CONFIG_AM33XX +#if defined(CONFIG_AM33XX ) || defined(CONFIG_AM43XX )#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2#elif defined(CONFIG_TI814X )
Signature · 1 line
1.7.9.5
PATCH v2 3/6 ARM: AM43xx: clocks: Add dpll and clock data
In reply to Lokesh VutlaAdd dpll and clock data for AM43xx
--- arch/arm/cpu/armv7/am33xx/Makefile | 7 +- arch/arm/cpu/armv7/am33xx/clock_am43xx.c | 110 ++++++++++++++++++++++++++++++ board/ti/am43xx/board.c | 3 +- 3 files changed, 118 insertions(+), 2 deletions(-) create mode 100644 arch/arm/cpu/armv7/am33xx/clock_am43xx.c
arch/arm/cpu/armv7/am33xx/Makefile +6 -1
@@ -10,7 +10,12 @@ LIB = $(obj)lib$(SOC).o COBJS-$(CONFIG_AM33XX) += clock_am33xx.o COBJS-$(CONFIG_TI814X) += clock_ti814x.o -COBJS-$(CONFIG_AM33XX) += clock.o +COBJS-$(CONFIG_AM43XX) += clock_am43xx.o + +ifneq ($(CONFIG_AM43XX)$(CONFIG_AM33XX),) +COBJS += clock.o +endif + COBJS += sys_info.o COBJS += mem.o COBJS += ddr.o
arch/arm/cpu/armv7/am33xx/clock_am43xx.c new file +110 -0
110 lines not on this page · raw message
board/ti/am43xx/board.c +2 -1
@@ -10,6 +10,7 @@#include <common.h> #include <spl.h> +#include <asm/arch/clock.h> #include <asm/arch/sys_proto.h> #include <asm/arch/mux.h> #include "board.h"
@@ -19,7 +20,7 @@ DECLARE_GLOBAL_DATA_PTR;#ifdef CONFIG_SPL_BUILD const struct dpll_params dpll_ddr = { -266 ,OSC -1 ,1 ,-1 ,-1 ,-1 ,-1 }; +-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 };const struct dpll_params *get_dpll_ddr_params (void ) {
Signature · 1 line
1.7.9.5
PATCH v2 4/6 ARM: OMAP: Add CONFIG_OMAP_COMMON
In reply to Lokesh VutlaAdding a new CONFIG_OMAP_COMMON which is included by all boards that needs to build cpu/armv7/omap-common folder.
--- Makefile | 2 +- arch/arm/config.mk | 2 +- arch/arm/cpu/armv7/omap-common/Makefile | 2 +- include/configs/am335x_evm.h | 1 + include/configs/am3517_crane.h | 1 + include/configs/am3517_evm.h | 1 + include/configs/cm_t35.h | 1 + include/configs/devkit8000.h | 1 + include/configs/dig297.h | 1 + include/configs/igep0033.h | 1 + include/configs/igep00x0.h | 1 + include/configs/mcx.h | 1 + include/configs/nokia_rx51.h | 1 + include/configs/omap3_beagle.h | 1 + include/configs/omap3_evm_common.h | 1 + include/configs/omap3_logic.h | 1 + include/configs/omap3_mvblx.h | 1 + include/configs/omap3_overo.h | 1 + include/configs/omap3_pandora.h | 1 + include/configs/omap3_sdp3430.h | 1 + include/configs/omap3_zoom1.h | 1 + include/configs/omap3_zoom2.h | 1 + include/configs/omap4_common.h | 1 + include/configs/omap5_common.h | 1 + include/configs/pcm051.h | 1 + include/configs/tam3517-common.h | 1 + include/configs/ti814x_evm.h | 1 + include/configs/tricorder.h | 1 + spl/Makefile | 2 +- 29 files changed, 29 insertions(+), 4 deletions(-)
Makefile +1 -1
@@ -322,7 +322,7 @@ LIBS-y += api/libapi.o LIBS-y += post/libpost.o LIBS-y += test/libtest.o -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI814X),) +ifneq ($(CONFIG_OMAP_COMMON),) LIBS-y += $(CPUDIR)/omap-common/libomap-common.o endif
arch/arm/config.mk +1 -1
@@ -8,7 +8,7 @@ CROSS_COMPILE ?= arm-linux- ifndef CONFIG_STANDALONE_LOAD_ADDR -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI814X),) +ifneq ($(CONFIG_OMAP_COMMON),) CONFIG_STANDALONE_LOAD_ADDR = 0x80300000 else CONFIG_STANDALONE_LOAD_ADDR = 0xc100000
arch/arm/cpu/armv7/omap-common/Makefile +1 -1
@@ -21,7 +21,7 @@ COBJS += vc.o COBJS += abb.o endif -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI814X),) +ifeq ($(CONFIG_OMAP34XX),) COBJS += boot-common.o SOBJS += lowlevel_init.o endif
include/configs/am335x_evm.h +1 -0
@@ -18,6 +18,7 @@#define CONFIG_AM33XX #define CONFIG_OMAP +#define CONFIG_OMAP_COMMON #include <asm/arch/omap.h>
include/configs/am3517_crane.h +1 -0
@@ -19,6 +19,7 @@#define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3_AM3517CRANE 1/* working with CRANEBOARD */ +#define CONFIG_OMAP_COMMON #define CONFIG_EMIF4 /* The chip has EMIF4 controller */
include/configs/am3517_evm.h +1 -0
@@ -19,6 +19,7 @@#define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3_AM3517EVM 1/* working with AM3517EVM */ +#define CONFIG_OMAP_COMMON #define CONFIG_EMIF4 /* The chip has EMIF4 controller */
include/configs/cm_t35.h +1 -0
@@ -24,6 +24,7 @@#define CONFIG_OMAP34XX /* which is a 34XX */ #define CONFIG_OMAP_GPIO #define CONFIG_CM_T3X /* working with CM-T35 and CM-T3730 */ +#define CONFIG_OMAP_COMMON #define CONFIG_SYS_TEXT_BASE 0x80008000
include/configs/devkit8000.h +1 -0
@@ -21,6 +21,7 @@#define CONFIG_OMAP3_DEVKIT8000 1/* working with DevKit8000 */ #define CONFIG_MACH_TYPE MACH_TYPE_DEVKIT8000#define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON /* * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM
include/configs/dig297.h +1 -0
@@ -30,6 +30,7 @@#define CONFIG_OMAP /* in a TI OMAP core */ #define CONFIG_OMAP34XX /* which is a 34XX */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON #define CONFIG_SYS_TEXT_BASE 0x80008000
include/configs/igep0033.h +1 -0
@@ -16,6 +16,7 @@#define CONFIG_AM33XX #define CONFIG_OMAP +#define CONFIG_OMAP_COMMON #include <asm/arch/omap.h>
include/configs/igep00x0.h +1 -0
@@ -18,6 +18,7 @@#define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON #define CONFIG_SDRC /* The chip has SDRC controller */
include/configs/mcx.h +1 -0
@@ -16,6 +16,7 @@#define CONFIG_OMAP34XX /* which is a 34XX */ #define CONFIG_OMAP3_MCX /* working with mcx */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON #define MACH_TYPE_MCX 3656#define CONFIG_MACH_TYPE MACH_TYPE_MCX
include/configs/nokia_rx51.h +1 -0
@@ -28,6 +28,7 @@#define CONFIG_OMAP3430 /* which is in a 3430 */ #define CONFIG_OMAP3_RX51 /* working with RX51 */ #define CONFIG_SYS_L2CACHE_OFF /* pretend there is no L2 CACHE */ +#define CONFIG_OMAP_COMMON #define CONFIG_MACH_TYPE MACH_TYPE_NOKIA_RX51
include/configs/omap3_beagle.h +1 -0
@@ -19,6 +19,7 @@#define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3_BEAGLE 1/* working with BEAGLE */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON #define CONFIG_SDRC /* The chip has SDRC controller */
include/configs/omap3_evm_common.h +1 -0
@@ -15,6 +15,7 @@#define CONFIG_OMAP /* This is TI OMAP core */ #define CONFIG_OMAP34XX /* belonging to 34XX family */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON #define CONFIG_SDRC /* The chip has SDRC controller */
include/configs/omap3_logic.h +1 -0
@@ -18,6 +18,7 @@#define CONFIG_OMAP34XX /* which is a 34XX */ #define CONFIG_OMAP3_LOGIC /* working with Logic OMAP boards */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON #define CONFIG_SYS_TEXT_BASE 0x80400000
include/configs/omap3_mvblx.h +1 -0
@@ -24,6 +24,7 @@#define CONFIG_MVBLX 1/* working with mvBlueLYNX-X */ #define CONFIG_MACH_TYPE MACH_TYPE_MVBLX#define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON #define CONFIG_SDRC /* The chip has SDRC controller */
include/configs/omap3_overo.h +1 -0
@@ -14,6 +14,7 @@#define CONFIG_OMAP34XX /* which is a 34XX */ #define CONFIG_OMAP3_OVERO /* working with overo */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON #define CONFIG_SDRC /* The chip has SDRC controller */
include/configs/omap3_pandora.h +1 -0
@@ -17,6 +17,7 @@#define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3_PANDORA 1/* working with pandora */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON #define CONFIG_SDRC /* The chip has SDRC controller */
include/configs/omap3_sdp3430.h +1 -0
@@ -23,6 +23,7 @@#define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3_3430SDP 1/* working with SDP Rev2 */ +#define CONFIG_OMAP_COMMON #define CONFIG_SDRC /* The chip has SDRC controller */
include/configs/omap3_zoom1.h +1 -0
@@ -19,6 +19,7 @@#define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3_ZOOM1 1/* working with Zoom MDK Rev1 */ +#define CONFIG_OMAP_COMMON #define CONFIG_SDRC /* The chip has SDRC controller */
include/configs/omap3_zoom2.h +1 -0
@@ -21,6 +21,7 @@#define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3_ZOOM2 1/* working with Zoom II */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON #define CONFIG_SDRC /* The chip has SDRC controller */
include/configs/omap4_common.h +1 -0
@@ -20,6 +20,7 @@#define CONFIG_OMAP44XX 1/* which is a 44XX */ #define CONFIG_OMAP4430 1/* which is in a 4430 */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON /* Get CPU defs */ #include <asm/arch/cpu.h>
include/configs/omap5_common.h +1 -0
@@ -20,6 +20,7 @@#define CONFIG_OMAP /* in a TI OMAP core */ #define CONFIG_OMAP54XX /* which is a 54XX */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON /* Get CPU defs */ #include <asm/arch/cpu.h>
include/configs/pcm051.h +1 -0
@@ -21,6 +21,7 @@#define CONFIG_AM33XX #define CONFIG_OMAP +#define CONFIG_OMAP_COMMON #include <asm/arch/omap.h>
include/configs/tam3517-common.h +1 -0
@@ -16,6 +16,7 @@#define CONFIG_OMAP /* in a TI OMAP core */ #define CONFIG_OMAP34XX /* which is a 34XX */ #define CONFIG_OMAP_GPIO +#define CONFIG_OMAP_COMMON #define CONFIG_SYS_TEXT_BASE 0x80008000
include/configs/ti814x_evm.h +1 -0
@@ -20,6 +20,7 @@#define CONFIG_TI814X #define CONFIG_SYS_NO_FLASH #define CONFIG_OMAP +#define CONFIG_OMAP_COMMON #include <asm/arch/omap.h>
include/configs/tricorder.h +1 -0
@@ -19,6 +19,7 @@/* High Level Configuration Options */ #define CONFIG_OMAP /* in a TI OMAP core */ #define CONFIG_OMAP34XX /* which is a 34XX */ +#define CONFIG_OMAP_COMMON #define CONFIG_MACH_TYPE MACH_TYPE_TRICORDER/*
spl/Makefile +1 -1
@@ -83,7 +83,7 @@ LIBS-$(CONFIG_SPL_ETH_SUPPORT) += drivers/net/phy/libphy.o LIBS-$(CONFIG_SPL_MUSB_NEW_SUPPORT) += drivers/usb/musb-new/libusb_musb-new.o LIBS-$(CONFIG_SPL_USBETH_SUPPORT) += drivers/usb/gadget/libusb_gadget.o -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI814X),) +ifneq ($(CONFIG_OMAP_COMMON),) LIBS-y += $(CPUDIR)/omap-common/libomap-common.o endif
Signature · 1 line
1.7.9.5
PATCH v2 5/6 ARM: AM43xx: Add build support
In reply to Lokesh VutlaAdd AM43xx support in the required places
--- arch/arm/cpu/armv7/Makefile | 2 +- arch/arm/cpu/armv7/omap-common/boot-common.c | 3 ++- drivers/serial/ns16550.c | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-)
arch/arm/cpu/armv7/Makefile +1 -1
@@ -16,7 +16,7 @@ COBJS += cache_v7.o COBJS += cpu.o COBJS += syslib.o -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6)$(CONFIG_TI814X),) +ifneq ($(CONFIG_AM43XX)$(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6)$(CONFIG_TI814X),) SOBJS += lowlevel_init.o endif
arch/arm/cpu/armv7/omap-common/boot-common.c +2 -1
@@ -40,7 +40,8 @@ void save_omap_boot_params(void)if ((boot_device >=MMC_BOOT_DEVICES_START ) && (boot_device <=MMC_BOOT_DEVICES_END )) { -#if !defined(CONFIG_AM33XX ) && !defined(CONFIG_TI81XX ) +#if !defined(CONFIG_AM33XX ) && !defined(CONFIG_TI81XX ) && \ + !defined(CONFIG_AM43XX )if ((omap_hw_init_context () ==OMAP_INIT_CONTEXT_UBOOT_AFTER_SPL )) { gd->arch.omap_boot_params.omap_bootmode =
drivers/serial/ns16550.c +3 -2
@@ -57,7 +57,8 @@ void NS16550_init(NS16550_t com_port, int baud_divisor)serial_out (CONFIG_SYS_NS16550_IER , &com_port->ier);#if (defined(CONFIG_OMAP ) && !defined(CONFIG_OMAP3_ZOOM2 )) || \ - defined(CONFIG_AM33XX ) || defined(CONFIG_TI814X ) + defined(CONFIG_AM33XX ) || defined(CONFIG_TI814X ) || \ + defined(CONFIG_AM43XX )serial_out (0x7 , &com_port->mdr1);/* mode select reset TL16C750*/ #endif serial_out (UART_LCR_BKSE |UART_LCRVAL , &com_port->lcr);
@@ -72,7 +73,7 @@ void NS16550_init(NS16550_t com_port, int baud_divisor)serial_out (UART_LCRVAL , &com_port->lcr);#if (defined(CONFIG_OMAP ) && !defined(CONFIG_OMAP3_ZOOM2 )) || \ defined(CONFIG_AM33XX ) || defined(CONFIG_SOC_DA8XX ) || \ - defined(CONFIG_TI814X ) + defined(CONFIG_TI814X ) || defined(CONFIG_AM43XX )/* /16 is proper to hit 115200 with 48MHz */ serial_out (0 , &com_port->mdr1);
Signature · 1 line
1.7.9.5
PATCH v2 6/6 ARM: AM43xx: Add config file
In reply to Lokesh VutlaAdd config file
--- boards.cfg | 1 + include/configs/am43xx_evm.h | 135 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 include/configs/am43xx_evm.h
boards.cfg +1 -0
@@ -252,6 +252,7 @@ am335x_evm_uart4 arm armv7 am335x ti am335x_evm_uart5 arm armv7 am335x ti am33xx am335x_evm:SERIAL6,CONS_INDEX=1,NAND am335x_evm_usbspl arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,NAND,SPL_USBETH_SUPPORT am335x_boneblack arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,EMMC_BOOT +am43xx_evm arm armv7 am43xx ti am33xx am43xx_evm:SERIAL1,CONS_INDEX=1 ti814x_evm arm armv7 ti814x ti am33xx pcm051 arm armv7 pcm051 phytec am33xx pcm051 sama5d3xek_mmc arm armv7 sama5d3xek atmel at91 sama5d3xek:SAMA5D3,SYS_USE_MMC
include/configs/am43xx_evm.h new file +135 -0
135 lines not on this page · raw message
Signature · 1 line
1.7.9.5
v2 cover ARM: AM43xx: Add Support for AM43xx Soc's
In reply to Lokesh VutlaQuoted 83 lines · Lokesh Vutla
AM43xx is a low cost Cortex-A9 based application processor targets higher performance applications and new specific end equipments like Point of Sale requiring stringent security requirements. This series add support for AM43xx Soc's.
Data for the following is not added:
-> SDRAM
-> DPLL Dividers and post dividers
-> Pin mux data(only uart data added).
Once this data is available Ill add them.
Config file is kept minimal for now, ll add the corresponding configs when they are validated.This is on top of u-boot-ti + V2 of AM33xx cleanup series.
http://u-boot.10912.n7.nabble.com/PATCH-V2-0-4-ARM-AM33xx-Cleanup-clocks-and-hwinit-tt160272.htmlTesting:
Tested on pre-silicon platform
verified ./MAKEALL --cpu=armv7./MAKEALL -s am33xxChanges Since V1:
- Rebased on top of u-boot-ti + V2 of AM33xx Cleanup
- Updated License header for new files.Lokesh Vutla (6):
ARM: AM43xx: Add Board files
ARM: AM43xx: Add header files
ARM: AM43xx: clocks: Add dpll and clock data
ARM: OMAP: AddCONFIG_OMAP_COMMON
ARM: AM43xx: Add build support
ARM: AM43xx: Add config fileMakefile | 2 +- arch/arm/config.mk | 2 +- arch/arm/cpu/armv7/Makefile | 2 +- arch/arm/cpu/armv7/am33xx/Makefile | 7 +- arch/arm/cpu/armv7/am33xx/clock_am43xx.c | 110 +++++++++++++ arch/arm/cpu/armv7/omap-common/Makefile | 2 +- arch/arm/cpu/armv7/omap-common/boot-common.c | 3 +- arch/arm/include/asm/arch-am33xx/cpu.h | 164 +++++++++++++++++++- arch/arm/include/asm/arch-am33xx/hardware.h | 8 +- arch/arm/include/asm/arch-am33xx/hardware_am33xx.h | 9 ++ .../{hardware_am33xx.h => hardware_am43xx.h} | 18 ++- arch/arm/include/asm/arch-am33xx/hardware_ti814x.h | 9 ++ arch/arm/include/asm/arch-am33xx/mux.h | 2 + arch/arm/include/asm/arch-am33xx/mux_am43xx.h | 143 +++++++++++++++++ arch/arm/include/asm/arch-am33xx/omap.h | 9 +- arch/arm/include/asm/arch-am33xx/spl.h | 4 +- board/ti/am43xx/Makefile | 38 +++++ board/ti/am43xx/board.c | 57 +++++++ board/ti/am43xx/board.h | 17 ++ board/ti/am43xx/mux.c | 27 ++++ boards.cfg | 1 + drivers/serial/ns16550.c | 5 +- include/configs/am335x_evm.h | 1 + include/configs/am3517_crane.h | 1 + include/configs/am3517_evm.h | 1 + include/configs/am43xx_evm.h | 135 ++++++++++++++++ include/configs/cm_t35.h | 1 + include/configs/devkit8000.h | 1 + include/configs/dig297.h | 1 + include/configs/igep0033.h | 1 + include/configs/igep00x0.h | 1 + include/configs/mcx.h | 1 + include/configs/nokia_rx51.h | 1 + include/configs/omap3_beagle.h | 1 + include/configs/omap3_evm_common.h | 1 + include/configs/omap3_logic.h | 1 + include/configs/omap3_mvblx.h | 1 + include/configs/omap3_overo.h | 1 + include/configs/omap3_pandora.h | 1 + include/configs/omap3_sdp3430.h | 1 + include/configs/omap3_zoom1.h | 1 + include/configs/omap3_zoom2.h | 1 + include/configs/omap4_common.h | 1 + include/configs/omap5_common.h | 1 + include/configs/pcm051.h | 1 + include/configs/tam3517-common.h | 1 + include/configs/ti814x_evm.h | 1 + include/configs/tricorder.h | 1 + spl/Makefile | 2 +- 49 files changed, 766 insertions(+), 35 deletions(-)
Quoted 8 lines
create mode 100644 arch/arm/cpu/armv7/am33xx/clock_am43xx.c
copy arch/arm/include/asm/arch-am33xx/{hardware_am33xx.h => hardware_am43xx.h} (69%)
create mode 100644 arch/arm/include/asm/arch-am33xx/mux_am43xx.h
create mode 100644 board/ti/am43xx/Makefile
create mode 100644 board/ti/am43xx/board.c
create mode 100644 board/ti/am43xx/board.h
create mode 100644 board/ti/am43xx/mux.c
create mode 100644 include/configs/am43xx_evm.hApplied to u-boot-ti/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130816/6c04f3e8/attachment.pgp>