Skip to contentSkip to conversation

Move Tegra20 files to common subdirs, prep for T30

PATCH New Tom Warren 4 participants 12 messages Sep 21, 2012 – Sep 28, 2012

Subsystems (11)
lore
Share & tools
lore

Tom Warren

author
#0 lore raw

cover Move Tegra20 files to common subdirs, prep for T30

This patch series moves Tegra20 code and include files into common subdirs (../cpu/tegra-common, ../cpu/arm720t/tegra-common, and ../cpu/armv7/tegra-common, plus ../include/asm/arch-tegra). This is needed to prepare for Tegra30 support - T30 HW is (mostly) a super- set of T20 HW.

MAKEALL -s tegra20 is OK, as is checkpatch.pl.

Tom Warren (2):
Tegra20: Move some code files to common directories for upcoming
Tegra30 patches.
Tegra20: Move some include files to arch-tegra for sharing with

    Tegra30
 Makefile                                           |    2 +
 .../cpu/arm720t/{tegra20 => tegra-common}/Makefile |    3 +-
 .../cpu/arm720t/{tegra20 => tegra-common}/board.h  |    0
 .../cpu/arm720t/{tegra20 => tegra-common}/cpu.h    |    0
 .../cpu/arm720t/{tegra20 => tegra-common}/spl.c    |   12 +-
 arch/arm/cpu/arm720t/tegra20/Makefile              |    1 -
 arch/arm/cpu/arm720t/tegra20/cpu.c                 |   12 +-
 .../cpu/armv7/{tegra20 => tegra-common}/Makefile   |    3 +-
 .../armv7/{tegra20 => tegra-common}/cmd_enterrcm.c |    4 +-
 arch/arm/cpu/armv7/tegra20/Makefile                |    1 -
 arch/arm/cpu/armv7/tegra20/usb.c                   |    8 +-
 .../cpu/{arm720t/tegra20 => tegra-common}/Makefile |   10 +-
 .../{tegra20-common/ap20.c => tegra-common/ap.c}   |   12 +-
 .../cpu/{tegra20-common => tegra-common}/board.c   |    8 +-
 .../lowlevel_init.S                                |    0
 .../{tegra20-common => tegra-common}/sys_info.c    |    0
 .../cpu/{tegra20-common => tegra-common}/timer.c   |    4 +-
 arch/arm/cpu/tegra20-common/Makefile               |    3 +-
 arch/arm/cpu/tegra20-common/clock.c                |    8 +-
 arch/arm/cpu/tegra20-common/emc.c                  |    4 +-
 arch/arm/cpu/tegra20-common/pinmux.c               |    4 +-
 arch/arm/cpu/tegra20-common/pmu.c                  |    8 +-
 arch/arm/cpu/tegra20-common/warmboot.c             |   18 +-
 arch/arm/cpu/tegra20-common/warmboot_avp.c         |   12 +-
 .../asm/{arch-tegra20/ap20.h => arch-tegra/ap.h}   |    0
 .../asm/{arch-tegra20 => arch-tegra}/board.h       |    0
 .../asm/{arch-tegra20 => arch-tegra}/clk_rst.h     |    0
 .../asm/{arch-tegra20 => arch-tegra}/clock.h       |  160 +--------
 .../asm/{arch-tegra20 => arch-tegra}/fuse.h        |    0
 .../asm/{arch-tegra20/mmc.h => arch-tegra/gpio.h}  |   21 +-
 .../include/asm/{arch-tegra20 => arch-tegra}/mmc.h |    0
 .../include/asm/{arch-tegra20 => arch-tegra}/pmc.h |    0
 .../include/asm/{arch-tegra20 => arch-tegra}/scu.h |    0
 .../asm/{arch-tegra20 => arch-tegra}/sys_proto.h   |    0
 .../{arch-tegra20/tegra20.h => arch-tegra/tegra.h} |   14 +-
 .../asm/{arch-tegra20 => arch-tegra}/tegra_i2c.h   |    4 +-
 .../asm/{arch-tegra20 => arch-tegra}/tegra_mmc.h   |    0
 .../asm/{arch-tegra20 => arch-tegra}/tegra_spi.h   |    0
 .../asm/{arch-tegra20 => arch-tegra}/timer.h       |    0
 .../asm/{arch-tegra20 => arch-tegra}/uart.h        |    0
 .../asm/{arch-tegra20 => arch-tegra}/warmboot.h    |    0
 arch/arm/include/asm/arch-tegra20/clock-tables.h   |  183 +++++++++
 arch/arm/include/asm/arch-tegra20/clock.h          |  388 +-------------------
 arch/arm/include/asm/arch-tegra20/gpio.h           |   22 +-
 .../asm/arch-tegra20/{sys_proto.h => tegra.h}      |   17 +-
 board/avionic-design/common/tamonten.c             |   13 +-
 board/compal/paz00/paz00.c                         |    4 +-
 board/compulab/trimslice/trimslice.c               |    6 +-
 board/nvidia/common/board.c                        |   17 +-
 board/nvidia/common/emc.c                          |    8 +-
 board/nvidia/common/uart-spi-switch.c              |    4 +-
 board/nvidia/harmony/harmony.c                     |    4 +-
 board/nvidia/seaboard/seaboard.c                   |    4 +-
 board/nvidia/whistler/whistler.c                   |    6 +-
 drivers/gpio/tegra_gpio.c                          |    2 +-
 drivers/i2c/tegra_i2c.c                            |    4 +-
 drivers/input/tegra-kbc.c                          |    2 +-
 drivers/mmc/tegra_mmc.c                            |    6 +-
 drivers/mtd/nand/tegra_nand.c                      |    5 +-
 drivers/spi/tegra_spi.c                            |    7 +-
 include/configs/tegra20-common.h                   |    2 +-
 spl/Makefile                                       |    2 +
 62 files changed, 343 insertions(+), 699 deletions(-)
 copy arch/arm/cpu/arm720t/{tegra20 => tegra-common}/Makefile (97%)
 rename arch/arm/cpu/arm720t/{tegra20 => tegra-common}/board.h (100%)
 rename arch/arm/cpu/arm720t/{tegra20 => tegra-common}/cpu.h (100%)
 rename arch/arm/cpu/arm720t/{tegra20 => tegra-common}/spl.c (94%)
 copy arch/arm/cpu/armv7/{tegra20 => tegra-common}/Makefile (95%)
 rename arch/arm/cpu/armv7/{tegra20 => tegra-common}/cmd_enterrcm.c (96%)
 copy arch/arm/cpu/{arm720t/tegra20 => tegra-common}/Makefile (86%)
 rename arch/arm/cpu/{tegra20-common/ap20.c => tegra-common/ap.c} (95%)
 rename arch/arm/cpu/{tegra20-common => tegra-common}/board.c (95%)
 rename arch/arm/cpu/{tegra20-common => tegra-common}/lowlevel_init.S (100%)
 rename arch/arm/cpu/{tegra20-common => tegra-common}/sys_info.c (100%)
 rename arch/arm/cpu/{tegra20-common => tegra-common}/timer.c (97%)
 rename arch/arm/include/asm/{arch-tegra20/ap20.h => arch-tegra/ap.h} (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/board.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/clk_rst.h (100%)
 copy arch/arm/include/asm/{arch-tegra20 => arch-tegra}/clock.h (72%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/fuse.h (100%)
 copy arch/arm/include/asm/{arch-tegra20/mmc.h => arch-tegra/gpio.h} (65%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/mmc.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/pmc.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/scu.h (100%)
 copy arch/arm/include/asm/{arch-tegra20 => arch-tegra}/sys_proto.h (100%)
 rename arch/arm/include/asm/{arch-tegra20/tegra20.h => arch-tegra/tegra.h} (90%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/tegra_i2c.h (98%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/tegra_mmc.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/tegra_spi.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/timer.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/uart.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/warmboot.h (100%)
 create mode 100644 arch/arm/include/asm/arch-tegra20/clock-tables.h
 rename arch/arm/include/asm/arch-tegra20/{sys_proto.h => tegra.h} (76%)
author
#1 lore raw

PATCH 1/2 Tegra20: Move some code files to common directories for upcoming Tegra30 patches.

Move files that are going to be common between T20 and T30 into 'tegra-common' subdirs in AVP (arm720t), CPU (armv7), and shared (arch/arm/cpu/.) areas. Any files that are left behind in '/tegra20' will be copied to '/tegra30' subdirs and modified for that SoC. The 'common' files should need only minor changes.

Include files (arch/arm/include/asm/arch-tegra/tegra20) will be done in a follow-on patch.

Builds fine w/MAKEALL -s tegra20. Checkpatch.pl is clean.

---
 Makefile                                           |    2 ++
 .../cpu/arm720t/{tegra20 => tegra-common}/Makefile |    3 +--
 .../cpu/arm720t/{tegra20 => tegra-common}/board.h  |    0
 .../cpu/arm720t/{tegra20 => tegra-common}/cpu.h    |    0
 .../cpu/arm720t/{tegra20 => tegra-common}/spl.c    |    0
 arch/arm/cpu/arm720t/tegra20/Makefile              |    1 -
 arch/arm/cpu/arm720t/tegra20/cpu.c                 |    2 +-
 .../cpu/armv7/{tegra20 => tegra-common}/Makefile   |    3 +--
 .../armv7/{tegra20 => tegra-common}/cmd_enterrcm.c |    0
 arch/arm/cpu/armv7/tegra20/Makefile                |    1 -
 .../cpu/{arm720t/tegra20 => tegra-common}/Makefile |   10 +++++-----
 .../{tegra20-common/ap20.c => tegra-common/ap.c}   |    0
 .../cpu/{tegra20-common => tegra-common}/board.c   |    0
 .../lowlevel_init.S                                |    0
 .../{tegra20-common => tegra-common}/sys_info.c    |    0
 .../cpu/{tegra20-common => tegra-common}/timer.c   |    0
 arch/arm/cpu/tegra20-common/Makefile               |    3 +--
 spl/Makefile                                       |    2 ++
 18 files changed, 13 insertions(+), 14 deletions(-)
 copy arch/arm/cpu/arm720t/{tegra20 => tegra-common}/Makefile (97%)
 rename arch/arm/cpu/arm720t/{tegra20 => tegra-common}/board.h (100%)
 rename arch/arm/cpu/arm720t/{tegra20 => tegra-common}/cpu.h (100%)
 rename arch/arm/cpu/arm720t/{tegra20 => tegra-common}/spl.c (100%)
 copy arch/arm/cpu/armv7/{tegra20 => tegra-common}/Makefile (95%)
 rename arch/arm/cpu/armv7/{tegra20 => tegra-common}/cmd_enterrcm.c (100%)
 copy arch/arm/cpu/{arm720t/tegra20 => tegra-common}/Makefile (86%)
 rename arch/arm/cpu/{tegra20-common/ap20.c => tegra-common/ap.c} (100%)
 rename arch/arm/cpu/{tegra20-common => tegra-common}/board.c (100%)
 rename arch/arm/cpu/{tegra20-common => tegra-common}/lowlevel_init.S (100%)
 rename arch/arm/cpu/{tegra20-common => tegra-common}/sys_info.c (100%)
 rename arch/arm/cpu/{tegra20-common => tegra-common}/timer.c (100%)
Makefile +2 -0
index fe2f98c..584d398 100644
@@ -318,6 +318,8 @@ LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o
 endif
 ifeq ($(SOC),tegra20)
 LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o
+LIBS-y += arch/$(ARCH)/cpu/tegra-common/libcputegra-common.o
+LIBS-y += $(CPUDIR)/tegra-common/libtegra-common.o
 endif
 
 LIBS := $(addprefix $(obj),$(sort $(LIBS-y)))
arch/arm/cpu/arm720t/tegra-common/Makefile renamed from arch/arm/cpu/arm720t/tegra20/Makefile +1 -2
similarity index 97%
copy from arch/arm/cpu/arm720t/tegra20/Makefile
copy to arch/arm/cpu/arm720t/tegra-common/Makefile
index 6e48475..febd2e3 100644
@@ -25,9 +25,8 @@
 
 include $(TOPDIR)/config.mk
 
-LIB	= $(obj)lib$(SOC).o
+LIB	= $(obj)libtegra-common.o
 
-COBJS-y	+= cpu.o
 COBJS-$(CONFIG_SPL_BUILD) += spl.o
 
 SRCS	:= $(COBJS-y:.o=.c)
arch/arm/cpu/arm720t/tegra-common/board.h renamed from arch/arm/cpu/arm720t/tegra20/board.h +0 -0
similarity index 100%
rename from arch/arm/cpu/arm720t/tegra20/board.h
rename to arch/arm/cpu/arm720t/tegra-common/board.h
arch/arm/cpu/arm720t/tegra-common/cpu.h renamed from arch/arm/cpu/arm720t/tegra20/cpu.h +0 -0
similarity index 100%
rename from arch/arm/cpu/arm720t/tegra20/cpu.h
rename to arch/arm/cpu/arm720t/tegra-common/cpu.h
arch/arm/cpu/arm720t/tegra-common/spl.c renamed from arch/arm/cpu/arm720t/tegra20/spl.c +0 -0
similarity index 100%
rename from arch/arm/cpu/arm720t/tegra20/spl.c
rename to arch/arm/cpu/arm720t/tegra-common/spl.c
arch/arm/cpu/arm720t/tegra20/Makefile +0 -1
index 6e48475..8958e65 100644
@@ -28,7 +28,6 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)lib$(SOC).o
 
 COBJS-y	+= cpu.o
-COBJS-$(CONFIG_SPL_BUILD) += spl.o
 
 SRCS	:= $(COBJS-y:.o=.c)
 OBJS	:= $(addprefix $(obj),$(COBJS-y))
arch/arm/cpu/arm720t/tegra20/cpu.c +1 -1
index ddf8d97..8b72938 100644
@@ -29,7 +29,7 @@
 #include <asm/arch/pinmux.h>
 #include <asm/arch/scu.h>
 #include <common.h>
-#include "cpu.h"
+#include "../tegra-common/cpu.h"
 
 /* Returns 1 if the current CPU executing is a Cortex-A9, else 0 */
 int ap20_cpu_is_cortexa9(void)
arch/arm/cpu/armv7/tegra-common/Makefile renamed from arch/arm/cpu/armv7/tegra20/Makefile +1 -2
similarity index 95%
copy from arch/arm/cpu/armv7/tegra20/Makefile
copy to arch/arm/cpu/armv7/tegra-common/Makefile
index 5f4035d..f4961fa 100644
@@ -25,9 +25,8 @@
 
 include $(TOPDIR)/config.mk
 
-LIB	=  $(obj)lib$(SOC).o
+LIB	=  $(obj)libtegra-common.o
 
-COBJS-$(CONFIG_USB_EHCI_TEGRA) += usb.o
 COBJS-$(CONFIG_CMD_ENTERRCM) += cmd_enterrcm.o
 
 COBJS	:= $(COBJS-y)
arch/arm/cpu/armv7/tegra-common/cmd_enterrcm.c renamed from arch/arm/cpu/armv7/tegra20/cmd_enterrcm.c +0 -0
similarity index 100%
rename from arch/arm/cpu/armv7/tegra20/cmd_enterrcm.c
rename to arch/arm/cpu/armv7/tegra-common/cmd_enterrcm.c
arch/arm/cpu/armv7/tegra20/Makefile +0 -1
index 5f4035d..09a0314 100644
@@ -28,7 +28,6 @@ include $(TOPDIR)/config.mk
 LIB	=  $(obj)lib$(SOC).o
 
 COBJS-$(CONFIG_USB_EHCI_TEGRA) += usb.o
-COBJS-$(CONFIG_CMD_ENTERRCM) += cmd_enterrcm.o
 
 COBJS	:= $(COBJS-y)
 SRCS	:= $(COBJS:.o=.c)
arch/arm/cpu/tegra-common/Makefile renamed from arch/arm/cpu/arm720t/tegra20/Makefile +5 -5
similarity index 86%
copy from arch/arm/cpu/arm720t/tegra20/Makefile
copy to arch/arm/cpu/tegra-common/Makefile
index 6e48475..38e90d3 100644
@@ -25,13 +25,13 @@
 
 include $(TOPDIR)/config.mk
 
-LIB	= $(obj)lib$(SOC).o
+LIB	= $(obj)libcputegra-common.o
 
-COBJS-y	+= cpu.o
-COBJS-$(CONFIG_SPL_BUILD) += spl.o
+SOBJS += lowlevel_init.o
+COBJS-y	+= ap.o board.o sys_info.o timer.o
 
-SRCS	:= $(COBJS-y:.o=.c)
-OBJS	:= $(addprefix $(obj),$(COBJS-y))
+SRCS	:= $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS-y))
 
 all:	$(obj).depend $(LIB)
 
arch/arm/cpu/tegra-common/ap.c renamed from arch/arm/cpu/tegra20-common/ap20.c +0 -0
similarity index 100%
rename from arch/arm/cpu/tegra20-common/ap20.c
rename to arch/arm/cpu/tegra-common/ap.c
arch/arm/cpu/tegra-common/board.c renamed from arch/arm/cpu/tegra20-common/board.c +0 -0
similarity index 100%
rename from arch/arm/cpu/tegra20-common/board.c
rename to arch/arm/cpu/tegra-common/board.c
arch/arm/cpu/tegra-common/lowlevel_init.S renamed from arch/arm/cpu/tegra20-common/lowlevel_init.S +0 -0
similarity index 100%
rename from arch/arm/cpu/tegra20-common/lowlevel_init.S
rename to arch/arm/cpu/tegra-common/lowlevel_init.S
arch/arm/cpu/tegra-common/sys_info.c renamed from arch/arm/cpu/tegra20-common/sys_info.c +0 -0
similarity index 100%
rename from arch/arm/cpu/tegra20-common/sys_info.c
rename to arch/arm/cpu/tegra-common/sys_info.c
arch/arm/cpu/tegra-common/timer.c renamed from arch/arm/cpu/tegra20-common/timer.c +0 -0
similarity index 100%
rename from arch/arm/cpu/tegra20-common/timer.c
rename to arch/arm/cpu/tegra-common/timer.c
arch/arm/cpu/tegra20-common/Makefile +1 -2
index 9e91e5c..8184e5e 100644
@@ -31,8 +31,7 @@ CFLAGS_arch/arm/cpu/tegra20-common/warmboot_avp.o += -march=armv4t
 
 LIB	= $(obj)lib$(SOC)-common.o
 
-SOBJS += lowlevel_init.o
-COBJS-y	+= ap20.o board.o clock.o funcmux.o pinmux.o sys_info.o timer.o
+COBJS-y	+= clock.o funcmux.o pinmux.o
 COBJS-$(CONFIG_TEGRA_LP0) += warmboot.o crypto.o warmboot_avp.o
 COBJS-$(CONFIG_TEGRA_CLOCK_SCALING) += emc.o
 COBJS-$(CONFIG_TEGRA_PMU) += pmu.o
spl/Makefile +2 -0
index 476a5e6..f98bc23 100644
@@ -63,6 +63,8 @@ endif
 
 ifeq ($(SOC),tegra20)
 LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o
+LIBS-y += arch/$(ARCH)/cpu/tegra-common/libcputegra-common.o
+LIBS-y += $(CPUDIR)/tegra-common/libtegra-common.o
 endif
 
 # Add GCC lib
Signature · 1 line
1.7.0.4
#2 lore raw

PATCH 1/2 Tegra20: Move some code files to common directories for upcoming Tegra30 patches.

Quoted 13 lines · Tom Warren

Move files that are going to be common between T20 and T30 into 'tegra-common' subdirs in AVP (arm720t), CPU (armv7), and shared (arch/arm/cpu/.) areas. Any files that are left behind in '/tegra20' will be copied to '/tegra30' subdirs and modified for that SoC. The 'common' files should need only minor changes.

Include files (arch/arm/include/asm/arch-tegra/tegra20) will be done in a follow-on patch.

Makefile +0 -0
index fe2f98c..584d398 100644

Makefile LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o · line 323

Quoted 6 lines
Makefile +2 -0
@@ -318,6 +318,8 @@ LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o
 endif
 ifeq ($(SOC),tegra20)
 LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o
+LIBS-y += arch/$(ARCH)/cpu/tegra-common/libcputegra-common.o
+LIBS-y += $(CPUDIR)/tegra-common/libtegra-common.o
 endif

I assume that eventually (i.e. in the future, perhaps not as part of these patches) arch/$(ARCH)/cpu/$(SOC)-common will go away, to be replaced with just arch/$(ARCH)/cpu/tegra-common as added here, and the regular arch/$(ARCH)/cpu/$(SOC) which is presumably added elsewhere for every SoC?

Anyway, this patch,

author
#3 lore raw

PATCH 1/2 Tegra20: Move some code files to common directories for upcoming Tegra30 patches.

Stephen,

Quoted 18 lines · Stephen Warren
Quoted 17 lines · Tom Warren

Move files that are going to be common between T20 and T30 into 'tegra-common' subdirs in AVP (arm720t), CPU (armv7), and shared (arch/arm/cpu/.) areas. Any files that are left behind in '/tegra20' will be copied to '/tegra30' subdirs and modified for that SoC. The 'common' files should need only minor changes.

Include files (arch/arm/include/asm/arch-tegra/tegra20) will be done in a follow-on patch.

Makefile +1 -0
index fe2f98c..584d398 100644
@@ -318,6 +318,8 @@ LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o
 endif
 ifeq ($(SOC),tegra20)
 LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o
+LIBS-y += arch/$(ARCH)/cpu/tegra-common/libcputegra-common.o
Quoted 8 lines

Makefile LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o · line 323

Quoted 2 lines
Makefile +1 -0
+LIBS-y += $(CPUDIR)/tegra-common/libtegra-common.o
 endif

I assume that eventually (i.e. in the future, perhaps not as part of these patches) arch/$(ARCH)/cpu/$(SOC)-common will go away, to be replaced with just arch/$(ARCH)/cpu/tegra-common as added here, and the regular arch/$(ARCH)/cpu/$(SOC) which is presumably added elsewhere for every SoC?

As I understand Allen's SPL reorg, /arch/arm/cpu/tegra20-common holds the files that are common to SPL and main U-Boot. I've added /arch/arm/cpu/tegra-common to break it down even further, and hold the files that are common between Tegra20 and Tegra30, and shared between SPL & main U-Boot.

Quoted 3 lines

Anyway, this patch,

Thanks,

Tom

#4 lore raw

PATCH 1/2 Tegra20: Move some code files to common directories for upcoming Tegra30 patches.

Quoted 30 lines · Tom Warren

Stephen,

Quoted 18 lines · Stephen Warren
Quoted 17 lines · Tom Warren

Move files that are going to be common between T20 and T30 into 'tegra-common' subdirs in AVP (arm720t), CPU (armv7), and shared (arch/arm/cpu/.) areas. Any files that are left behind in '/tegra20' will be copied to '/tegra30' subdirs and modified for that SoC. The 'common' files should need only minor changes.

Include files (arch/arm/include/asm/arch-tegra/tegra20) will be done in a follow-on patch.

Makefile +1 -0
index fe2f98c..584d398 100644
@@ -318,6 +318,8 @@ LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o
 endif
 ifeq ($(SOC),tegra20)
 LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o
+LIBS-y += arch/$(ARCH)/cpu/tegra-common/libcputegra-common.o
Quoted 8 lines

Makefile LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o · line 323

Quoted 2 lines
Makefile +1 -0
+LIBS-y += $(CPUDIR)/tegra-common/libtegra-common.o
 endif

I assume that eventually (i.e. in the future, perhaps not as part of these patches) arch/$(ARCH)/cpu/$(SOC)-common will go away, to be replaced with just arch/$(ARCH)/cpu/tegra-common as added here, and the regular arch/$(ARCH)/cpu/$(SOC) which is presumably added elsewhere for every SoC?

Quoted 5 lines

As I understand Allen's SPL reorg, /arch/arm/cpu/tegra20-common holds the files that are common to SPL and main U-Boot. I've added /arch/arm/cpu/tegra-common to break it down even further, and hold the files that are common between Tegra20 and Tegra30, and shared between SPL & main U-Boot.

Oh right, I'd forgotten about the SPL/U-Boot split.

#5 lore raw

PATCH 1/2 Tegra20: Move some code files to common directories for upcoming Tegra30 patches.

In reply to Tom Warren

Hi Tom,

Quoted 11 lines · Tom Warren

Move files that are going to be common between T20 and T30 into 'tegra-common' subdirs in AVP (arm720t), CPU (armv7), and shared (arch/arm/cpu/.) areas. Any files that are left behind in '/tegra20' will be copied to '/tegra30' subdirs and modified for that SoC. The 'common' files should need only minor changes.

Include files (arch/arm/include/asm/arch-tegra/tegra20) will be done in a follow-on patch.

Builds fine w/MAKEALL -s tegra20. Checkpatch.pl is clean.

This looks great! I will rebase the LCD patches on top of it.

Regards,
Simon

#6 lore raw

PATCH 1/2 Tegra20: Move some code files to common directories for upcoming Tegra30 patches.

In reply to Tom Warren
Quoted 11 lines · Tom Warren

Move files that are going to be common between T20 and T30 into 'tegra-common' subdirs in AVP (arm720t), CPU (armv7), and shared (arch/arm/cpu/.) areas. Any files that are left behind in '/tegra20' will be copied to '/tegra30' subdirs and modified for that SoC. The 'common' files should need only minor changes.

Include files (arch/arm/include/asm/arch-tegra/tegra20) will be done in a follow-on patch.

Builds fine w/MAKEALL -s tegra20. Checkpatch.pl is clean.

Thanks!

Signature · 2 lines
Regards,
Igor.
author
#7 lore raw

PATCH 2/2 Tegra20: Move some include files to arch-tegra for sharing with Tegra30

In reply to Tom Warren

The move is pretty straight-forward. ap20.h and tegra20.h were renamed to ap.h and tegra.h. Some files remain in arch-tegra20 but 'include' a file in 'arch-tegra' with #defines & structs that will be common between T20 and T30 HW. HW-specific #defines, etc. stay in the 'arch-tegra20' 'root' file.

All boards build OK w/MAKEALL -s tegra20. Checkpatch.pl runs clean. Seaboard works OK.

---
 arch/arm/cpu/arm720t/tegra-common/spl.c            |   12 +-
 arch/arm/cpu/arm720t/tegra20/cpu.c                 |   10 +-
 arch/arm/cpu/armv7/tegra-common/cmd_enterrcm.c     |    4 +-
 arch/arm/cpu/armv7/tegra20/usb.c                   |    8 +-
 arch/arm/cpu/tegra-common/ap.c                     |   12 +-
 arch/arm/cpu/tegra-common/board.c                  |    8 +-
 arch/arm/cpu/tegra-common/timer.c                  |    4 +-
 arch/arm/cpu/tegra20-common/clock.c                |    8 +-
 arch/arm/cpu/tegra20-common/emc.c                  |    4 +-
 arch/arm/cpu/tegra20-common/pinmux.c               |    4 +-
 arch/arm/cpu/tegra20-common/pmu.c                  |    8 +-
 arch/arm/cpu/tegra20-common/warmboot.c             |   18 +-
 arch/arm/cpu/tegra20-common/warmboot_avp.c         |   12 +-
 .../asm/{arch-tegra20/ap20.h => arch-tegra/ap.h}   |    0
 .../asm/{arch-tegra20 => arch-tegra}/board.h       |    0
 .../asm/{arch-tegra20 => arch-tegra}/clk_rst.h     |    0
 .../asm/{arch-tegra20 => arch-tegra}/clock.h       |  160 +--------
 .../asm/{arch-tegra20 => arch-tegra}/fuse.h        |    0
 .../asm/{arch-tegra20/mmc.h => arch-tegra/gpio.h}  |   21 +-
 .../include/asm/{arch-tegra20 => arch-tegra}/mmc.h |    0
 .../include/asm/{arch-tegra20 => arch-tegra}/pmc.h |    0
 .../include/asm/{arch-tegra20 => arch-tegra}/scu.h |    0
 .../asm/{arch-tegra20 => arch-tegra}/sys_proto.h   |    0
 .../{arch-tegra20/tegra20.h => arch-tegra/tegra.h} |   14 +-
 .../asm/{arch-tegra20 => arch-tegra}/tegra_i2c.h   |    4 +-
 .../asm/{arch-tegra20 => arch-tegra}/tegra_mmc.h   |    0
 .../asm/{arch-tegra20 => arch-tegra}/tegra_spi.h   |    0
 .../asm/{arch-tegra20 => arch-tegra}/timer.h       |    0
 .../asm/{arch-tegra20 => arch-tegra}/uart.h        |    0
 .../asm/{arch-tegra20 => arch-tegra}/warmboot.h    |    0
 arch/arm/include/asm/arch-tegra20/clock-tables.h   |  183 +++++++++
 arch/arm/include/asm/arch-tegra20/clock.h          |  388 +-------------------
 arch/arm/include/asm/arch-tegra20/gpio.h           |   22 +-
 .../asm/arch-tegra20/{sys_proto.h => tegra.h}      |   17 +-
 board/avionic-design/common/tamonten.c             |   13 +-
 board/compal/paz00/paz00.c                         |    4 +-
 board/compulab/trimslice/trimslice.c               |    6 +-
 board/nvidia/common/board.c                        |   17 +-
 board/nvidia/common/emc.c                          |    8 +-
 board/nvidia/common/uart-spi-switch.c              |    4 +-
 board/nvidia/harmony/harmony.c                     |    4 +-
 board/nvidia/seaboard/seaboard.c                   |    4 +-
 board/nvidia/whistler/whistler.c                   |    6 +-
 drivers/gpio/tegra_gpio.c                          |    2 +-
 drivers/i2c/tegra_i2c.c                            |    4 +-
 drivers/input/tegra-kbc.c                          |    2 +-
 drivers/mmc/tegra_mmc.c                            |    6 +-
 drivers/mtd/nand/tegra_nand.c                      |    5 +-
 drivers/spi/tegra_spi.c                            |    7 +-
 include/configs/tegra20-common.h                   |    2 +-
 50 files changed, 330 insertions(+), 685 deletions(-)
 rename arch/arm/include/asm/{arch-tegra20/ap20.h => arch-tegra/ap.h} (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/board.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/clk_rst.h (100%)
 copy arch/arm/include/asm/{arch-tegra20 => arch-tegra}/clock.h (72%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/fuse.h (100%)
 copy arch/arm/include/asm/{arch-tegra20/mmc.h => arch-tegra/gpio.h} (65%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/mmc.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/pmc.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/scu.h (100%)
 copy arch/arm/include/asm/{arch-tegra20 => arch-tegra}/sys_proto.h (100%)
 rename arch/arm/include/asm/{arch-tegra20/tegra20.h => arch-tegra/tegra.h} (90%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/tegra_i2c.h (98%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/tegra_mmc.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/tegra_spi.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/timer.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/uart.h (100%)
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/warmboot.h (100%)
 create mode 100644 arch/arm/include/asm/arch-tegra20/clock-tables.h
 rename arch/arm/include/asm/arch-tegra20/{sys_proto.h => tegra.h} (76%)
arch/arm/cpu/arm720t/tegra-common/spl.c +5 -7
index 6c16dce..3139c65 100644
@@ -25,8 +25,6 @@
 #include <common.h>
 #include <asm/u-boot.h>
 #include <asm/utils.h>
-#include <asm/arch/sys_proto.h>
-#include <asm/arch/clock.h>
 #include <nand.h>
 #include <mmc.h>
 #include <fat.h>
@@ -39,13 +37,13 @@
 #include "cpu.h"
 
 #include <asm/io.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
-#include <asm/arch/pmc.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/scu.h>
-#include <common.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/pmc.h>
+#include <asm/arch-tegra/scu.h>
+#include <asm/arch-tegra/sys_proto.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
arch/arm/cpu/arm720t/tegra20/cpu.c +5 -5
index 8b72938..ef7f375 100644
@@ -21,14 +21,14 @@
 * MA 02111-1307 USA
 */
 
+#include <common.h>
 #include <asm/io.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
-#include <asm/arch/pmc.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/scu.h>
-#include <common.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/pmc.h>
+#include <asm/arch-tegra/scu.h>
 #include "../tegra-common/cpu.h"
 
 /* Returns 1 if the current CPU executing is a Cortex-A9, else 0 */
arch/arm/cpu/armv7/tegra-common/cmd_enterrcm.c +2 -2
index 925f841..f74ddcb 100644
@@ -40,8 +40,8 @@
  */
 
 #include <common.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/pmc.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/pmc.h>
 
 static int do_enterrcm(cmd_tbl_t *cmdtp, int flag, int argc,
 		       char * const argv[])
arch/arm/cpu/armv7/tegra20/usb.c +4 -4
index cac0918..bcbf92f 100644
@@ -24,14 +24,14 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm-generic/gpio.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/gpio.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/sys_proto.h>
-#include <asm/arch/uart.h>
+#include <asm/arch/tegra.h>
 #include <asm/arch/usb.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/sys_proto.h>
+#include <asm/arch-tegra/uart.h>
 #include <libfdt.h>
 #include <fdtdec.h>
 
arch/arm/cpu/tegra-common/ap.c +6 -6
index c0ca6eb..c4eb137 100644
@@ -20,14 +20,14 @@
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 * MA 02111-1307 USA
 */
+#include <common.h>
 #include <asm/io.h>
-#include <asm/arch/ap20.h>
-#include <asm/arch/fuse.h>
 #include <asm/arch/gp_padctrl.h>
-#include <asm/arch/pmc.h>
-#include <asm/arch/scu.h>
-#include <asm/arch/warmboot.h>
-#include <common.h>
+#include <asm/arch-tegra/ap.h>
+#include <asm/arch-tegra/fuse.h>
+#include <asm/arch-tegra/pmc.h>
+#include <asm/arch-tegra/scu.h>
+#include <asm/arch-tegra/warmboot.h>
 
 int tegra_get_chip_type(void)
 {
arch/arm/cpu/tegra-common/board.c +4 -4
index 8a8d338..ff90a52 100644
@@ -25,10 +25,10 @@
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.h>
-#include <asm/arch/pmc.h>
-#include <asm/arch/sys_proto.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/warmboot.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/pmc.h>
+#include <asm/arch-tegra/sys_proto.h>
+#include <asm/arch-tegra/warmboot.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
arch/arm/cpu/tegra-common/timer.c +2 -2
index 562e414..034ea5a 100644
@@ -37,8 +37,8 @@
 
 #include <common.h>
 #include <asm/io.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/timer.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/timer.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
arch/arm/cpu/tegra20-common/clock.c +4 -4
index 2403874..bca777e 100644
@@ -21,12 +21,12 @@
 
 /* Tegra20 Clock control functions */
 
+#include <common.h>
 #include <asm/io.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
-#include <asm/arch/timer.h>
-#include <asm/arch/tegra20.h>
-#include <common.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/timer.h>
 #include <div64.h>
 #include <fdtdec.h>
 
arch/arm/cpu/tegra20-common/emc.c +2 -2
index ffc05e4..97420d7 100644
@@ -23,11 +23,11 @@
 #include <common.h>
 #include <fdtdec.h>
 #include <asm/io.h>
-#include <asm/arch/ap20.h>
+#include <asm/arch-tegra/ap.h>
 #include <asm/arch/apb_misc.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/emc.h>
-#include <asm/arch/tegra20.h>
+#include <asm/arch/tegra.h>
 
 /*
  * The EMC registers have shadow registers.  When the EMC clock is updated
arch/arm/cpu/tegra20-common/pinmux.c +2 -2
index 70e84df..08b8305 100644
@@ -21,10 +21,10 @@
 
 /* Tegra20 pin multiplexing functions */
 
+#include <common.h>
 #include <asm/io.h>
-#include <asm/arch/tegra20.h>
+#include <asm/arch/tegra.h>
 #include <asm/arch/pinmux.h>
-#include <common.h>
 
 
 /*
arch/arm/cpu/tegra20-common/pmu.c +4 -4
index 53505e9..2282953 100644
@@ -24,10 +24,10 @@
 #include <common.h>
 #include <tps6586x.h>
 #include <asm/io.h>
-#include <asm/arch/ap20.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/tegra_i2c.h>
-#include <asm/arch/sys_proto.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/ap.h>
+#include <asm/arch-tegra/tegra_i2c.h>
+#include <asm/arch-tegra/sys_proto.h>
 
 #define VDD_CORE_NOMINAL_T25	0x17	/* 1.3v */
 #define VDD_CPU_NOMINAL_T25	0x10	/* 1.125v */
arch/arm/cpu/tegra20-common/warmboot.c +9 -9
index 6ce995e..157b9ab 100644
@@ -24,17 +24,17 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm/errno.h>
-#include <asm/arch/ap20.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
-#include <asm/arch/pmc.h>
-#include <asm/arch/pinmux.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/fuse.h>
 #include <asm/arch/emc.h>
 #include <asm/arch/gp_padctrl.h>
-#include <asm/arch/warmboot.h>
+#include <asm/arch/pinmux.h>
 #include <asm/arch/sdram_param.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/ap.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/pmc.h>
+#include <asm/arch-tegra/fuse.h>
+#include <asm/arch-tegra/warmboot.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -361,8 +361,8 @@ int warmboot_prepare_code(u32 seg_address, u32 seg_length)
 	/* Populate the header. */
 	dst_header->length_insecure = length + sizeof(struct wb_header);
 	dst_header->length_secure = length + sizeof(struct wb_header);
-	dst_header->destination = AP20_WB_RUN_ADDRESS;
-	dst_header->entry_point = AP20_WB_RUN_ADDRESS;
+	dst_header->destination = NV_WB_RUN_ADDRESS;
+	dst_header->entry_point = NV_WB_RUN_ADDRESS;
 	dst_header->code_length = length;
 
 	if (is_encrypted) {
arch/arm/cpu/tegra20-common/warmboot_avp.c +6 -6
index 80a5a15..bc6281d 100644
@@ -23,14 +23,14 @@
 
 #include <common.h>
 #include <asm/io.h>
-#include <asm/arch/ap20.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/flow.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/pmc.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/warmboot.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/ap.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/pmc.h>
+#include <asm/arch-tegra/warmboot.h>
 #include "warmboot_avp.h"
 
 #define DEBUG_RESET_CORESIGHT
@@ -58,7 +58,7 @@ void wb_start(void)
 					/* no input, no clobber list */
 	);
 
-	if (reg != AP20_WB_RUN_ADDRESS)
+	if (reg != NV_WB_RUN_ADDRESS)
 		goto do_reset;
 
 	/* Are we running with AVP? */
arch/arm/include/asm/arch-tegra/ap.h renamed from arch/arm/include/asm/arch-tegra20/ap20.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/ap20.h
rename to arch/arm/include/asm/arch-tegra/ap.h
arch/arm/include/asm/arch-tegra/board.h renamed from arch/arm/include/asm/arch-tegra20/board.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/board.h
rename to arch/arm/include/asm/arch-tegra/board.h
arch/arm/include/asm/arch-tegra/clk_rst.h renamed from arch/arm/include/asm/arch-tegra20/clk_rst.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/clk_rst.h
rename to arch/arm/include/asm/arch-tegra/clk_rst.h
arch/arm/include/asm/arch-tegra/clock.h renamed from arch/arm/include/asm/arch-tegra20/clock.h +3 -157

175 lines not on this page · raw message

arch/arm/include/asm/arch-tegra/fuse.h renamed from arch/arm/include/asm/arch-tegra20/fuse.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/fuse.h
rename to arch/arm/include/asm/arch-tegra/fuse.h
arch/arm/include/asm/arch-tegra/gpio.h renamed from arch/arm/include/asm/arch-tegra20/mmc.h +17 -4
similarity index 65%
copy from arch/arm/include/asm/arch-tegra20/mmc.h
copy to arch/arm/include/asm/arch-tegra/gpio.h
index 5c95047..0a972d5 100644
@@ -19,9 +19,22 @@
  * MA 02111-1307 USA
  */
 
-#ifndef _TEGRA_MMC_H_
-#define _TEGRA_MMC_H_
+#ifndef _TEGRA_GPIO_H_
+#define _TEGRA_GPIO_H_
 
-int tegra_mmc_init(int dev_index, int bus_width, int pwr_gpio, int cd_gpio);
+#define MAX_NUM_GPIOS           (TEGRA_GPIO_PORTS * TEGRA_GPIO_BANKS * 8)
+#define GPIO_NAME_SIZE		20	/* gpio_request max label len */
 
-#endif /* _TEGRA_MMC_H_ */
+#define GPIO_BANK(x)		((x) >> 5)
+#define GPIO_PORT(x)		(((x) >> 3) & 0x3)
+#define GPIO_FULLPORT(x)	((x) >> 3)
+#define GPIO_BIT(x)		((x) & 0x7)
+
+/*
+ * Tegra-specific GPIO API
+ */
+
+void gpio_info(void);
+
+#define gpio_status()	gpio_info()
+#endif	/* TEGRA_GPIO_H_ */
arch/arm/include/asm/arch-tegra/mmc.h renamed from arch/arm/include/asm/arch-tegra20/mmc.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/mmc.h
rename to arch/arm/include/asm/arch-tegra/mmc.h
arch/arm/include/asm/arch-tegra/pmc.h renamed from arch/arm/include/asm/arch-tegra20/pmc.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/pmc.h
rename to arch/arm/include/asm/arch-tegra/pmc.h
arch/arm/include/asm/arch-tegra/scu.h renamed from arch/arm/include/asm/arch-tegra20/scu.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/scu.h
rename to arch/arm/include/asm/arch-tegra/scu.h
arch/arm/include/asm/arch-tegra/sys_proto.h renamed from arch/arm/include/asm/arch-tegra20/sys_proto.h +0 -0
similarity index 100%
copy from arch/arm/include/asm/arch-tegra20/sys_proto.h
copy to arch/arm/include/asm/arch-tegra/sys_proto.h
arch/arm/include/asm/arch-tegra/tegra.h renamed from arch/arm/include/asm/arch-tegra20/tegra20.h +6 -8
similarity index 90%
rename from arch/arm/include/asm/arch-tegra20/tegra20.h
rename to arch/arm/include/asm/arch-tegra/tegra.h
index c9485a1..6d2e62f 100644
@@ -21,10 +21,9 @@
  * MA 02111-1307 USA
  */
 
-#ifndef _TEGRA20_H_
-#define _TEGRA20_H_
+#ifndef _TEGRA_H_
+#define _TEGRA_H_
 
-#define NV_PA_SDRAM_BASE	0x00000000
 #define NV_PA_ARM_PERIPHBASE	0x50040000
 #define NV_PA_PG_UP_BASE	0x60000000
 #define NV_PA_TMRUS_BASE	0x60005010
@@ -41,11 +40,11 @@
 #define NV_PA_APB_UARTE_BASE	(NV_PA_APB_MISC_BASE + 0x6400)
 #define NV_PA_NAND_BASE		(NV_PA_APB_MISC_BASE + 0x8000)
 #define NV_PA_SPI_BASE		(NV_PA_APB_MISC_BASE + 0xC380)
+#define TEGRA_DVC_BASE		(NV_PA_APB_MISC_BASE + 0xD000)
 #define NV_PA_PMC_BASE		(NV_PA_APB_MISC_BASE + 0xE400)
+#define NV_PA_EMC_BASE		(NV_PA_APB_MISC_BASE + 0xF400)
 #define NV_PA_FUSE_BASE		(NV_PA_APB_MISC_BASE + 0xF800)
 #define NV_PA_CSITE_BASE	0x70040000
-#define TEGRA_USB1_BASE		0xC5000000
-#define TEGRA_USB3_BASE		0xC5008000
 #define TEGRA_USB_ADDR_MASK	0xFFFFC000
 
 #define NV_PA_SDRC_CS0		NV_PA_SDRAM_BASE
@@ -60,11 +59,10 @@ struct timerus {
 };
 
 /* Address at which WB code runs, it must not overlap Bootrom's IRAM usage */
-#define AP20_WB_RUN_ADDRESS	0x40020000
+#define NV_WB_RUN_ADDRESS	0x40020000
 
 #define NVBOOTINFOTABLE_BCTSIZE	0x38	/* BCT size in BIT in IRAM */
 #define NVBOOTINFOTABLE_BCTPTR	0x3C	/* BCT pointer in BIT in IRAM */
-#define BCT_ODMDATA_OFFSET	4068	/* 12 bytes from end of BCT */
 
 /* These are the available SKUs (product types) for Tegra */
 enum {
@@ -89,4 +87,4 @@ enum {
 #define PRM_RSTCTRL		NV_PA_PMC_BASE
 #endif
 
-#endif	/* TEGRA20_H */
+#endif	/* TEGRA_H */
arch/arm/include/asm/arch-tegra/tegra_i2c.h renamed from arch/arm/include/asm/arch-tegra20/tegra_i2c.h +2 -2
similarity index 98%
rename from arch/arm/include/asm/arch-tegra20/tegra_i2c.h
rename to arch/arm/include/asm/arch-tegra/tegra_i2c.h
index 6abfe4e..2650744 100644
@@ -1,5 +1,5 @@
 /*
- * NVIDIA Tegra20 I2C controller
+ * NVIDIA Tegra I2C controller
  *
  * Copyright 2010-2011 NVIDIA Corporation
  *
@@ -161,4 +161,4 @@ struct i2c_ctlr {
  */
 int tegra_i2c_get_dvc_bus_num(void);
 
-#endif
+#endif	/* _TEGRA_I2C_H_ */
arch/arm/include/asm/arch-tegra/tegra_mmc.h renamed from arch/arm/include/asm/arch-tegra20/tegra_mmc.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/tegra_mmc.h
rename to arch/arm/include/asm/arch-tegra/tegra_mmc.h
arch/arm/include/asm/arch-tegra/tegra_spi.h renamed from arch/arm/include/asm/arch-tegra20/tegra_spi.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/tegra_spi.h
rename to arch/arm/include/asm/arch-tegra/tegra_spi.h
arch/arm/include/asm/arch-tegra/timer.h renamed from arch/arm/include/asm/arch-tegra20/timer.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/timer.h
rename to arch/arm/include/asm/arch-tegra/timer.h
arch/arm/include/asm/arch-tegra/uart.h renamed from arch/arm/include/asm/arch-tegra20/uart.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/uart.h
rename to arch/arm/include/asm/arch-tegra/uart.h
arch/arm/include/asm/arch-tegra/warmboot.h renamed from arch/arm/include/asm/arch-tegra20/warmboot.h +0 -0
similarity index 100%
rename from arch/arm/include/asm/arch-tegra20/warmboot.h
rename to arch/arm/include/asm/arch-tegra/warmboot.h
arch/arm/include/asm/arch-tegra20/clock-tables.h new file +183 -0

183 lines not on this page · raw message

arch/arm/include/asm/arch-tegra20/clock.h +5 -383

394 lines not on this page · raw message

arch/arm/include/asm/arch-tegra20/gpio.h +5 -17
index 06be4c2..e2848fe 100644
@@ -20,8 +20,8 @@
  * MA 02111-1307 USA
  */
 
-#ifndef _TEGRA_GPIO_H_
-#define _TEGRA_GPIO_H_
+#ifndef _TEGRA20_GPIO_H_
+#define _TEGRA20_GPIO_H_
 
 /*
  * The Tegra 2x GPIO controller has 224 GPIOs arranged in 7 banks of 4 ports,
@@ -29,8 +29,8 @@
  */
 #define TEGRA_GPIO_PORTS	4	/* number of ports per bank */
 #define TEGRA_GPIO_BANKS	7	/* number of banks */
-#define MAX_NUM_GPIOS		(TEGRA_GPIO_PORTS * TEGRA_GPIO_BANKS * 8)
-#define GPIO_NAME_SIZE		20	/* gpio_request max label len */
+
+#include <asm/arch-tegra/gpio.h>
 
 /* GPIO Controller registers for a single bank */
 struct gpio_ctlr_bank {
@@ -48,11 +48,6 @@ struct gpio_ctlr {
 	struct gpio_ctlr_bank gpio_bank[TEGRA_GPIO_BANKS];
 };
 
-#define GPIO_BANK(x)		((x) >> 5)
-#define GPIO_PORT(x)		(((x) >> 3) & 0x3)
-#define GPIO_FULLPORT(x)	((x) >> 3)
-#define GPIO_BIT(x)		((x) & 0x7)
-
 enum gpio_pin {
 	GPIO_PA0 = 0,	/* pin 0 */
 	GPIO_PA1,
@@ -280,11 +275,4 @@ enum gpio_pin {
 	GPIO_PBB7,	/* pin 223 */
 };
 
-/*
- * Tegra20-specific GPIO API
- */
-
-void gpio_info(void);
-
-#define gpio_status()	gpio_info()
-#endif	/* TEGRA_GPIO_H_ */
+#endif	/* TEGRA20_GPIO_H_ */
arch/arm/include/asm/arch-tegra20/tegra.h renamed from arch/arm/include/asm/arch-tegra20/sys_proto.h +9 -8
similarity index 76%
rename from arch/arm/include/asm/arch-tegra20/sys_proto.h
rename to arch/arm/include/asm/arch-tegra20/tegra.h
index 919aec7..ca98733 100644
@@ -21,15 +21,16 @@
  * MA 02111-1307 USA
  */
 
-#ifndef _SYS_PROTO_H_
-#define _SYS_PROTO_H_
+#ifndef _TEGRA20_H_
+#define _TEGRA20_H_
 
-struct tegra_sysinfo {
-	char *board_string;
-};
+#define NV_PA_SDRAM_BASE	0x00000000
 
-void invalidate_dcache(void);
+#include <asm/arch-tegra/tegra.h>
 
-extern const struct tegra_sysinfo sysinfo;
+#define TEGRA_USB1_BASE		0xC5000000
+#define TEGRA_USB3_BASE		0xC5008000
 
-#endif
+#define BCT_ODMDATA_OFFSET	4068	/* 12 bytes from end of BCT */
+
+#endif	/* TEGRA20_H */
board/avionic-design/common/tamonten.c +6 -7
index 93f12ea..7c05d49 100644
@@ -27,16 +27,15 @@
 #include <ns16550.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
-#include <asm/arch/board.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/sys_proto.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/uart.h>
-#include <asm/arch/mmc.h>
-
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/board.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/mmc.h>
+#include <asm/arch-tegra/sys_proto.h>
+#include <asm/arch-tegra/uart.h>
 #ifdef CONFIG_TEGRA_MMC
 #include <mmc.h>
 #endif
board/compal/paz00/paz00.c +2 -2
index 0f8f167..c73ac5f 100644
@@ -16,9 +16,9 @@
 
 #include <common.h>
 #include <asm/io.h>
-#include <asm/arch/tegra20.h>
+#include <asm/arch/tegra.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/mmc.h>
+#include <asm/arch-tegra/mmc.h>
 #include <asm/gpio.h>
 #ifdef CONFIG_TEGRA_MMC
 #include <mmc.h>
board/compulab/trimslice/trimslice.c +3 -3
index 893cca8..7b22a87 100644
@@ -22,14 +22,14 @@
  */
 
 #include <common.h>
-#include <i2c.h>
 #include <asm/io.h>
-#include <asm/arch/tegra20.h>
+#include <asm/arch/tegra.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/mmc.h>
+#include <asm/arch-tegra/mmc.h>
 #include <asm/gpio.h>
+#include <i2c.h>
 #ifdef CONFIG_TEGRA_MMC
 #include <mmc.h>
 #endif
board/nvidia/common/board.c +8 -9
index afe832a..8821fdf 100644
@@ -25,20 +25,19 @@
 #include <ns16550.h>
 #include <linux/compiler.h>
 #include <asm/io.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/sys_proto.h>
-
-#include <asm/arch/board.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/emc.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/pmc.h>
 #include <asm/arch/pmu.h>
-#include <asm/arch/uart.h>
-#include <asm/arch/warmboot.h>
-#include <spi.h>
+#include <asm/arch/tegra.h>
 #include <asm/arch/usb.h>
+#include <asm/arch-tegra/board.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/pmc.h>
+#include <asm/arch-tegra/sys_proto.h>
+#include <asm/arch-tegra/uart.h>
+#include <asm/arch-tegra/warmboot.h>
+#include <spi.h>
 #include <i2c.h>
 #include "board.h"
 #include "emc.h"
board/nvidia/common/emc.c +4 -4
index 739d4bd..26b6ec7 100644
@@ -22,13 +22,13 @@
 
 #include <common.h>
 #include <asm/io.h>
-#include <asm/arch/ap20.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/emc.h>
 #include <asm/arch/pmu.h>
-#include <asm/arch/sys_proto.h>
-#include <asm/arch/tegra20.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/ap.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/sys_proto.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
board/nvidia/common/uart-spi-switch.c +2 -2
index 6b21758..a0aeb7f 100644
@@ -24,8 +24,8 @@
 #include <asm/gpio.h>
 #include <asm/arch/pinmux.h>
 #include <asm/arch/uart-spi-switch.h>
-#include <asm/arch/tegra20.h>
-#include <asm/arch/tegra_spi.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/tegra_spi.h>
 
 
 /* position of the UART/SPI select switch */
board/nvidia/harmony/harmony.c +2 -2
index b4a811d..c23a87d 100644
@@ -23,11 +23,11 @@
 
 #include <common.h>
 #include <asm/io.h>
-#include <asm/arch/tegra20.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/mmc.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/mmc.h>
 #include <asm/gpio.h>
 #ifdef CONFIG_TEGRA_MMC
 #include <mmc.h>
board/nvidia/seaboard/seaboard.c +2 -2
index 667f60a..ab90a5d 100644
@@ -23,11 +23,11 @@
 
 #include <common.h>
 #include <asm/io.h>
-#include <asm/arch/tegra20.h>
+#include <asm/arch/tegra.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/mmc.h>
+#include <asm/arch-tegra/mmc.h>
 #include <asm/gpio.h>
 #ifdef CONFIG_TEGRA_MMC
 #include <mmc.h>
board/nvidia/whistler/whistler.c +3 -3
index 598b2e5..af918c4 100644
@@ -22,14 +22,14 @@
  */
 
 #include <common.h>
-#include <i2c.h>
 #include <asm/io.h>
-#include <asm/arch/tegra20.h>
+#include <asm/arch/tegra.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/mmc.h>
+#include <asm/arch-tegra/mmc.h>
 #include <asm/gpio.h>
+#include <i2c.h>
 #ifdef CONFIG_TEGRA_MMC
 #include <mmc.h>
 #endif
drivers/gpio/tegra_gpio.c +1 -1
index 747f4cf..2417968 100644
@@ -30,7 +30,7 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm/bitops.h>
-#include <asm/arch/tegra20.h>
+#include <asm/arch/tegra.h>
 #include <asm/gpio.h>
 
 enum {
drivers/i2c/tegra_i2c.c +2 -2
index e3be14e..efc77fa 100644
@@ -26,12 +26,12 @@
 #include <fdtdec.h>
 #include <i2c.h>
 #include <asm/io.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.h>
 #include <asm/arch/gpio.h>
 #include <asm/arch/pinmux.h>
-#include <asm/arch/tegra_i2c.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/tegra_i2c.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
drivers/input/tegra-kbc.c +1 -1
index f164791..86434c0 100644
@@ -30,7 +30,7 @@
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.h>
-#include <asm/arch/timer.h>
+#include <asm/arch-tegra/timer.h>
 #include <linux/input.h>
 
 DECLARE_GLOBAL_DATA_PTR;
drivers/mmc/tegra_mmc.c +3 -3
index ca8fad8..8fea6a6 100644
@@ -20,12 +20,12 @@
  */
 
 #include <common.h>
-#include <mmc.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
-#include <asm/arch/tegra_mmc.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/tegra_mmc.h>
+#include <mmc.h>
 
 /* support 4 mmc hosts */
 struct mmc mmc_dev[4];
drivers/mtd/nand/tegra_nand.c +2 -3
index 8c1de34..2c1b533 100644
@@ -26,12 +26,11 @@
 #include <common.h>
 #include <asm/io.h>
 #include <nand.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.h>
-#include <asm/arch/gpio.h>
+#include <asm/arch-tegra/clk_rst.h>
 #include <asm/errno.h>
-#include <asm-generic/gpio.h>
+#include <asm/gpio.h>
 #include <fdtdec.h>
 #include "tegra_nand.h"
 
drivers/spi/tegra_spi.c +3 -4
index 18b00b2..9bb34e2 100644
@@ -23,16 +23,15 @@
  */
 
 #include <common.h>
-
 #include <malloc.h>
-#include <spi.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
-#include <asm/arch/clk_rst.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/pinmux.h>
 #include <asm/arch/uart-spi-switch.h>
-#include <asm/arch/tegra_spi.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/tegra_spi.h>
+#include <spi.h>
 
 #if defined(CONFIG_SPI_CORRUPTS_UART)
  #define corrupt_delay()	udelay(CONFIG_SPI_CORRUPTS_UART_DLY);
include/configs/tegra20-common.h +1 -1
index 098cdb4..fa14a1c 100644
@@ -43,7 +43,7 @@
 
 #define CONFIG_SYS_CACHELINE_SIZE	32
 
-#include <asm/arch/tegra20.h>		/* get chip and board defs */
+#include <asm/arch/tegra.h>		/* get chip and board defs */
 
 /*
  * Display CPU and Board information
Signature · 1 line
1.7.0.4
#8 lore raw

PATCH 2/2 Tegra20: Move some include files to arch-tegra for sharing with Tegra30

arch/arm/include/asm/arch-tegra20/clock.h

Quoted 6 lines · Tom Warren

The move is pretty straight-forward. ap20.h and tegra20.h were renamed to ap.h and tegra.h. Some files remain in arch-tegra20 but 'include' a file in 'arch-tegra' with #defines & structs that will be common between T20 and T30 HW. HW-specific #defines, etc. stay in the 'arch-tegra20' 'root' file.

arch/arm/include/asm/arch-tegra20/clock.h +0 -0

I think this file ends up essentially empty apart from just:

#include <asm/arch-tegra/clock.h>

Should files simply be modified to include that instead; it looks like that file includes <asm/arch/clock-tables.h> in order to pick up the differences between SoCs.

Aside from that, or perhaps even if you argue against making that change,

author
#9 lore raw

PATCH 2/2 Tegra20: Move some include files to arch-tegra for sharing with Tegra30

Stephen,

Quoted 10 lines · Stephen Warren

arch/arm/include/asm/arch-tegra20/clock.h

Quoted 6 lines · Tom Warren

The move is pretty straight-forward. ap20.h and tegra20.h were renamed to ap.h and tegra.h. Some files remain in arch-tegra20 but 'include' a file in 'arch-tegra' with #defines & structs that will be common between T20 and T30 HW. HW-specific #defines, etc. stay in the 'arch-tegra20' 'root' file.

arch/arm/include/asm/arch-tegra20/clock.h +0 -0

I think this file ends up essentially empty apart from just:

Quoted 5 lines

#include <asm/arch-tegra/clock.h>

Should files simply be modified to include that instead; it looks like that file includes <asm/arch/clock-tables.h> in order to pick up the differences between SoCs.

I did it that way to try to reduce the amount of changes necessary in Tegra code files (and drivers) - i.e. not have to change every <asm/arch/clock.h> to <asm/arch-tegra/clock.h>. This is essentially what we did in the Chrome U-Boot branch(es).

For some header files it was easier to just add the T30 structs/defines, because the HW was a super-set of the T20 version (clk_rst.h, for example).

Quoted 4 lines

Aside from that, or perhaps even if you argue against making that change,

Thanks,

Tom

#10 lore raw

PATCH 2/2 Tegra20: Move some include files to arch-tegra for sharing with Tegra30

In reply to Tom Warren
Quoted 8 lines · Tom Warren

The move is pretty straight-forward. ap20.h and tegra20.h were renamed to ap.h and tegra.h. Some files remain in arch-tegra20 but 'include' a file in 'arch-tegra' with #defines & structs that will be common between T20 and T30 HW. HW-specific #defines, etc. stay in the 'arch-tegra20' 'root' file.

All boards build OK w/MAKEALL -s tegra20. Checkpatch.pl runs clean. Seaboard works OK.

#11 lore raw

PATCH 2/2 Tegra20: Move some include files to arch-tegra for sharing with Tegra30

In reply to Tom Warren
Quoted 8 lines · Tom Warren

The move is pretty straight-forward. ap20.h and tegra20.h were renamed to ap.h and tegra.h. Some files remain in arch-tegra20 but 'include' a file in 'arch-tegra' with #defines & structs that will be common between T20 and T30 HW. HW-specific #defines, etc. stay in the 'arch-tegra20' 'root' file.

All boards build OK w/MAKEALL -s tegra20. Checkpatch.pl runs clean. Seaboard works OK.

Thanks!

Signature · 2 lines
Regards,
Igor.