Add support for TI OMAP4 SDP and Panda
Subsystems (5)
v4 cover Add support for TI OMAP4 SDP and Panda
This is version 4, which takes into account all feedback to date, and has been rebased on the next branch.
The folowing series adds support for two boards based upon the TI OMAP4430. The OMAP4430 is a Cortex-A9 based SOC from TI.
The first patch in this series renames the cpu arm_cortexa8 to armv7 so that the existing cortex A8 code can be shared with cortex A9. Both A8 and A9 are based on ARMV7 architecture.
The 2nd patch adds basic OMAP4 architecture support.
The 3rd patch restructures the OMAP mmc driver code so that it can be shared by both OMAP3 and OMAP4 boards. This patch depends on a previously submitted patch (OMAP: mmc: add support for second and third mmc channel):
http://www.mail-archive.com/u-boot at lists.denx.de/msg31765.html
The 4th patch restructures the OMAP i2c code so that it can be shared by both OMAP3 and OMAP4 boards.
And, finally, the 5th and 6th patches add board support for Panda and SDP.
I build tested each step of the series for all ARMV7 boards (devkit8000 mx51evk omap3_beagle omap3_overo omap3_evm omap3_pandora omap3_sdp3430omap3_zoom1 omap3_zoom2 smdkc100)
I did a run test at each step of the series for Overo to verify no regressions on an existing board. Of couse I also run test the final two steps of the series on SDP and Panda.
---
Steve Sakoman (6):
ARM: Rename arch/arm/cpu/arm_cortexa8 to armv7
ARMV7: Add basic support for TI OMAP4
ARMV7: Restructure OMAP mmc driver to allow code sharing between
OMAP3 and OMAP4
ARMV7: Restructure OMAP i2c driver to allow code sharing between
OMAP3 and OMAP4
ARMV7: Add support for TI OMAP4430 SDP
ARMV7: Add support for TI OMAP4 Panda
MAINTAINERS | 24 ++-
MAKEALL | 10 +-
Makefile | 7 +
arch/arm/cpu/{arm_cortexa8 => armv7}/Makefile | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/config.mk | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/cpu.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/Makefile | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/clock.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/iomux.c | 0
.../{arm_cortexa8 => armv7}/mx51/lowlevel_init.S | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/soc.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/speed.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/timer.c | 0
.../cpu/{arm_cortexa8 => armv7}/mx51/u-boot.lds | 2 +-
.../mx51 => armv7/omap-common}/Makefile | 10 +-
.../{arm_cortexa8 => armv7/omap-common}/config.mk | 0
.../omap3 => armv7/omap-common}/reset.S | 0
.../omap3 => armv7/omap-common}/timer.c | 5 +
.../arm/cpu/{arm_cortexa8 => armv7}/omap3/Makefile | 2 -
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/board.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/cache.S | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/clock.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/emif4.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/gpio.c | 0
.../{arm_cortexa8 => armv7}/omap3/lowlevel_init.S | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/mem.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/sdrc.c | 0
.../cpu/{arm_cortexa8 => armv7}/omap3/sys_info.c | 0
.../arm/cpu/{arm_cortexa8 => armv7}/omap3/syslib.c | 0
.../{arm_cortexa8/s5pc1xx => armv7/omap4}/Makefile | 16 +-
arch/arm/cpu/armv7/omap4/board.c | 90 ++++++++
.../omap3/reset.S => armv7/omap4/lowlevel_init.S} | 40 +++--
.../omap3/reset.S => armv7/omap4/sys_info.c} | 50 +++--
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/Makefile | 0
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/cache.S | 2 +-
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/clock.c | 0
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/cpu_info.c | 0
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/reset.S | 0
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/sromc.c | 0
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/timer.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/start.S | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/u-boot.lds | 2 +-
arch/arm/include/asm/arch-mx51/asm-offsets.h | 2 +-
arch/arm/include/asm/arch-omap3/i2c.h | 149 +-------------
arch/arm/include/asm/arch-omap4/cpu.h | 94 +++++++++
arch/arm/include/asm/arch-omap4/i2c.h | 74 +++++++
arch/arm/include/asm/arch-omap4/mmc_host_def.h | 171 +++++++++++++++
arch/arm/include/asm/arch-omap4/omap4.h | 118 +++++++++++
.../reset.S => include/asm/arch-omap4/sys_proto.h} | 35 ++--
board/logicpd/zoom2/zoom2.c | 2 +-
.../cpu/arm_cortexa8 => board/ti/panda}/Makefile | 24 ++-
.../cpu/arm_cortexa8 => board/ti/panda}/config.mk | 25 +--
.../u-boot.lds => board/ti/panda/panda.c | 65 +++---
.../cpu/arm_cortexa8 => board/ti/sdp4430}/Makefile | 24 ++-
.../arm_cortexa8 => board/ti/sdp4430}/config.mk | 25 +--
.../u-boot.lds => board/ti/sdp4430/sdp.c | 66 +++---
boards.cfg | 22 +-
drivers/i2c/omap24xx_i2c.c | 17 ++-
.../arch-omap3/i2c.h => drivers/i2c/omap24xx_i2c.h | 45 +----
drivers/mmc/omap3_mmc.c | 13 +-
.../arch-omap3/mmc.h => drivers/mmc/omap3_mmc.h | 2 +-
include/configs/am3517_evm.h | 2 +-
include/configs/devkit8000.h | 2 +-
include/configs/omap3_beagle.h | 2 +-
include/configs/omap3_evm.h | 2 +-
include/configs/omap3_pandora.h | 2 +-
include/configs/omap3_sdp3430.h | 2 +-
include/configs/omap3_zoom1.h | 2 +-
include/configs/omap3_zoom2.h | 2 +-
include/configs/omap4_panda.h | 220 +++++++++++++++++++
include/configs/omap4_sdp4430.h | 221 ++++++++++++++++++++
include/configs/s5p_goni.h | 2 +-
include/configs/smdkc100.h | 2 +-
73 files changed, 1284 insertions(+), 410 deletions(-)
copy arch/arm/cpu/{arm_cortexa8 => armv7}/Makefile (100%)
copy arch/arm/cpu/{arm_cortexa8 => armv7}/config.mk (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/cpu.c (100%)
copy arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/Makefile (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/clock.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/iomux.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/lowlevel_init.S (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/soc.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/speed.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/timer.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/u-boot.lds (97%)
rename arch/arm/cpu/{arm_cortexa8/mx51 => armv7/omap-common}/Makefile (87%)
copy arch/arm/cpu/{arm_cortexa8 => armv7/omap-common}/config.mk (100%)
copy arch/arm/cpu/{arm_cortexa8/omap3 => armv7/omap-common}/reset.S (100%)
rename arch/arm/cpu/{arm_cortexa8/omap3 => armv7/omap-common}/timer.c (96%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/Makefile (97%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/board.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/cache.S (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/clock.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/emif4.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/gpio.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/lowlevel_init.S (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/mem.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/sdrc.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/sys_info.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/syslib.c (100%)
copy arch/arm/cpu/{arm_cortexa8/s5pc1xx => armv7/omap4}/Makefile (83%)
create mode 100644 arch/arm/cpu/armv7/omap4/board.c
copy arch/arm/cpu/{arm_cortexa8/omap3/reset.S => armv7/omap4/lowlevel_init.S} (65%)
copy arch/arm/cpu/{arm_cortexa8/omap3/reset.S => armv7/omap4/sys_info.c} (60%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/Makefile (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/cache.S (98%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/clock.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/cpu_info.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/reset.S (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/sromc.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/timer.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/start.S (100%)
copy arch/arm/cpu/{arm_cortexa8 => armv7}/u-boot.lds (97%)
create mode 100644 arch/arm/include/asm/arch-omap4/cpu.h
create mode 100644 arch/arm/include/asm/arch-omap4/i2c.h
create mode 100644 arch/arm/include/asm/arch-omap4/mmc_host_def.h
create mode 100644 arch/arm/include/asm/arch-omap4/omap4.h
rename arch/arm/{cpu/arm_cortexa8/omap3/reset.S => include/asm/arch-omap4/sys_proto.h} (64%)
copy {arch/arm/cpu/arm_cortexa8 => board/ti/panda}/Makefile (79%)
copy {arch/arm/cpu/arm_cortexa8 => board/ti/panda}/config.mk (54%)
copy arch/arm/cpu/arm_cortexa8/u-boot.lds => board/ti/panda/panda.c (53%)
rename {arch/arm/cpu/arm_cortexa8 => board/ti/sdp4430}/Makefile (79%)
rename {arch/arm/cpu/arm_cortexa8 => board/ti/sdp4430}/config.mk (54%)
rename arch/arm/cpu/arm_cortexa8/u-boot.lds => board/ti/sdp4430/sdp.c (52%)
copy arch/arm/include/asm/arch-omap3/i2c.h => drivers/i2c/omap24xx_i2c.h (85%)
rename arch/arm/include/asm/arch-omap3/mmc.h => drivers/mmc/omap3_mmc.h (99%)
create mode 100644 include/configs/omap4_panda.h
create mode 100644 include/configs/omap4_sdp4430.hPATCH v4 1/6 ARM: Rename arch/arm/cpu/arm_cortexa8 to armv7
The purpose of this patch is to prepare for adding the OMAP4 architecture, which is Cortex A9
Cortex A8 and A9 both belong to the armv7 architecture, hence the name change.
The two architectures are similar enough that substantial code can be shared.
---
MAINTAINERS | 22 ++++++++++----------
MAKEALL | 8 +++---
arch/arm/cpu/{arm_cortexa8 => armv7}/Makefile | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/config.mk | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/cpu.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/Makefile | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/clock.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/iomux.c | 0
.../{arm_cortexa8 => armv7}/mx51/lowlevel_init.S | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/soc.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/speed.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/timer.c | 0
.../cpu/{arm_cortexa8 => armv7}/mx51/u-boot.lds | 2 +-
.../arm/cpu/{arm_cortexa8 => armv7}/omap3/Makefile | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/board.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/cache.S | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/clock.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/emif4.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/gpio.c | 0
.../{arm_cortexa8 => armv7}/omap3/lowlevel_init.S | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/mem.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/reset.S | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/sdrc.c | 0
.../cpu/{arm_cortexa8 => armv7}/omap3/sys_info.c | 0
.../arm/cpu/{arm_cortexa8 => armv7}/omap3/syslib.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/timer.c | 0
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/Makefile | 0
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/cache.S | 2 +-
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/clock.c | 0
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/cpu_info.c | 0
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/reset.S | 0
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/sromc.c | 0
.../cpu/{arm_cortexa8 => armv7}/s5pc1xx/timer.c | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/start.S | 0
arch/arm/cpu/{arm_cortexa8 => armv7}/u-boot.lds | 2 +-
arch/arm/include/asm/arch-mx51/asm-offsets.h | 2 +-
board/logicpd/zoom2/zoom2.c | 2 +-
boards.cfg | 20 +++++++++---------
include/configs/am3517_evm.h | 2 +-
include/configs/devkit8000.h | 2 +-
include/configs/omap3_beagle.h | 2 +-
include/configs/omap3_evm.h | 2 +-
include/configs/omap3_pandora.h | 2 +-
include/configs/omap3_sdp3430.h | 2 +-
include/configs/omap3_zoom1.h | 2 +-
include/configs/omap3_zoom2.h | 2 +-
include/configs/s5p_goni.h | 2 +-
include/configs/smdkc100.h | 2 +-
48 files changed, 40 insertions(+), 40 deletions(-)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/Makefile (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/config.mk (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/cpu.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/Makefile (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/clock.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/iomux.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/lowlevel_init.S (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/soc.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/speed.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/timer.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/mx51/u-boot.lds (97%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/Makefile (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/board.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/cache.S (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/clock.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/emif4.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/gpio.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/lowlevel_init.S (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/mem.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/reset.S (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/sdrc.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/sys_info.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/syslib.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/omap3/timer.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/Makefile (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/cache.S (98%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/clock.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/cpu_info.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/reset.S (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/sromc.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/s5pc1xx/timer.c (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/start.S (100%)
rename arch/arm/cpu/{arm_cortexa8 => armv7}/u-boot.lds (97%)MAINTAINERS +11 -11
@@ -549,7 +549,7 @@ Stefano Babic <[email protected]> Dirk Behme <[email protected]> - omap3_beagle ARM CORTEX-A8 (OMAP3530 SoC) + omap3_beagle ARM ARMV7 (OMAP3530 SoC) Eric Benard <[email protected]>
@@ -615,11 +615,11 @@ Kshitij Gupta <[email protected]> Vaibhav Hiremath <[email protected]> - am3517_evm ARM CORTEX-A8 (AM35x SoC) + am3517_evm ARM ARMV7 (AM35x SoC) Grazvydas Ignotas <[email protected]> - omap3_pandora ARM CORTEX-A8 (OMAP3xx SoC) + omap3_pandora ARM ARMV7 (OMAP3xx SoC) Gary Jennejohn <[email protected]>
@@ -649,12 +649,12 @@ Nishant Kamat <[email protected]> Minkyu Kang <[email protected]> - s5p_goni ARM CORTEX-A8 (S5PC110 SoC) - SMDKC100 ARM CORTEX-A8 (S5PC100 SoC) + s5p_goni ARM ARMV7 (S5PC110 SoC) + SMDKC100 ARM ARMV7 (S5PC100 SoC) Frederik Kriewitz <[email protected]> - devkit8000 ARM CORTEX-A8 (OMAP3530 SoC) + devkit8000 ARM ARMV7 (OMAP3530 SoC) Sergey Kubushyn <[email protected]>
@@ -685,8 +685,8 @@ Guennadi Liakhovetski <[email protected]> Nishanth Menon <[email protected]> - omap3_sdp3430 ARM CORTEX-A8 (OMAP3xx SoC) - omap3_zoom1 ARM CORTEX-A8 (OMAP3xx SoC) + omap3_sdp3430 ARM ARMV7 (OMAP3xx SoC) + omap3_zoom1 ARM ARMV7 (OMAP3xx SoC) David M?ller <[email protected]>
@@ -724,7 +724,7 @@ Dave Peverley <[email protected]> Manikandan Pillai <[email protected]> - omap3_evm ARM CORTEX-A8 (OMAP3xx SoC) + omap3_evm ARM ARMV7 (OMAP3xx SoC) Stelian Pop <[email protected]>
@@ -736,7 +736,7 @@ Stelian Pop <[email protected]> Tom Rix <[email protected]> - omap3_zoom2 ARM CORTEX-A8 (OMAP3xx SoC) + omap3_zoom2 ARM ARMV7 (OMAP3xx SoC) John Rigby <[email protected]>
@@ -755,7 +755,7 @@ Nomadik Linux Team <[email protected]> Steve Sakoman <[email protected]> - omap3_overo ARM CORTEX-A8 (OMAP3xx SoC) + omap3_overo ARM ARMV7 (OMAP3xx SoC) Jens Scharsig <[email protected]>
MAKEALL +4 -4
@@ -641,9 +641,9 @@ LIST_ARM11=" \ " ######################################################################### -## ARM Cortex-A8 Systems +## ARMV7 Systems ######################################################################### -LIST_ARM_CORTEX_A8=" \ +LIST_ARMV7=" \ am3517_evm \ devkit8000 \ mx51evk \
@@ -736,7 +736,7 @@ LIST_arm=" \ ${LIST_ARM9} \ ${LIST_ARM10} \ ${LIST_ARM11} \ - ${LIST_ARM_CORTEX_A8} \ + ${LIST_ARMV7} \ ${LIST_at91} \ ${LIST_pxa} \ ${LIST_ixp} \
@@ -1002,7 +1002,7 @@ print_stats() { for arg in $@ do case "$arg" in - arm|SA|ARM7|ARM9|ARM10|ARM11|ARM_CORTEX_A8|at91|ixp|pxa \ + arm|SA|ARM7|ARM9|ARM10|ARM11|ARMV7|at91|ixp|pxa \ |avr32 \ |blackfin \ |coldfire \
arch/arm/cpu/armv7/Makefile renamed from arch/arm/cpu/arm_cortexa8/Makefile +0 -0
arch/arm/cpu/armv7/config.mk renamed from arch/arm/cpu/arm_cortexa8/config.mk +0 -0
arch/arm/cpu/armv7/cpu.c renamed from arch/arm/cpu/arm_cortexa8/cpu.c +0 -0
arch/arm/cpu/armv7/mx51/Makefile renamed from arch/arm/cpu/arm_cortexa8/mx51/Makefile +0 -0
arch/arm/cpu/armv7/mx51/clock.c renamed from arch/arm/cpu/arm_cortexa8/mx51/clock.c +0 -0
arch/arm/cpu/armv7/mx51/iomux.c renamed from arch/arm/cpu/arm_cortexa8/mx51/iomux.c +0 -0
arch/arm/cpu/armv7/mx51/lowlevel_init.S renamed from arch/arm/cpu/arm_cortexa8/mx51/lowlevel_init.S +0 -0
arch/arm/cpu/armv7/mx51/soc.c renamed from arch/arm/cpu/arm_cortexa8/mx51/soc.c +0 -0
arch/arm/cpu/armv7/mx51/speed.c renamed from arch/arm/cpu/arm_cortexa8/mx51/speed.c +0 -0
arch/arm/cpu/armv7/mx51/timer.c renamed from arch/arm/cpu/arm_cortexa8/mx51/timer.c +0 -0
arch/arm/cpu/armv7/mx51/u-boot.lds renamed from arch/arm/cpu/arm_cortexa8/mx51/u-boot.lds +1 -1
@@ -36,7 +36,7 @@ SECTIONS . = ALIGN(4); .text : { - arch/arm/cpu/arm_cortexa8/start.o + arch/arm/cpu/armv7/start.o *(.text) }
arch/arm/cpu/armv7/omap3/Makefile renamed from arch/arm/cpu/arm_cortexa8/omap3/Makefile +0 -0
arch/arm/cpu/armv7/omap3/board.c renamed from arch/arm/cpu/arm_cortexa8/omap3/board.c +0 -0
arch/arm/cpu/armv7/omap3/cache.S renamed from arch/arm/cpu/arm_cortexa8/omap3/cache.S +0 -0
arch/arm/cpu/armv7/omap3/clock.c renamed from arch/arm/cpu/arm_cortexa8/omap3/clock.c +0 -0
arch/arm/cpu/armv7/omap3/emif4.c renamed from arch/arm/cpu/arm_cortexa8/omap3/emif4.c +0 -0
arch/arm/cpu/armv7/omap3/gpio.c renamed from arch/arm/cpu/arm_cortexa8/omap3/gpio.c +0 -0
arch/arm/cpu/armv7/omap3/lowlevel_init.S renamed from arch/arm/cpu/arm_cortexa8/omap3/lowlevel_init.S +0 -0
arch/arm/cpu/armv7/omap3/mem.c renamed from arch/arm/cpu/arm_cortexa8/omap3/mem.c +0 -0
arch/arm/cpu/armv7/omap3/reset.S renamed from arch/arm/cpu/arm_cortexa8/omap3/reset.S +0 -0
arch/arm/cpu/armv7/omap3/sdrc.c renamed from arch/arm/cpu/arm_cortexa8/omap3/sdrc.c +0 -0
arch/arm/cpu/armv7/omap3/sys_info.c renamed from arch/arm/cpu/arm_cortexa8/omap3/sys_info.c +0 -0
arch/arm/cpu/armv7/omap3/syslib.c renamed from arch/arm/cpu/arm_cortexa8/omap3/syslib.c +0 -0
arch/arm/cpu/armv7/omap3/timer.c renamed from arch/arm/cpu/arm_cortexa8/omap3/timer.c +0 -0
arch/arm/cpu/armv7/s5pc1xx/Makefile renamed from arch/arm/cpu/arm_cortexa8/s5pc1xx/Makefile +0 -0
arch/arm/cpu/armv7/s5pc1xx/cache.S renamed from arch/arm/cpu/arm_cortexa8/s5pc1xx/cache.S +1 -1
@@ -2,7 +2,7 @@ * Copyright (C) 2009 Samsung Electronics * Minkyu Kang <[email protected]> * - * based on arch/arm/cpu/arm_cortexa8/omap3/cache.S + * based on arch/arm/cpu/armv7/omap3/cache.S * * See file CREDITS for list of people who contributed to this * project.
arch/arm/cpu/armv7/s5pc1xx/clock.c renamed from arch/arm/cpu/arm_cortexa8/s5pc1xx/clock.c +0 -0
arch/arm/cpu/armv7/s5pc1xx/cpu_info.c renamed from arch/arm/cpu/arm_cortexa8/s5pc1xx/cpu_info.c +0 -0
arch/arm/cpu/armv7/s5pc1xx/reset.S renamed from arch/arm/cpu/arm_cortexa8/s5pc1xx/reset.S +0 -0
arch/arm/cpu/armv7/s5pc1xx/sromc.c renamed from arch/arm/cpu/arm_cortexa8/s5pc1xx/sromc.c +0 -0
arch/arm/cpu/armv7/s5pc1xx/timer.c renamed from arch/arm/cpu/arm_cortexa8/s5pc1xx/timer.c +0 -0
arch/arm/cpu/armv7/start.S renamed from arch/arm/cpu/arm_cortexa8/start.S +0 -0
arch/arm/cpu/armv7/u-boot.lds renamed from arch/arm/cpu/arm_cortexa8/u-boot.lds +1 -1
@@ -34,7 +34,7 @@ SECTIONS . = ALIGN(4); .text : { - arch/arm/cpu/arm_cortexa8/start.o (.text) + arch/arm/cpu/armv7/start.o (.text) *(.text) }
arch/arm/include/asm/arch-mx51/asm-offsets.h +1 -1
@@ -1,5 +1,5 @@/* -* needed for arch/arm/cpu/arm_cortexa8/mx51/lowlevel_init.S +* needed for arch/arm/cpu/armv7/mx51/lowlevel_init.S * * These should be auto-generated */
board/logicpd/zoom2/zoom2.c +1 -1
@@ -46,7 +46,7 @@/* * This the the zoom2, board specific, gpmc configuration for the * quad uart on the debug board. The more general gpmc configurations -* are setup at the cpu level in arch/arm/cpu/arm_cortexa8/omap3/mem.c +* are setup at the cpu level in arch/arm/cpu/armv7/omap3/mem.c * * The details of the setting of the serial gpmc setup are not available. * The values were provided by another party.
boards.cfg +10 -10
@@ -45,7 +45,7 @@ pm9261 arm arm926ejs - ronetix at91 pm9263 arm arm926ejs - ronetix at91 suen3 arm arm926ejs km_arm keymile kirkwood rd6281a arm arm926ejs - Marvell kirkwood -mx51evk arm arm_cortexa8 mx51evk freescale mx51 +mx51evk arm armv7 mx51evk freescale mx51 actux1 arm ixp actux2 arm ixp actux3 arm ixp
@@ -254,15 +254,15 @@ imx27lite arm arm926ejs imx27lite logicpd mx27 magnesium arm arm926ejs imx27lite logicpd mx27 omap5912osk arm arm926ejs - ti omap edminiv2 arm arm926ejs - LaCie orion5x -omap3_overo arm arm_cortexa8 overo - omap3 -omap3_pandora arm arm_cortexa8 pandora - omap3 -omap3_zoom1 arm arm_cortexa8 zoom1 logicpd omap3 -omap3_zoom2 arm arm_cortexa8 zoom2 logicpd omap3 -omap3_beagle arm arm_cortexa8 beagle ti omap3 -omap3_evm arm arm_cortexa8 evm ti omap3 -omap3_sdp3430 arm arm_cortexa8 sdp3430 ti omap3 -devkit8000 arm arm_cortexa8 devkit8000 timll omap3 -smdkc100 arm arm_cortexa8 smdkc100 samsung s5pc1xx +omap3_overo arm armv7 overo - omap3 +omap3_pandora arm armv7 pandora - omap3 +omap3_zoom1 arm armv7 zoom1 logicpd omap3 +omap3_zoom2 arm armv7 zoom2 logicpd omap3 +omap3_beagle arm armv7 beagle ti omap3 +omap3_evm arm armv7 evm ti omap3 +omap3_sdp3430 arm armv7 sdp3430 ti omap3 +devkit8000 arm armv7 devkit8000 timll omap3 +smdkc100 arm armv7 smdkc100 samsung s5pc1xx ixdpg425 arm ixp lpd7a400 arm lh7a40x lpd7a40x lpd7a404 arm lh7a40x lpd7a40x
include/configs/am3517_evm.h +1 -1
@@ -28,7 +28,7 @@/* * High Level Configuration Options */ -#define CONFIG_ARMCORTEXA8 1/* This is an ARM V7 CPU core */ +#define CONFIG_ARMV7 1/* This is an ARM V7 CPU core */ #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 */
include/configs/devkit8000.h +1 -1
@@ -32,7 +32,7 @@#define __CONFIG_H/* High Level Configuration Options */ -#define CONFIG_ARMCORTEXA8 1/* This is an ARM V7 CPU core */ +#define CONFIG_ARMV7 1/* This is an ARM V7 CPU core */ #define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3430 1/* which is in a 3430 */
include/configs/omap3_beagle.h +1 -1
@@ -31,7 +31,7 @@/* * High Level Configuration Options */ -#define CONFIG_ARMCORTEXA8 1/* This is an ARM V7 CPU core */ +#define CONFIG_ARMV7 1/* This is an ARM V7 CPU core */ #define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3430 1/* which is in a 3430 */
include/configs/omap3_evm.h +1 -1
@@ -36,7 +36,7 @@/* * High Level Configuration Options */ -#define CONFIG_ARMCORTEXA8 1/* This is an ARM V7 CPU core */ +#define CONFIG_ARMV7 1/* This is an ARM V7 CPU core */ #define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3430 1/* which is in a 3430 */
include/configs/omap3_pandora.h +1 -1
@@ -26,7 +26,7 @@/* * High Level Configuration Options */ -#define CONFIG_ARMCORTEXA8 1/* This is an ARM V7 CPU core */ +#define CONFIG_ARMV7 1/* This is an ARM V7 CPU core */ #define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3430 1/* which is in a 3430 */
include/configs/omap3_sdp3430.h +1 -1
@@ -36,7 +36,7 @@/* * High Level Configuration Options */ -#define CONFIG_ARMCORTEXA8 1/* This is an ARM V7 CPU core */ +#define CONFIG_ARMV7 1/* This is an ARM V7 CPU core */ #define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3430 1/* which is in a 3430 */
include/configs/omap3_zoom1.h +1 -1
@@ -32,7 +32,7 @@/* * High Level Configuration Options */ -#define CONFIG_ARMCORTEXA8 1/* This is an ARM V7 CPU core */ +#define CONFIG_ARMV7 1/* This is an ARM V7 CPU core */ #define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3430 1/* which is in a 3430 */
include/configs/omap3_zoom2.h +1 -1
@@ -33,7 +33,7 @@/* * High Level Configuration Options */ -#define CONFIG_ARMCORTEXA8 1/* This is an ARM V7 CPU core */ +#define CONFIG_ARMV7 1/* This is an ARM V7 CPU core */ #define CONFIG_OMAP 1/* in a TI OMAP core */ #define CONFIG_OMAP34XX 1/* which is a 34XX */ #define CONFIG_OMAP3430 1/* which is in a 3430 */
include/configs/s5p_goni.h +1 -1
@@ -28,7 +28,7 @@#define __CONFIG_H/* High Level Configuration Options */ -#define CONFIG_ARMCORTEXA8 1/* This is an ARM V7 CPU core */ +#define CONFIG_ARMV7 1/* This is an ARM V7 CPU core */ #define CONFIG_SAMSUNG 1/* in a SAMSUNG core */ #define CONFIG_S5PC1XX 1/* which is in a S5PC1XX Family */ #define CONFIG_S5PC110 1/* which is in a S5PC110 */
include/configs/smdkc100.h +1 -1
@@ -32,7 +32,7 @@* High Level Configuration Options * (easy to change) */ -#define CONFIG_ARMCORTEXA8 1/* This is an ARM V7 CPU core */ +#define CONFIG_ARMV7 1/* This is an ARM V7 CPU core */ #define CONFIG_SAMSUNG 1/* in a SAMSUNG core */ #define CONFIG_S5PC1XX 1/* which is in a S5PC1XX Family */ #define CONFIG_S5PC100 1/* which is in a S5PC100 */
Signature · 1 line
1.7.0.4
PATCH v4 2/6 ARMV7: Add basic support for TI OMAP4
In reply to Steve SakomanThis patch adds minimum support for OMAP4. Code which can be shared between OMAP3 and OMAP4 is placed in arch/arm/cpu/armv7/omap-common
---
Makefile | 7 +
arch/arm/cpu/armv7/{omap3 => omap-common}/Makefile | 22 +---
arch/arm/cpu/armv7/omap-common/config.mk | 33 ++++++
arch/arm/cpu/armv7/{omap3 => omap-common}/reset.S | 0
arch/arm/cpu/armv7/{omap3 => omap-common}/timer.c | 5 +
arch/arm/cpu/armv7/omap3/Makefile | 2 -
arch/arm/cpu/armv7/{omap3 => omap4}/Makefile | 16 +--
arch/arm/cpu/armv7/omap4/board.c | 90 +++++++++++++++
.../armv7/{omap3/reset.S => omap4/lowlevel_init.S} | 40 +++++---
.../cpu/armv7/{omap3/reset.S => omap4/sys_info.c} | 50 ++++++---
arch/arm/include/asm/arch-omap4/cpu.h | 94 ++++++++++++++++
arch/arm/include/asm/arch-omap4/omap4.h | 118 ++++++++++++++++++++
.../reset.S => include/asm/arch-omap4/sys_proto.h} | 35 +++---
13 files changed, 433 insertions(+), 79 deletions(-)
copy arch/arm/cpu/armv7/{omap3 => omap-common}/Makefile (77%)
create mode 100644 arch/arm/cpu/armv7/omap-common/config.mk
copy arch/arm/cpu/armv7/{omap3 => omap-common}/reset.S (100%)
rename arch/arm/cpu/armv7/{omap3 => omap-common}/timer.c (96%)
copy arch/arm/cpu/armv7/{omap3 => omap4}/Makefile (81%)
create mode 100644 arch/arm/cpu/armv7/omap4/board.c
copy arch/arm/cpu/armv7/{omap3/reset.S => omap4/lowlevel_init.S} (65%)
copy arch/arm/cpu/armv7/{omap3/reset.S => omap4/sys_info.c} (60%)
create mode 100644 arch/arm/include/asm/arch-omap4/cpu.h
create mode 100644 arch/arm/include/asm/arch-omap4/omap4.h
rename arch/arm/{cpu/armv7/omap3/reset.S => include/asm/arch-omap4/sys_proto.h} (64%)Makefile +7 -0
@@ -244,6 +244,13 @@ LIBS += lib/libfdt/libfdt.a LIBS += api/libapi.a LIBS += post/libpost.a +ifeq ($(SOC),omap3) +LIBS += $(CPUDIR)/omap-common/libomap-common.a +endif +ifeq ($(SOC),omap4) +LIBS += $(CPUDIR)/omap-common/libomap-common.a +endif + LIBS := $(addprefix $(obj),$(LIBS)) .PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE)
arch/arm/cpu/armv7/omap-common/Makefile renamed from arch/arm/cpu/armv7/omap3/Makefile +5 -17
@@ -23,27 +23,15 @@ include $(TOPDIR)/config.mk -LIB = $(obj)lib$(SOC).a +LIB = $(obj)libomap-common.a -SOBJS := lowlevel_init.o -SOBJS += cache.o -SOBJS += reset.o - -COBJS += board.o -COBJS += clock.o -COBJS += gpio.o -COBJS += mem.o -COBJS += syslib.o -COBJS += sys_info.o -COBJS += timer.o - -COBJS-$(CONFIG_EMIF4) += emif4.o -COBJS-$(CONFIG_SDRC) += sdrc.o +SOBJS := reset.o +COBJS := timer.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS) $(COBJS-y) $(SOBJS)) +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) -all: $(obj).depend $(LIB) +all: $(obj).depend $(LIB) $(LIB): $(OBJS) $(AR) $(ARFLAGS) $@ $(OBJS)
arch/arm/cpu/armv7/omap-common/config.mk new file +33 -0
@@ -0,0 +1,33 @@ +# +# (C) Copyright 2002 +# Gary Jennejohn, DENX Software Engineering, <[email protected]> +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float + +# Make ARMv5 to allow more compilers to work, even though its v7a. +PLATFORM_CPPFLAGS += -march=armv5 +# ========================================================================= +# +# Supply options according to compiler version +# +# ========================================================================= +PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,\ + $(call cc-option,-malignment-traps,))
arch/arm/cpu/armv7/omap-common/reset.S renamed from arch/arm/cpu/armv7/omap3/reset.S +0 -0
arch/arm/cpu/armv7/omap-common/timer.c renamed from arch/arm/cpu/armv7/omap3/timer.c +5 -0
@@ -84,6 +84,11 @@ void set_timer(ulong t)/* delay x useconds */ void __udelay (unsigned long usec) { +#if defined(CONFIG_OMAP44XX ) +/* TODO temporary hack until OMAP4 clock setup routines are present */ +if (usec >1000 ) + usec = usec/1000 ; +#endif long tmo = usec * (TIMER_CLOCK /1000 ) /1000 ;unsigned long now, last =readl (&timer_base->tcrr);
arch/arm/cpu/armv7/omap3/Makefile +0 -2
@@ -27,7 +27,6 @@ LIB = $(obj)lib$(SOC).a SOBJS := lowlevel_init.o SOBJS += cache.o -SOBJS += reset.o COBJS += board.o COBJS += clock.o
@@ -35,7 +34,6 @@ COBJS += gpio.o COBJS += mem.o COBJS += syslib.o COBJS += sys_info.o -COBJS += timer.o COBJS-$(CONFIG_EMIF4) += emif4.o COBJS-$(CONFIG_SDRC) += sdrc.o
arch/arm/cpu/armv7/omap4/Makefile renamed from arch/arm/cpu/armv7/omap3/Makefile +3 -13
@@ -1,5 +1,5 @@ # -# (C) Copyright 2000-2003 +# (C) Copyright 2000-2010 # Wolfgang Denk, DENX Software Engineering, wd at denx.de. # # See file CREDITS for list of people who contributed to this
@@ -25,23 +25,13 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(SOC).a -SOBJS := lowlevel_init.o -SOBJS += cache.o -SOBJS += reset.o +SOBJS += lowlevel_init.o COBJS += board.o -COBJS += clock.o -COBJS += gpio.o -COBJS += mem.o -COBJS += syslib.o COBJS += sys_info.o -COBJS += timer.o - -COBJS-$(CONFIG_EMIF4) += emif4.o -COBJS-$(CONFIG_SDRC) += sdrc.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS) $(COBJS-y) $(SOBJS)) +OBJS := $(addprefix $(obj),$(COBJS) $(SOBJS)) all: $(obj).depend $(LIB)
arch/arm/cpu/armv7/omap4/board.c new file +90 -0
90 lines not on this page · raw message
arch/arm/cpu/armv7/omap4/lowlevel_init.S renamed from arch/arm/cpu/armv7/omap3/reset.S +26 -14
@@ -1,6 +1,11 @@ /* - * Copyright (c) 2009 Samsung Electronics. - * Minkyu Kang <[email protected]> + * Board specific setup info + * + * (C) Copyright 2010 + * Texas Instruments, <www.ti.com> + * + * Author : + * Aneesh V <[email protected]> * * See file CREDITS for list of people who contributed to this * project.
@@ -21,16 +26,23 @@ * MA 02111-1307 USA */ -#include <config.h> +#include <asm/arch/omap4.h> + +.globl lowlevel_init +lowlevel_init: + /* + * Setup a temporary stack + */ + ldr sp, =LOW_LEVEL_SRAM_STACK + + /* + * Save the old lr(passed in ip) and the current lr to stack + */ + push {ip, lr} + + /* + * go setup pll, mux, memory + */ + bl s_init + pop {ip, pc} -.global reset_cpu -reset_cpu: - ldr r1, rstctl @ get addr for global reset - @ reg - mov r3, #0x2 @ full reset pll + mpu - str r3, [r1] @ force reset - mov r0, r0 -_loop_forever: - b _loop_forever -rstctl: - .word PRM_RSTCTRL
arch/arm/cpu/armv7/omap4/sys_info.c renamed from arch/arm/cpu/armv7/omap3/reset.S +34 -16
59 lines not on this page · raw message
arch/arm/include/asm/arch-omap4/cpu.h new file +94 -0
94 lines not on this page · raw message
arch/arm/include/asm/arch-omap4/omap4.h new file +118 -0
118 lines not on this page · raw message
arch/arm/include/asm/arch-omap4/sys_proto.h renamed from arch/arm/cpu/armv7/omap3/reset.S +18 -17
@@ -1,9 +1,6 @@/* -* Copyright (c) 2009 Samsung Electronics. -* Minkyu Kang <[email protected]> -* -* See file CREDITS for list of people who contributed to this -* project. +* (C) Copyright 2010 +* Texas Instruments, <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 as
@@ -21,16 +18,20 @@* MA 02111-1307 USA */ -#include <config.h> +#ifndef _SYS_PROTO_H_ +#define _SYS_PROTO_H_ + +#include <asm/arch/omap4.h> +#include <asm/io.h> + +struct omap_sysinfo { +char *board_string; +}; + +void watchdog_init (void ); +u32 get_device_type (void ); +void invalidate_dcache (u32 ); + +extern const struct omap_sysinfo sysinfo; -.global reset_cpu -reset_cpu: - ldr r1, rstctl @ get addr for global reset - @ reg - mov r3, #0x2 @ full reset pll + mpu - str r3, [r1] @ force reset - mov r0, r0 -_loop_forever: - b _loop_forever -rstctl: - .word PRM_RSTCTRL +#endif
Signature · 1 line
1.7.0.4
PATCH v4 3/6 ARMV7: Restructure OMAP mmc driver to allow code sharing between OMAP3 and OMAP4
In reply to Steve SakomanThe architecture independent header is moved to drivers/mmc, and the architecture dependent headers reside in asm/arch-omap3 and asm/arch-omap4
--- arch/arm/include/asm/arch-omap4/mmc_host_def.h | 171 ++++++++++++++++++++ drivers/mmc/omap3_mmc.c | 13 +- .../arch-omap3/mmc.h => drivers/mmc/omap3_mmc.h | 2 +- 3 files changed, 181 insertions(+), 5 deletions(-) create mode 100644 arch/arm/include/asm/arch-omap4/mmc_host_def.h rename arch/arm/include/asm/arch-omap3/mmc.h => drivers/mmc/omap3_mmc.h (99%)
arch/arm/include/asm/arch-omap4/mmc_host_def.h new file +171 -0
@@ -0,0 +1,171 @@ +/* +* (C) Copyright 2010 +* Texas Instruments, <www.ti.com> +* Syed Mohammed Khasim <[email protected]> +* +* See file CREDITS for list of people who contributed to this +* project. +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation's version 2 of +* the License. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, +* MA 02111-1307 USA +*/ + +#ifndef MMC_HOST_DEF_H +#define MMC_HOST_DEF_H + +/* +* OMAP HSMMC register definitions +*/ + +#define OMAP_HSMMC1_BASE 0x4809C100 +#define OMAP_HSMMC2_BASE 0x480B4100 +#define OMAP_HSMMC3_BASE 0x480AD100 + +typedef struct hsmmc { +unsigned char res1[0x10 ]; +unsigned int sysconfig;/* 0x10 */ +unsigned int sysstatus;/* 0x14 */ +unsigned char res2[0x14 ]; +unsigned int con;/* 0x2C */ +unsigned char res3[0xD4 ]; +unsigned int blk;/* 0x104 */ +unsigned int arg;/* 0x108 */ +unsigned int cmd;/* 0x10C */ +unsigned int rsp10;/* 0x110 */ +unsigned int rsp32;/* 0x114 */ +unsigned int rsp54;/* 0x118 */ +unsigned int rsp76;/* 0x11C */ +unsigned int data;/* 0x120 */ +unsigned int pstate;/* 0x124 */ +unsigned int hctl;/* 0x128 */ +unsigned int sysctl;/* 0x12C */ +unsigned int stat;/* 0x130 */ +unsigned int ie;/* 0x134 */ +unsigned char res4[0x8 ]; +unsigned int capa;/* 0x140 */ +}hsmmc_t ; + +/* +* OMAP HS MMC Bit definitions +*/ +#define MMC_SOFTRESET (0x1 << 1) +#define RESETDONE (0x1 << 0) +#define NOOPENDRAIN (0x0 << 0) +#define OPENDRAIN (0x1 << 0) +#define OD (0x1 << 0) +#define INIT_NOINIT (0x0 << 1) +#define INIT_INITSTREAM (0x1 << 1) +#define HR_NOHOSTRESP (0x0 << 2) +#define STR_BLOCK (0x0 << 3) +#define MODE_FUNC (0x0 << 4) +#define DW8_1_4BITMODE (0x0 << 5) +#define MIT_CTO (0x0 << 6) +#define CDP_ACTIVEHIGH (0x0 << 7) +#define WPP_ACTIVEHIGH (0x0 << 8) +#define RESERVED_MASK (0x3 << 9) +#define CTPL_MMC_SD (0x0 << 11) +#define BLEN_512BYTESLEN (0x200 << 0) +#define NBLK_STPCNT (0x0 << 16) +#define DE_DISABLE (0x0 << 0) +#define BCE_DISABLE (0x0 << 1) +#define ACEN_DISABLE (0x0 << 2) +#define DDIR_OFFSET (4) +#define DDIR_MASK (0x1 << 4) +#define DDIR_WRITE (0x0 << 4) +#define DDIR_READ (0x1 << 4) +#define MSBS_SGLEBLK (0x0 << 5) +#define RSP_TYPE_OFFSET (16) +#define RSP_TYPE_MASK (0x3 << 16) +#define RSP_TYPE_NORSP (0x0 << 16) +#define RSP_TYPE_LGHT136 (0x1 << 16) +#define RSP_TYPE_LGHT48 (0x2 << 16) +#define RSP_TYPE_LGHT48B (0x3 << 16) +#define CCCE_NOCHECK (0x0 << 19) +#define CCCE_CHECK (0x1 << 19) +#define CICE_NOCHECK (0x0 << 20) +#define CICE_CHECK (0x1 << 20) +#define DP_OFFSET (21) +#define DP_MASK (0x1 << 21) +#define DP_NO_DATA (0x0 << 21) +#define DP_DATA (0x1 << 21) +#define CMD_TYPE_NORMAL (0x0 << 22) +#define INDEX_OFFSET (24) +#define INDEX_MASK (0x3f << 24) +#define INDEX (i) (i << 24) +#define DATI_MASK (0x1 << 1) +#define DATI_CMDDIS (0x1 << 1) +#define DTW_1_BITMODE (0x0 << 1) +#define DTW_4_BITMODE (0x1 << 1) +#define SDBP_PWROFF (0x0 << 8) +#define SDBP_PWRON (0x1 << 8) +#define SDVS_1V8 (0x5 << 9) +#define SDVS_3V0 (0x6 << 9) +#define ICE_MASK (0x1 << 0) +#define ICE_STOP (0x0 << 0) +#define ICS_MASK (0x1 << 1) +#define ICS_NOTREADY (0x0 << 1) +#define ICE_OSCILLATE (0x1 << 0) +#define CEN_MASK (0x1 << 2) +#define CEN_DISABLE (0x0 << 2) +#define CEN_ENABLE (0x1 << 2) +#define CLKD_OFFSET (6) +#define CLKD_MASK (0x3FF << 6) +#define DTO_MASK (0xF << 16) +#define DTO_15THDTO (0xE << 16) +#define SOFTRESETALL (0x1 << 24) +#define CC_MASK (0x1 << 0) +#define TC_MASK (0x1 << 1) +#define BWR_MASK (0x1 << 4) +#define BRR_MASK (0x1 << 5) +#define ERRI_MASK (0x1 << 15) +#define IE_CC (0x01 << 0) +#define IE_TC (0x01 << 1) +#define IE_BWR (0x01 << 4) +#define IE_BRR (0x01 << 5) +#define IE_CTO (0x01 << 16) +#define IE_CCRC (0x01 << 17) +#define IE_CEB (0x01 << 18) +#define IE_CIE (0x01 << 19) +#define IE_DTO (0x01 << 20) +#define IE_DCRC (0x01 << 21) +#define IE_DEB (0x01 << 22) +#define IE_CERR (0x01 << 28) +#define IE_BADA (0x01 << 29) + +#define VS30_3V0SUP (1 << 25) +#define VS18_1V8SUP (1 << 26) + +/* Driver definitions */ +#define MMCSD_SECTOR_SIZE 512 +#define MMC_CARD 0 +#define SD_CARD 1 +#define BYTE_MODE 0 +#define SECTOR_MODE 1 +#define CLK_INITSEQ 0 +#define CLK_400KHZ 1 +#define CLK_MISC 2 + +typedef struct { +unsigned int card_type; +unsigned int version; +unsigned int mode; +unsigned int size; +unsigned int RCA; +}mmc_card_data ; + +#define mmc_reg_out (addr, mask, val)\ + writel((readl(addr) & (~(mask))) | ((val) & (mask)), (addr)) + +#endif /* MMC_HOST_DEF_H */
drivers/mmc/omap3_mmc.c +9 -4
@@ -30,7 +30,8 @@#include <i2c.h> #include <twl4030.h> #include <asm/io.h> -#include <asm/arch/mmc.h> + +#include "omap3_mmc.h" const unsigned short mmc_transspeed_val[15 ][4 ] = { {CLKD (10 ,1 ),CLKD (10 ,10 ),CLKD (10 ,100 ),CLKD (10 ,1000 )},
@@ -81,13 +82,14 @@ block_dev_desc_t *mmc_get_dev(int dev)unsigned char mmc_board_init (void ) { -t2_t *t2_base = (t2_t *)T2_BASE ; -struct prcm *prcm_base = (struct prcm *)PRCM_BASE ; -#if defined(CONFIG_TWL4030_POWER )twl4030_power_mmc_init ();#endif +#if defined(CONFIG_OMAP34XX ) +t2_t *t2_base = (t2_t *)T2_BASE ; +struct prcm *prcm_base = (struct prcm *)PRCM_BASE ; +writel (readl (&t2_base->pbias_lite) |PBIASLITEPWRDNZ1 |PBIASSPEEDCTRL0 |PBIASLITEPWRDNZ0 , &t2_base->pbias_lite);
@@ -105,6 +107,9 @@ unsigned char mmc_board_init(void)writel (readl (&prcm_base->iclken1_core) |EN_MMC1 |EN_MMC2 |EN_MMC3 , &prcm_base->iclken1_core); +#endif + +/* TODO add appropriate OMAP4 init */ return 1 ; }
drivers/mmc/omap3_mmc.h renamed from arch/arm/include/asm/arch-omap3/mmc.h +1 -1
@@ -25,7 +25,7 @@#ifndef MMC_H #define MMC_H -#include "mmc_host_def.h" +#include <asm/arch/mmc_host_def.h> /* Responses */ #define RSP_TYPE_NONE (RSP_TYPE_NORSP | CCCE_NOCHECK | CICE_NOCHECK)
Signature · 1 line
1.7.0.4
Paulraj
PATCH v4 3/6 ARMV7: Restructure OMAP mmc driver to allow code sharing between OMAP3 and OMAP4
Quoted 11 lines
Subject: [U-Boot] [PATCH v4 3/6] ARMV7: Restructure OMAP mmc driver to allow code sharing between OMAP3 and OMAP4
The architecture independent header is moved to
drivers/mmc, and the architecture
dependent headers reside in asm/arch-omap3 and asm/arch-omap4Signed-off-by Steve Sakoman <[email protected]>---
This patch did not apply clean.
I have fixed it. Pushed to u-boot-ti
PATCH v4 3/6 ARMV7: Restructure OMAP mmc driver to allow code sharing between OMAP3 and OMAP4
Quoted 8 lines · Sandeep
Quoted 8 lines
Subject: [U-Boot] [PATCH v4 3/6] ARMV7: Restructure OMAP mmc driver to allow code sharing between OMAP3 and OMAP4
The architecture independent header is moved to
drivers/mmc, and the architecture
dependent headers reside in asm/arch-omap3 and asm/arch-omap4
Quoted 8 lines
Quoted 2 lines
Signed-off-by Steve Sakoman <[email protected]>---
This patch did not apply clean.
I have fixed it. Pushed to u-boot-ti
I'm not quite sure what went wrong here, but I think it might be that you applied the patches in a different order than the submission.
I'm 99% sure that the fix mentioned above is what causes the compile error you mention in the thread:
RE: [U-Boot] [PATCH v4 0/6] Add support for TI OMAP4 SDP and Panda
I'll give more details in my response to that email.
Steve
PATCH v4 4/6 ARMV7: Restructure OMAP i2c driver to allow code sharing between OMAP3 and OMAP4
In reply to Steve SakomanThis patch modifies the omap24xx driver so that it will also work with OMAP4.
--- arch/arm/include/asm/arch-omap3/i2c.h | 149 +------------------- arch/arm/include/asm/arch-omap4/i2c.h | 74 ++++++++++ drivers/i2c/omap24xx_i2c.c | 17 ++- .../arch-omap3/i2c.h => drivers/i2c/omap24xx_i2c.h | 45 +------ 4 files changed, 96 insertions(+), 189 deletions(-) create mode 100644 arch/arm/include/asm/arch-omap4/i2c.h copy arch/arm/include/asm/arch-omap3/i2c.h => drivers/i2c/omap24xx_i2c.h (85%)
arch/arm/include/asm/arch-omap3/i2c.h +4 -145
@@ -20,9 +20,10 @@* Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */ -#ifndef _I2C_H_ -#define _I2C_H_ +#ifndef _OMAP3_I2C_H_ +#define _OMAP3_I2C_H_ +#define I2C_BUS_MAX 3#define I2C_DEFAULT_BASE I2C_BASE1 struct i2c {
@@ -58,146 +59,4 @@ struct i2c { unsigned short res15; }; -#define I2C_BUS_MAX 3 - -/* I2C masks */ - -/* I2C Interrupt Enable Register (I2C_IE): */ -#define I2C_IE_GC_IE (1 << 5) -#define I2C_IE_XRDY_IE (1 << 4)/* Transmit data ready interrupt enable */ -#define I2C_IE_RRDY_IE (1 << 3)/* Receive data ready interrupt enable */ -#define I2C_IE_ARDY_IE (1 << 2)/* Register access ready interrupt enable */ -#define I2C_IE_NACK_IE (1 << 1)/* No acknowledgment interrupt enable */ -#define I2C_IE_AL_IE (1 << 0)/* Arbitration lost interrupt enable */ - -/* I2C Status Register (I2C_STAT): */ - -#define I2C_STAT_SBD (1 << 15)/* Single byte data */ -#define I2C_STAT_BB (1 << 12)/* Bus busy */ -#define I2C_STAT_ROVR (1 << 11)/* Receive overrun */ -#define I2C_STAT_XUDF (1 << 10)/* Transmit underflow */ -#define I2C_STAT_AAS (1 << 9)/* Address as slave */ -#define I2C_STAT_GC (1 << 5) -#define I2C_STAT_XRDY (1 << 4)/* Transmit data ready */ -#define I2C_STAT_RRDY (1 << 3)/* Receive data ready */ -#define I2C_STAT_ARDY (1 << 2)/* Register access ready */ -#define I2C_STAT_NACK (1 << 1)/* No acknowledgment interrupt enable */ -#define I2C_STAT_AL (1 << 0)/* Arbitration lost interrupt enable */ - -/* I2C Interrupt Code Register (I2C_INTCODE): */ - -#define I2C_INTCODE_MASK 7 -#define I2C_INTCODE_NONE 0 -#define I2C_INTCODE_AL 1/* Arbitration lost */ -#define I2C_INTCODE_NAK 2/* No acknowledgement/general call */ -#define I2C_INTCODE_ARDY 3/* Register access ready */ -#define I2C_INTCODE_RRDY 4/* Rcv data ready */ -#define I2C_INTCODE_XRDY 5/* Xmit data ready */ - -/* I2C Buffer Configuration Register (I2C_BUF): */ - -#define I2C_BUF_RDMA_EN (1 << 15)/* Receive DMA channel enable */ -#define I2C_BUF_XDMA_EN (1 << 7)/* Transmit DMA channel enable */ - -/* I2C Configuration Register (I2C_CON): */ - -#define I2C_CON_EN (1 << 15)/* I2C module enable */ -#define I2C_CON_BE (1 << 14)/* Big endian mode */ -#define I2C_CON_STB (1 << 11)/* Start byte mode (master mode only) */ -#define I2C_CON_MST (1 << 10)/* Master/slave mode */ -#define I2C_CON_TRX (1 << 9)/* Transmitter/receiver mode */ -/* (master mode only) */ -#define I2C_CON_XA (1 << 8)/* Expand address */ -#define I2C_CON_STP (1 << 1)/* Stop condition (master mode only) */ -#define I2C_CON_STT (1 << 0)/* Start condition (master mode only) */ - -/* I2C System Test Register (I2C_SYSTEST): */ - -#define I2C_SYSTEST_ST_EN (1 << 15)/* System test enable */ -#define I2C_SYSTEST_FREE (1 << 14)/* Free running mode, on brkpoint) */ -#define I2C_SYSTEST_TMODE_MASK (3 << 12)/* Test mode select */ -#define I2C_SYSTEST_TMODE_SHIFT (12)/* Test mode select */ -#define I2C_SYSTEST_SCL_I (1 << 3)/* SCL line sense input value */ -#define I2C_SYSTEST_SCL_O (1 << 2)/* SCL line drive output value */ -#define I2C_SYSTEST_SDA_I (1 << 1)/* SDA line sense input value */ -#define I2C_SYSTEST_SDA_O (1 << 0)/* SDA line drive output value */ - -#define I2C_SCLL_SCLL 0 -#define I2C_SCLL_SCLL_M 0xFF -#define I2C_SCLL_HSSCLL 8 -#define I2C_SCLH_HSSCLL_M 0xFF -#define I2C_SCLH_SCLH 0 -#define I2C_SCLH_SCLH_M 0xFF -#define I2C_SCLH_HSSCLH 8 -#define I2C_SCLH_HSSCLH_M 0xFF - -#define OMAP_I2C_STANDARD 100000 -#define OMAP_I2C_FAST_MODE 400000 -#define OMAP_I2C_HIGH_SPEED 3400000 - -#define SYSTEM_CLOCK_12 12000000 -#define SYSTEM_CLOCK_13 13000000 -#define SYSTEM_CLOCK_192 19200000 -#define SYSTEM_CLOCK_96 96000000 - -/* Use the reference value of 96MHz if not explicitly set by the board */ -#ifndef I2C_IP_CLK -#define I2C_IP_CLK SYSTEM_CLOCK_96 -#endif - -/* -* The reference minimum clock for high speed is 19.2MHz. -* The linux 2.6.30 kernel uses this value. -* The reference minimum clock for fast mode is 9.6MHz -* The reference minimum clock for standard mode is 4MHz -* In TRM, the value of 12MHz is used. -*/ -#ifndef I2C_INTERNAL_SAMPLING_CLK -#define I2C_INTERNAL_SAMPLING_CLK 19200000 -#endif - -/* -* The equation for the low and high time is -* tlow = scll + scll_trim = (sampling clock * tlow_duty) / speed -* thigh = sclh + sclh_trim = (sampling clock * (1 - tlow_duty)) / speed -* -* If the duty cycle is 50% -* -* tlow = scll + scll_trim = sampling clock / (2 * speed) -* thigh = sclh + sclh_trim = sampling clock / (2 * speed) -* -* In TRM -* scll_trim = 7 -* sclh_trim = 5 -* -* The linux 2.6.30 kernel uses -* scll_trim = 6 -* sclh_trim = 6 -* -* These are the trim values for standard and fast speed -*/ -#ifndef I2C_FASTSPEED_SCLL_TRIM -#define I2C_FASTSPEED_SCLL_TRIM 6 -#endif -#ifndef I2C_FASTSPEED_SCLH_TRIM -#define I2C_FASTSPEED_SCLH_TRIM 6 -#endif - -/* These are the trim values for high speed */ -#ifndef I2C_HIGHSPEED_PHASE_ONE_SCLL_TRIM -#define I2C_HIGHSPEED_PHASE_ONE_SCLL_TRIM I2C_FASTSPEED_SCLL_TRIM -#endif -#ifndef I2C_HIGHSPEED_PHASE_ONE_SCLH_TRIM -#define I2C_HIGHSPEED_PHASE_ONE_SCLH_TRIM I2C_FASTSPEED_SCLH_TRIM -#endif -#ifndef I2C_HIGHSPEED_PHASE_TWO_SCLL_TRIM -#define I2C_HIGHSPEED_PHASE_TWO_SCLL_TRIM I2C_FASTSPEED_SCLL_TRIM -#endif -#ifndef I2C_HIGHSPEED_PHASE_TWO_SCLH_TRIM -#define I2C_HIGHSPEED_PHASE_TWO_SCLH_TRIM I2C_FASTSPEED_SCLH_TRIM -#endif - -#define I2C_PSC_MAX 0x0f -#define I2C_PSC_MIN 0x00 - -#endif /* _I2C_H_ */ +#endif /* _OMAP3_I2C_H_ */
arch/arm/include/asm/arch-omap4/i2c.h new file +74 -0
74 lines not on this page · raw message
drivers/i2c/omap24xx_i2c.c +14 -3
@@ -25,6 +25,8 @@#include <asm/arch/i2c.h> #include <asm/io.h> +#include "omap24xx_i2c.h" +static void wait_for_bb (void );static u16 wait_for_pin (void );static void flush_fifo (void );
@@ -176,7 +178,8 @@ static int i2c_read_byte (u8 devaddr, u8 regoffset, u8 * value) status =wait_for_pin ();if (status &I2C_STAT_RRDY ) { -#if defined(CONFIG_OMAP243X ) || defined(CONFIG_OMAP34XX ) +#if defined(CONFIG_OMAP243X ) || defined(CONFIG_OMAP34XX ) || \ + defined(CONFIG_OMAP44XX ) *value =readb (&i2c_base->data);#else *value =readw (&i2c_base->data);
@@ -221,7 +224,8 @@ static int i2c_write_byte (u8 devaddr, u8 regoffset, u8 value) status =wait_for_pin ();if (status &I2C_STAT_XRDY ) { -#if defined(CONFIG_OMAP243X ) || defined(CONFIG_OMAP34XX ) +#if defined(CONFIG_OMAP243X ) || defined(CONFIG_OMAP34XX ) || \ + defined(CONFIG_OMAP44XX )/* send out 1 byte */ writeb (regoffset, &i2c_base->data);writew (I2C_STAT_XRDY , &i2c_base->stat);
@@ -274,7 +278,8 @@ static void flush_fifo(void)while (1 ){ stat =readw (&i2c_base->stat);if (stat ==I2C_STAT_RRDY ){ -#if defined(CONFIG_OMAP243X ) || defined(CONFIG_OMAP34XX ) +#if defined(CONFIG_OMAP243X ) || defined(CONFIG_OMAP34XX ) || \ + defined(CONFIG_OMAP44XX )readb (&i2c_base->data);#else readw (&i2c_base->data);
@@ -435,3 +440,9 @@ int i2c_set_bus_num(unsigned int bus)return 0 ; } + +int i2c_get_bus_num (void ) +{ +return (int ) current_bus; +} +
drivers/i2c/omap24xx_i2c.h renamed from arch/arm/include/asm/arch-omap3/i2c.h +4 -41
58 lines not on this page · raw message
Signature · 1 line
1.7.0.4
Paulraj
PATCH v4 4/6 ARMV7: Restructure OMAP i2c driver to allow code sharing between OMAP3 and OMAP4
Quoted 10 lines
Subject: [U-Boot] [PATCH v4 4/6] ARMV7: Restructure OMAP i2c driver to allow code sharing between OMAP3 and OMAP4
This patch modifies the omap24xx driver so that it will also work with OMAP4.
Signed-off-by Steve Sakoman <[email protected]>---
IIRC you already had an ACK for this change from Heiko
Pushed to u-boot-ti
Thanks,
Sandeep
PATCH v4 5/6 ARMV7: Add support for TI OMAP4430 SDP
In reply to Steve SakomanOMAP4430 SDP is a reference board based on OMAP4430, an ARMV7 Cortex A9 CPU
This patch adds basic support for booting the board. It includes i2c and mmc support. It assumes U-boot is loaded to SDRAM with the help of another small bootloader (x-load) running from SRAM. U-boot currently relies on x-load for clock, mux, and SDRAM initialization
--- MAINTAINERS | 1 + MAKEALL | 1 + board/ti/sdp4430/Makefile | 49 +++++++++ board/ti/sdp4430/config.mk | 32 ++++++ board/ti/sdp4430/sdp.c | 62 +++++++++++ boards.cfg | 1 + include/configs/omap4_sdp4430.h | 221 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 367 insertions(+), 0 deletions(-) create mode 100644 board/ti/sdp4430/Makefile create mode 100644 board/ti/sdp4430/config.mk create mode 100644 board/ti/sdp4430/sdp.c create mode 100644 include/configs/omap4_sdp4430.h
MAINTAINERS +1 -0
@@ -756,6 +756,7 @@ Nomadik Linux Team <[email protected]> Steve Sakoman <[email protected]> omap3_overo ARM ARMV7 (OMAP3xx SoC) + omap4_sdp4430 ARM ARMV7 (OMAP4xx SoC) Jens Scharsig <[email protected]>
MAKEALL +1 -0
@@ -654,6 +654,7 @@ LIST_ARMV7=" \ omap3_sdp3430 \ omap3_zoom1 \ omap3_zoom2 \ + omap4_sdp4430 \ s5p_goni \ smdkc100 \ "
board/ti/sdp4430/Makefile new file +49 -0
49 lines not on this page · raw message
board/ti/sdp4430/config.mk new file +32 -0
@@ -0,0 +1,32 @@ +# +# (C) Copyright 2006-2009 +# Texas Instruments Incorporated, <www.ti.com> +# +# OMAP 4430 SDP +# see http://www.ti.com/ for more information on Texas Instruments +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# SDRAM Address Space: +# 8000'0000 - 9fff'ffff (512 MB) +# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000 +# (mem base + reserved) + +# Let's place u-boot 1MB before the end of SDRAM. +TEXT_BASE = 0x9ff00000
board/ti/sdp4430/sdp.c new file +62 -0
62 lines not on this page · raw message
boards.cfg +1 -0
@@ -261,6 +261,7 @@ omap3_zoom2 arm armv7 zoom2 logicpd omap3 omap3_beagle arm armv7 beagle ti omap3 omap3_evm arm armv7 evm ti omap3 omap3_sdp3430 arm armv7 sdp3430 ti omap3 +omap4_sdp4430 arm armv7 sdp4430 ti omap4 devkit8000 arm armv7 devkit8000 timll omap3 smdkc100 arm armv7 smdkc100 samsung s5pc1xx ixdpg425 arm ixp
include/configs/omap4_sdp4430.h new file +221 -0
221 lines not on this page · raw message
Signature · 1 line
1.7.0.4
PATCH v4 6/6 ARMV7: Add support for TI OMAP4 Panda
In reply to Steve SakomanOMAP4 Panda is a reference board based on OMAP4430, an ARMV7 Cortex A9 CPU
This patch adds basic support for booting the board. It includes i2c and mmc support. It assumes U-boot is loaded to SDRAM with the help of another small bootloader (x-load) running from SRAM. U-boot currently relies on x-load for clock, mux, and SDRAM initialization
--- MAINTAINERS | 1 + MAKEALL | 1 + board/ti/panda/Makefile | 49 +++++++++ board/ti/panda/config.mk | 32 ++++++ board/ti/panda/panda.c | 61 +++++++++++ boards.cfg | 1 + include/configs/omap4_panda.h | 220 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 365 insertions(+), 0 deletions(-) create mode 100644 board/ti/panda/Makefile create mode 100644 board/ti/panda/config.mk create mode 100644 board/ti/panda/panda.c create mode 100644 include/configs/omap4_panda.h
MAINTAINERS +1 -0
@@ -756,6 +756,7 @@ Nomadik Linux Team <[email protected]> Steve Sakoman <[email protected]> omap3_overo ARM ARMV7 (OMAP3xx SoC) + omap4_panda ARM ARMV7 (OMAP4xx SoC) omap4_sdp4430 ARM ARMV7 (OMAP4xx SoC) Jens Scharsig <[email protected]>
MAKEALL +1 -0
@@ -654,6 +654,7 @@ LIST_ARMV7=" \ omap3_sdp3430 \ omap3_zoom1 \ omap3_zoom2 \ + omap4_panda \ omap4_sdp4430 \ s5p_goni \ smdkc100 \
board/ti/panda/Makefile new file +49 -0
49 lines not on this page · raw message
board/ti/panda/config.mk new file +32 -0
@@ -0,0 +1,32 @@ +# +# (C) Copyright 2006-2009 +# Texas Instruments Incorporated, <www.ti.com> +# +# OMAP 4430 SDP +# see http://www.ti.com/ for more information on Texas Instruments +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# SDRAM Address Space: +# 8000'0000 - 9fff'ffff (512 MB) +# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000 +# (mem base + reserved) + +# Let's place u-boot 1MB before the end of SDRAM. +TEXT_BASE = 0x9ff00000
board/ti/panda/panda.c new file +61 -0
61 lines not on this page · raw message
boards.cfg +1 -0
@@ -261,6 +261,7 @@ omap3_zoom2 arm armv7 zoom2 logicpd omap3 omap3_beagle arm armv7 beagle ti omap3 omap3_evm arm armv7 evm ti omap3 omap3_sdp3430 arm armv7 sdp3430 ti omap3 +omap4_panda arm armv7 panda ti omap4 omap4_sdp4430 arm armv7 sdp4430 ti omap4 devkit8000 arm armv7 devkit8000 timll omap3 smdkc100 arm armv7 smdkc100 samsung s5pc1xx
include/configs/omap4_panda.h new file +220 -0
220 lines not on this page · raw message
Signature · 1 line
1.7.0.4
Paulraj
v4 cover Add support for TI OMAP4 SDP and Panda
In reply to Steve SakomanQuoted 36 lines
This is version 4, which takes into account all feedback to date, and has been rebased on the next branch.
The folowing series adds support for two boards based upon the TI OMAP4430. The OMAP4430 is a Cortex-A9 based SOC from TI.
The first patch in this series renames the cpu
arm_cortexa8to armv7 so that the existing cortex A8 code can be shared with cortex A9. Both A8 and A9 are based on ARMV7 architecture.The 2nd patch adds basic OMAP4 architecture support.
The 3rd patch restructures the OMAP mmc driver code so that it can be shared by both OMAP3 and OMAP4 boards. This patch depends on a previously submitted patch (OMAP: mmc: add support for second and third mmc channel):
http://www.mail-archive.com/u-boot at lists.denx.de/msg31765.html
The 4th patch restructures the OMAP i2c code so that it can be shared by both OMAP3 and OMAP4 boards.
And, finally, the 5th and 6th patches add board support for Panda and SDP.
I build tested each step of the series for all ARMV7 boards (devkit8000 mx51evk
omap3_beagleomap3_overoomap3_evmomap3_pandoraomap3_sdp3430omap3_zoom1omap3_zoom2smdkc100)I did a run test at each step of the series for Overo to verify no regressions on an existing board. Of couse I also run test the final two steps of the series on SDP and Panda.
---
Quoted 9 lines
Steve Sakoman (6):
ARM: Renamearch/arm/cpu/arm_cortexa8to armv7
ARMV7: Add basic support for TI OMAP4
ARMV7: Restructure OMAP mmc driver to allow code sharing between
OMAP3 and OMAP4
ARMV7: Restructure OMAP i2c driver to allow code sharing between
OMAP3 and OMAP4
ARMV7: Add support for TI OMAP4430 SDP
ARMV7: Add support for TI OMAP4 Panda
I ran MAKEALL for ARMV7 and I got several compile errors.
I have setup a testing branch for you(u-boot-ti/testing) with all the patches applied.
Please fix and resubmit.
Thanks,
Sandeep
v4 cover Add support for TI OMAP4 SDP and Panda
Quoted 7 lines · Sandeep
Quoted 7 lines
This is version 4, which takes into account all feedback to date, and has been rebased on the next branch.
The folowing series adds support for two boards based upon the TI OMAP4430. The OMAP4430 is a Cortex-A9 based SOC from TI.
<snip>
Quoted 6 lines
I ran MAKEALL for ARMV7 and I got several compile errors.
I have setup a testing branch for you(u-boot-ti/testing) with all the patches applied.
Please fix and resubmit.
I'm not quite sure what went awry here, but the compile errors are caused by the fix you did to the mmc patch. Perhaps due to applying the patches out of order in your testing branch??
In any event, the patches seem to work here applied to the current master/next in the original order.
Here's a pointer to my working git branch:
http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-boot.git;a=shortlog;h=refs/heads/omap4-next-upstream
I added your "Signed-off-by" in case you wanted to just do a pull. But I am also happy to resubmit the patches if you prefer that.
Regards,
Steve
Paulraj
v4 cover Add support for TI OMAP4 SDP and Panda
Quoted 33 lines · Sandeep
Quoted 3 lines
Quoted 3 lines
This is version 4, which takes into account all feedback to date, and
has
Quoted 4 lines
Quoted 4 lines
been rebased on the next branch.
The folowing series adds support for two boards based upon the TI OMAP4430. The OMAP4430 is a Cortex-A9 based SOC from TI.
<snip>
Quoted 4 lines
I ran MAKEALL for ARMV7 and I got several compile errors.
I have setup a testing branch for you(u-boot-ti/testing) with all the
patches applied.
Quoted 2 lines
Please fix and resubmit.
I'm not quite sure what went awry here, but the compile errors are caused by the fix you did to the mmc patch. Perhaps due to applying the patches out of order in your testing branch??
In any event, the patches seem to work here applied to the current master/next in the original order.
Here's a pointer to my working git branch:
http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-
boot.git;a=shortlog;h=refs/heads/omap4-next-upstream
Quoted 7 lines
I added your "Signed-off-by" in case you wanted to just do a pull. But I am also happy to resubmit the patches if you prefer that.
Regards,
Steve
This is what I get. I think the recent changes in Makefile are also resulting in 2 of these.
a0866907 at gt9szxw61 u-boot-denx]$ CROSS_COMPILE=arm-none-linux-gnueabi- MAKEALL ARMV7
make: *** No rule to make target `am3517_evm_config'. Stop.
make: *** [am3517_evm_config] Error 1
System not configured - see README
make: *** [all] Error 1
arm-none-linux-gnueabi-size: './u-boot': No such file
Configuring for devkit8000 board...
text data bss dec hex filename
193334 10164 214484 417982 660be ./u-boot
Configuring for mx51evk board...
text data bss dec hex filename
123610 4956 216924 345490 54592 ./u-boot
Configuring for omap3_beagle board...
text data bss dec hex filename
184227 10036 202432 396695 60d97 ./u-boot
Configuring for omap3_overo board...
text data bss dec hex filename
174655 9724 210440 394819 60643 ./u-boot
Configuring for omap3_evm board...
text data bss dec hex filename
203347 9584 257708 470639 72e6f ./u-boot
Configuring for omap3_pandora board...
text data bss dec hex filename
158134 9292 200544 367970 59d62 ./u-boot
Configuring for omap3_sdp3430 board...
text data bss dec hex filename
159173 5010 214832 379015 5c887 ./u-boot
Configuring for omap3_zoom1 board...
text data bss dec hex filename
172573 9748 201616 383937 5dbc1 ./u-boot
Configuring for omap3_zoom2 board...
text data bss dec hex filename
144311 8532 200396 353239 563d7 ./u-boot
Configuring for omap4_panda board...cmd_mmc.c: In function 'do_mmc':
cmd_mmc.c:70: warning: implicit declaration of function 'mmc_set_dev'
text data bss dec hex filename
100853 4580 200036 305469 4a93d ./u-boot
Configuring for omap4_sdp4430 board...cmd_mmc.c: In function 'do_mmc':
cmd_mmc.c:70: warning: implicit declaration of function 'mmc_set_dev'
text data bss dec hex filename
100850 4580 200036 305466 4a93a ./u-boot
make: *** No rule to make target `s5p_goni_config'. Stop.
make: *** [s5p_goni_config] Error 1
System not configured - see README
make: *** [all] Error 1
arm-none-linux-gnueabi-size: './u-boot': No such file
Configuring for smdkc100 board...
text data bss dec hex filename
150434 7884 221668 379986 5cc52 ./u-boot
--------------------- SUMMARY ----------------------------
Boards compiled: 14
Boards with warnings or errors: 4 ( am3517_evm omap4_panda omap4_sdp4430 s5p_goni )
v4 cover Add support for TI OMAP4 SDP and Panda
Quoted 35 lines · Sandeep
Quoted 35 lines · Sandeep
Quoted 3 lines
Quoted 3 lines
This is version 4, which takes into account all feedback to date, and
has
Quoted 4 lines
Quoted 4 lines
been rebased on the next branch.
The folowing series adds support for two boards based upon the TI OMAP4430. The OMAP4430 is a Cortex-A9 based SOC from TI.
<snip>
Quoted 4 lines
I ran MAKEALL for ARMV7 and I got several compile errors.
I have setup a testing branch for you(u-boot-ti/testing) with all the
patches applied.
Quoted 2 lines
Please fix and resubmit.
I'm not quite sure what went awry here, but the compile errors are caused by the fix you did to the mmc patch. Perhaps due to applying the patches out of order in your testing branch??
In any event, the patches seem to work here applied to the current master/next in the original order.
Here's a pointer to my working git branch:
http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-
boot.git;a=shortlog;h=refs/heads/omap4-next-upstreamI added your "Signed-off-by" in case you wanted to just do a pull. But I am also happy to resubmit the patches if you prefer that.
Quoted 6 lines
Quoted 4 lines
Regards,
Steve
This is what I get. I think the recent changes in
Makefileare also resulting in 2 of these.
Yes, I don't think that the 2 errors are related to my patches (am3517_evm_config and s5p_goni_config). Neither of those boards seem to have made it into boards.cfg
Is this something that you want me to submit a fix patch for, or are those board maintainers going to handle this?
The two warnings are also not caused by my patch, that issue has always been there for any board that defines CMD_MMC and CONFIG_SYS_MMC_SET_DEV. Granted, no boards up to now make use of that feature :-)
I think the solution is simply to add a prototype for the mmc_set_dev function to mmc.h
I can do this as a separate fixit patch unrelated to my series, or I can add it to the "OMAP: mmc: add support for second and third mmc channels" and resubmit the patch series. The latter might make sense since my two boards are the first to actually make use of the CONFIG_SYS_MMC_SET_DEV functionality.
Which would you prefer?
Steve
Quoted 56 lines
a0866907at gt9szxw61 u-boot-denx]$ CROSS_COMPILE=arm-none-linux-gnueabi- MAKEALL ARMV7
make: *** No rule to make target `am3517_evm_config'. Stop.
make: *** [am3517_evm_config] Error 1
System not configured - see README
make: *** [all] Error 1
arm-none-linux-gnueabi-size: './u-boot': No such file
Configuring for devkit8000 board...
text data bss dec hex filename
193334 10164 214484 417982 660be ./u-boot
Configuring for mx51evk board...
text data bss dec hex filename
123610 4956 216924 345490 54592 ./u-boot
Configuring foromap3_beagleboard...
text data bss dec hex filename
184227 10036 202432 396695 60d97 ./u-boot
Configuring foromap3_overoboard...
text data bss dec hex filename
174655 9724 210440 394819 60643 ./u-boot
Configuring foromap3_evmboard...
text data bss dec hex filename
203347 9584 257708 470639 72e6f ./u-boot
Configuring foromap3_pandoraboard...
text data bss dec hex filename
158134 9292 200544 367970 59d62 ./u-boot
Configuring foromap3_sdp3430board...
text data bss dec hex filename
159173 5010 214832 379015 5c887 ./u-boot
Configuring foromap3_zoom1board...
text data bss dec hex filename
172573 9748 201616 383937 5dbc1 ./u-boot
Configuring foromap3_zoom2board...
text data bss dec hex filename
144311 8532 200396 353239 563d7 ./u-boot
Configuring foromap4_pandaboard...cmd_mmc.c: In function 'do_mmc':
cmd_mmc.c:70: warning: implicit declaration of function 'mmc_set_dev'
text data bss dec hex filename
100853 4580 200036 305469 4a93d ./u-boot
Configuring foromap4_sdp4430board...cmd_mmc.c: In function 'do_mmc':
cmd_mmc.c:70: warning: implicit declaration of function 'mmc_set_dev'
text data bss dec hex filename
100850 4580 200036 305466 4a93a ./u-boot
make: *** No rule to make target `s5p_goni_config'. Stop.
make: *** [s5p_goni_config] Error 1
System not configured - see README
make: *** [all] Error 1
arm-none-linux-gnueabi-size: './u-boot': No such file
Configuring for smdkc100 board...
text data bss dec hex filename
150434 7884 221668 379986 5cc52 ./u-boot--------------------- SUMMARY ----------------------------
Boards compiled: 14
Boards with warnings or errors: 4 (am3517_evmomap4_pandaomap4_sdp4430s5p_goni)
Paulraj
v4 cover Add support for TI OMAP4 SDP and Panda
Quoted 48 lines · Sandeep
Quoted 6 lines
Quoted 6 lines · Sandeep
Quoted 3 lines
Quoted 3 lines
This is version 4, which takes into account all feedback to date,
and
Quoted 10 lines
Quoted 10 lines
has
Quoted 4 lines
Quoted 4 lines
been rebased on the next branch.
The folowing series adds support for two boards based upon the TI OMAP4430. The OMAP4430 is a Cortex-A9 based SOC from TI.
<snip>
Quoted 4 lines
I ran MAKEALL for ARMV7 and I got several compile errors.
I have setup a testing branch for you(u-boot-ti/testing) with all
the
Quoted 6 lines
Quoted 6 lines
patches applied.
Quoted 2 lines
Please fix and resubmit.
I'm not quite sure what went awry here, but the compile errors are caused by the fix you did to the mmc patch. Perhaps due to applying
the
Quoted 11 lines
Quoted 11 lines
patches out of order in your testing branch??
In any event, the patches seem to work here applied to the current master/next in the original order.
Here's a pointer to my working git branch:
http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-
boot.git;a=shortlog;h=refs/heads/omap4-next-upstreamI added your "Signed-off-by" in case you wanted to just do a pull.
But
Quoted 7 lines
Quoted 6 lines
I am also happy to resubmit the patches if you prefer that.
Regards,
Steve
Quoted 6 lines
Quoted 1 line
This is what I get. I think the recent changes in
Makefileare alsoresulting in 2 of these.
Yes, I don't think that the 2 errors are related to my patches (
am3517_evm_configands5p_goni_config). Neither of those boards seem to have made it into boards.cfg
That seems to be the reason
Quoted 3 lines
Is this something that you want me to submit a fix patch for, or are those board maintainers going to handle this?
If you have time then it would be nice to get a patch with the entries in boards.cfg
Quoted 9 lines
The two warnings are also not caused by my patch, that issue has always been there for any board that defines
CMD_MMCandCONFIG_SYS_MMC_SET_DEV. Granted, no boards up to now make use of that feature :-)I think the solution is simply to add a prototype for the
mmc_set_devfunction tommc.h
Quoted 7 lines
I can do this as a separate fixit patch unrelated to my series, or I can add it to the "OMAP: mmc: add support for second and third mmc channels" and resubmit the patch series. The latter might make sense since my two boards are the first to actually make use of the
CONFIG_SYS_MMC_SET_DEVfunctionality.Which would you prefer?
Just submit a new patch to get rid of the compile issues. No need to resubmit the original patch or the series.
v4 cover Add support for TI OMAP4 SDP and Panda
Quoted 10 lines · Sandeep
Quoted 3 lines
Yes, I don't think that the 2 errors are related to my patches (
am3517_evm_configands5p_goni_config). Neither of those boards seem to have made it into boards.cfgThat seems to be the reason
Quoted 3 lines
Is this something that you want me to submit a fix patch for, or are those board maintainers going to handle this?
If you have time then it would be nice to get a patch with the entries in boards.cfg
OK, done:
I will also submit it to the list separately.
Quoted 14 lines
Quoted 14 lines
The two warnings are also not caused by my patch, that issue has always been there for any board that defines
CMD_MMCandCONFIG_SYS_MMC_SET_DEV. Granted, no boards up to now make use of that feature :-)I think the solution is simply to add a prototype for the
mmc_set_devfunction tommc.hI can do this as a separate fixit patch unrelated to my series, or I can add it to the "OMAP: mmc: add support for second and third mmc channels" and resubmit the patch series. The latter might make sense since my two boards are the first to actually make use of the
CONFIG_SYS_MMC_SET_DEVfunctionality.
Quoted 3 lines
Quoted 1 line
Which would you prefer?
Just submit a new patch to get rid of the compile issues. No need to resubmit the original patch or the series.
That too is done and will also be sent to the list separately:
After those two patches a MAKEALL gives:
Configuring for am3517_evm board...
text data bss dec hex filename
162982 9196 201312 373490 5b2f2 ./u-boot
Configuring for devkit8000 board...
text data bss dec hex filename
201755 10124 214484 426363 6817b ./u-boot
Configuring for mx51evk board...
text data bss dec hex filename
128874 4956 216924 350754 55a22 ./u-boot
Configuring for omap3_beagle board...
text data bss dec hex filename
191724 9996 202424 404144 62ab0 ./u-boot
Configuring for omap3_overo board...
text data bss dec hex filename
181664 9684 210440 401788 6217c ./u-boot
Configuring for omap3_evm board...
text data bss dec hex filename
211952 9544 257708 479204 74fe4 ./u-boot
Configuring for omap3_pandora board...
text data bss dec hex filename
163855 9252 200544 373651 5b393 ./u-boot
Configuring for omap3_sdp3430 board...
text data bss dec hex filename
166579 4970 214828 386377 5e549 ./u-boot
Configuring for omap3_zoom1 board...
text data bss dec hex filename
179426 9708 201612 390746 5f65a ./u-boot
Configuring for omap3_zoom2 board...
text data bss dec hex filename
149680 8532 200392 358604 578cc ./u-boot
Configuring for omap4_panda board...
text data bss dec hex filename
104642 4540 200036 309218 4b7e2 ./u-boot
Configuring for omap4_sdp4430 board...
text data bss dec hex filename
104639 4540 200036 309215 4b7df ./u-boot
Configuring for s5p_goni board...
text data bss dec hex filename
122092 7348 12936 142376 22c28 ./u-boot
Configuring for smdkc100 board...
text data bss dec hex filename
156775 7844 221676 386295 5e4f7 ./u-boot
--------------------- SUMMARY ---------------------------- Boards compiled: 14
----------------------------------------------------------
Regards,
Steve
Paulraj
v4 cover Add support for TI OMAP4 SDP and Panda
In reply to Steve SakomanQuoted 17 lines
Quoted 4 lines
Please fix and resubmit.
I'm not quite sure what went awry here, but the compile errors are caused by the fix you did to the mmc patch. Perhaps due to applying the patches out of order in your testing branch??
In any event, the patches seem to work here applied to the current master/next in the original order.
Here's a pointer to my working git branch:
http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-
boot.git;a=shortlog;h=refs/heads/omap4-next-upstream
Quoted 6 lines
I added your "Signed-off-by" in case you wanted to just do a pull. But I am also happy to resubmit the patches if you prefer that.
Regards,
Steve
The warnings were due to me making fixes to a patch that would not apply clean.
Ran MAKEALL and saw no issues.
Pushed the series to u-boot-ti
Sandeep