This series of patches adds preliminary/baseline support for NVIDIA's Tegra2 SoC. Basic CPU (AVP), RAM and UART init are covered so that the system (Harmony or Seaboard) can boot to the U-Boot serial cmd prompt.
Further support (for Cortex-A9 CPU(s), USB, SD/MMC, etc.) to follow. Changes for V2: - Coding style cleanup - Remove mach-types.h change; wait for ARM kernel sync-up - Move serial driver changes to separate patch - Use board/nvidia/ instead of /board/tegra - Remove TRUE/FALSE defines - Use standard NS16550 register/bit defines in UART init - Change nv-common.h config file to tegra2-common.h Changes for V3: - Use I/O accessors for Tegra2 HW MMIO register access - Allow conditional compile of UARTA/UARTD code to save space Changes for V4: - Use address of HW structs (&pmc, etc.) in readl/writel - Remove empty lines, fix mixed case hex #s & comments in header(s) - Move board/nvidia/common/board.c UART code & header to arch/arm/cpu/armv7/tegra2/ - Declare internal functions as static in UART code Changes for V5: - Move arch/arm/cpu/armv7/uart.c & board.h to drivers/serial and rename to serial_tegra2.c - Remove use of uart_num & UART_A/D in serial_tegra2, simplify code Changes for V6: - Fix uart.c add & delete in previous patchset - Move pinmux & clock init code to common board file as per review - Use #if defined() where possible in config files/UART code - Drop all typedef and volatile struct declarations in header files Tom Warren (4): arm: Tegra2: Add basic NVIDIA Tegra2 SoC support serial: Add Tegra2 serial port support arm: Tegra2: Add support for NVIDIA Harmony board arm: Tegra2: Add support for NVIDIA Seaboard board MAINTAINERS | 5 + arch/arm/cpu/armv7/tegra2/Makefile | 48 +++++++ arch/arm/cpu/armv7/tegra2/board.c | 88 ++++++++++++ arch/arm/cpu/armv7/tegra2/config.mk | 28 ++++ arch/arm/cpu/armv7/tegra2/lowlevel_init.S | 65 +++++++++ arch/arm/cpu/armv7/tegra2/sys_info.c | 35 +++++ arch/arm/cpu/armv7/tegra2/timer.c | 122 ++++++++++++++++ arch/arm/include/asm/arch-tegra2/clk_rst.h | 165 ++++++++++++++++++++++ arch/arm/include/asm/arch-tegra2/pinmux.h | 55 ++++++++ arch/arm/include/asm/arch-tegra2/pmc.h | 124 +++++++++++++++++ arch/arm/include/asm/arch-tegra2/sys_proto.h | 35 +++++ arch/arm/include/asm/arch-tegra2/tegra2.h | 49 +++++++ arch/arm/include/asm/arch-tegra2/uart.h | 47 ++++++ board/nvidia/common/board.c | 193 ++++++++++++++++++++++++++ board/nvidia/harmony/Makefile | 50 +++++++ board/nvidia/seaboard/Makefile | 50 +++++++ boards.cfg | 2 + common/serial.c | 3 +- drivers/serial/Makefile | 1 + drivers/serial/serial_tegra2.c | 77 ++++++++++ drivers/serial/serial_tegra2.h | 29 ++++ include/configs/harmony.h | 49 +++++++ include/configs/seaboard.h | 43 ++++++ include/configs/tegra2-common.h | 160 +++++++++++++++++++++ include/serial.h | 3 +- 25 files changed, 1524 insertions(+), 2 deletions(-) create mode 100644 arch/arm/cpu/armv7/tegra2/Makefile create mode 100644 arch/arm/cpu/armv7/tegra2/board.c create mode 100644 arch/arm/cpu/armv7/tegra2/config.mk create mode 100644 arch/arm/cpu/armv7/tegra2/lowlevel_init.S create mode 100644 arch/arm/cpu/armv7/tegra2/sys_info.c create mode 100644 arch/arm/cpu/armv7/tegra2/timer.c create mode 100644 arch/arm/include/asm/arch-tegra2/clk_rst.h create mode 100644 arch/arm/include/asm/arch-tegra2/pinmux.h create mode 100644 arch/arm/include/asm/arch-tegra2/pmc.h create mode 100644 arch/arm/include/asm/arch-tegra2/sys_proto.h create mode 100644 arch/arm/include/asm/arch-tegra2/tegra2.h create mode 100644 arch/arm/include/asm/arch-tegra2/uart.h create mode 100644 board/nvidia/common/board.c create mode 100644 board/nvidia/harmony/Makefile create mode 100644 board/nvidia/seaboard/Makefile create mode 100644 drivers/serial/serial_tegra2.c create mode 100644 drivers/serial/serial_tegra2.h create mode 100644 include/configs/harmony.h create mode 100644 include/configs/seaboard.h create mode 100644 include/configs/tegra2-common.h -- 1.7.3.5 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot