[U-Boot] [PATCH v2 0/7] Add support for NVIDIA Tegra30 SoC

Tom Warren
2012-12-03T23:45:15Z

This patch series adds basic (boot to cmd prompt) support for Tegra30.
This is based on the Tegra20 SPL, which initializes the AVP (ARM7TDMI)
boot proc) first, then control is transferred to the CPU (A9 quad cluster).
It is based on current u-boot-tegra/next. Some Tegra20 files were
changed or moved to enable use of common code/headers.

Future patches will add support/drivers for MMC, USB, I2C, SPI, NAND
and other peripherals. The Cardhu T30 boards is supported initially.

V2: Rework patchset as per feedback from Stephen and Simon.

Tom Warren (7):
Tegra30: Add arch-tegra30 include files
Tegra30: Add AVP (arm720t) files
Tegra30: Add CPU (armv7) files
Tegra30: Add common CPU (shared) files
Tegra30: Cardhu: Add DT files
Tegra30: Add generic Tegra30 build support
Tegra30: Add/enable Cardhu build (T30 reference board)

Makefile | 6 +-
arch/arm/cpu/arm720t/tegra-common/Makefile | 1 +
arch/arm/cpu/arm720t/tegra-common/cpu.c | 342 +++++++
arch/arm/cpu/arm720t/tegra-common/cpu.h | 64 +-
arch/arm/cpu/arm720t/tegra-common/spl.c | 3 +-
arch/arm/cpu/arm720t/tegra20/cpu.c | 216 +----
arch/arm/cpu/arm720t/tegra30/Makefile | 41 +
arch/arm/cpu/arm720t/tegra30/config.mk | 19 +
arch/arm/cpu/arm720t/tegra30/cpu.c | 176 ++++
arch/arm/cpu/armv7/Makefile | 2 +-
arch/arm/cpu/armv7/start.S | 4 +-
arch/arm/cpu/armv7/tegra30/Makefile | 40 +
arch/arm/cpu/armv7/tegra30/config.mk | 19 +
arch/arm/cpu/tegra-common/ap.c | 22 +-
arch/arm/cpu/tegra-common/board.c | 41 +-
arch/arm/cpu/tegra-common/sys_info.c | 5 +-
arch/arm/cpu/tegra20-common/warmboot.c | 2 +-
arch/arm/cpu/tegra30-common/Makefile | 44 +
arch/arm/cpu/tegra30-common/clock.c | 1092 ++++++++++++++++++++++
arch/arm/cpu/tegra30-common/funcmux.c | 57 ++
arch/arm/cpu/tegra30-common/pinmux.c | 506 ++++++++++
arch/arm/dts/tegra30.dtsi | 6 +
arch/arm/include/asm/arch-tegra/ap.h | 50 +-
arch/arm/include/asm/arch-tegra/clk_rst.h | 148 +++-
arch/arm/include/asm/arch-tegra/clock.h | 8 +-
arch/arm/include/asm/arch-tegra/funcmux.h | 39 +
arch/arm/include/asm/arch-tegra/gp_padctrl.h | 39 +
arch/arm/include/asm/arch-tegra/tegra.h | 13 +-
arch/arm/include/asm/arch-tegra20/funcmux.h | 26 +-
arch/arm/include/asm/arch-tegra20/gp_padctrl.h | 17 +-
arch/arm/include/asm/arch-tegra30/clock-tables.h | 378 ++++++++
arch/arm/include/asm/arch-tegra30/clock.h | 24 +
arch/arm/include/asm/arch-tegra30/flow.h | 35 +
arch/arm/include/asm/arch-tegra30/funcmux.h | 31 +
arch/arm/include/asm/arch-tegra30/gp_padctrl.h | 59 ++
arch/arm/include/asm/arch-tegra30/gpio.h | 304 ++++++
arch/arm/include/asm/arch-tegra30/hardware.h | 22 +
arch/arm/include/asm/arch-tegra30/pinmux.h | 604 ++++++++++++
arch/arm/include/asm/arch-tegra30/pmu.h | 23 +
arch/arm/include/asm/arch-tegra30/spl.h | 28 +
arch/arm/include/asm/arch-tegra30/tegra.h | 26 +
board/nvidia/cardhu/Makefile | 44 +
board/nvidia/cardhu/cardhu.c | 39 +
board/nvidia/cardhu/pinmux-config-cardhu.h | 339 +++++++
board/nvidia/common/board.c | 17 +-
board/nvidia/dts/tegra30-cardhu.dts | 14 +
boards.cfg | 1 +
include/configs/cardhu.h | 52 +
include/configs/tegra-common.h | 163 ++++
include/configs/tegra20-common.h | 171 +---
include/configs/tegra30-common.h | 54 ++
include/serial.h | 2 +-
spl/Makefile | 2 +-
53 files changed, 4973 insertions(+), 507 deletions(-)
create mode 100644 arch/arm/cpu/arm720t/tegra-common/cpu.c
create mode 100644 arch/arm/cpu/arm720t/tegra30/Makefile
create mode 100644 arch/arm/cpu/arm720t/tegra30/config.mk
create mode 100644 arch/arm/cpu/arm720t/tegra30/cpu.c
create mode 100644 arch/arm/cpu/armv7/tegra30/Makefile
create mode 100644 arch/arm/cpu/armv7/tegra30/config.mk
create mode 100644 arch/arm/cpu/tegra30-common/Makefile
create mode 100644 arch/arm/cpu/tegra30-common/clock.c
create mode 100644 arch/arm/cpu/tegra30-common/funcmux.c
create mode 100644 arch/arm/cpu/tegra30-common/pinmux.c
create mode 100644 arch/arm/dts/tegra30.dtsi
create mode 100644 arch/arm/include/asm/arch-tegra/funcmux.h
create mode 100644 arch/arm/include/asm/arch-tegra/gp_padctrl.h
create mode 100644 arch/arm/include/asm/arch-tegra30/clock-tables.h
create mode 100644 arch/arm/include/asm/arch-tegra30/clock.h
create mode 100644 arch/arm/include/asm/arch-tegra30/flow.h
create mode 100644 arch/arm/include/asm/arch-tegra30/funcmux.h
create mode 100644 arch/arm/include/asm/arch-tegra30/gp_padctrl.h
create mode 100644 arch/arm/include/asm/arch-tegra30/gpio.h
create mode 100644 arch/arm/include/asm/arch-tegra30/hardware.h
create mode 100644 arch/arm/include/asm/arch-tegra30/pinmux.h
create mode 100644 arch/arm/include/asm/arch-tegra30/pmu.h
create mode 100644 arch/arm/include/asm/arch-tegra30/spl.h
create mode 100644 arch/arm/include/asm/arch-tegra30/tegra.h
create mode 100644 board/nvidia/cardhu/Makefile
create mode 100644 board/nvidia/cardhu/cardhu.c
create mode 100644 board/nvidia/cardhu/pinmux-config-cardhu.h
create mode 100644 board/nvidia/dts/tegra30-cardhu.dts
create mode 100644 include/configs/cardhu.h
create mode 100644 include/configs/tegra-common.h
create mode 100644 include/configs/tegra30-common.h