ARMV7: Add basic support for TI OMAP4
This patch adds minimum support for OMAP4. Code which can be shared between OMAP3 and OMAP4 is placed in arch/arm/cpu/armv7/omap-common Signed-off-by: Aneesh V <aneesh@ti.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
This commit is contained in:
parent
f56348af5d
commit
d34efc767d
7
Makefile
7
Makefile
@ -245,6 +245,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)
|
||||
|
||||
|
46
arch/arm/cpu/armv7/omap-common/Makefile
Normal file
46
arch/arm/cpu/armv7/omap-common/Makefile
Normal file
@ -0,0 +1,46 @@
|
||||
#
|
||||
# (C) Copyright 2000-2003
|
||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
#
|
||||
# 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
|
||||
#
|
||||
|
||||
include $(TOPDIR)/config.mk
|
||||
|
||||
LIB = $(obj)libomap-common.a
|
||||
|
||||
SOBJS := reset.o
|
||||
COBJS := timer.o
|
||||
|
||||
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
||||
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
|
||||
|
||||
all: $(obj).depend $(LIB)
|
||||
|
||||
$(LIB): $(OBJS)
|
||||
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||
|
||||
#########################################################################
|
||||
|
||||
# defines $(obj).depend target
|
||||
include $(SRCTREE)/rules.mk
|
||||
|
||||
sinclude $(obj).depend
|
||||
|
||||
#########################################################################
|
33
arch/arm/cpu/armv7/omap-common/config.mk
Normal file
33
arch/arm/cpu/armv7/omap-common/config.mk
Normal file
@ -0,0 +1,33 @@
|
||||
#
|
||||
# (C) Copyright 2002
|
||||
# Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
|
||||
#
|
||||
# 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,))
|
@ -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);
|
||||
|
@ -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
|
||||
|
48
arch/arm/cpu/armv7/omap4/Makefile
Normal file
48
arch/arm/cpu/armv7/omap4/Makefile
Normal file
@ -0,0 +1,48 @@
|
||||
#
|
||||
# (C) Copyright 2000-2010
|
||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
#
|
||||
# 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
|
||||
#
|
||||
|
||||
include $(TOPDIR)/config.mk
|
||||
|
||||
LIB = $(obj)lib$(SOC).a
|
||||
|
||||
SOBJS += lowlevel_init.o
|
||||
|
||||
COBJS += board.o
|
||||
COBJS += sys_info.o
|
||||
|
||||
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
||||
OBJS := $(addprefix $(obj),$(COBJS) $(SOBJS))
|
||||
|
||||
all: $(obj).depend $(LIB)
|
||||
|
||||
$(LIB): $(OBJS)
|
||||
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||
|
||||
#########################################################################
|
||||
|
||||
# defines $(obj).depend target
|
||||
include $(SRCTREE)/rules.mk
|
||||
|
||||
sinclude $(obj).depend
|
||||
|
||||
#########################################################################
|
90
arch/arm/cpu/armv7/omap4/board.c
Normal file
90
arch/arm/cpu/armv7/omap4/board.c
Normal file
@ -0,0 +1,90 @@
|
||||
/*
|
||||
*
|
||||
* Common functions for OMAP4 based boards
|
||||
*
|
||||
* (C) Copyright 2010
|
||||
* Texas Instruments, <www.ti.com>
|
||||
*
|
||||
* Author :
|
||||
* Aneesh V <aneesh@ti.com>
|
||||
* Steve Sakoman <steve@sakoman.com>
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
#include <common.h>
|
||||
#include <asm/arch/cpu.h>
|
||||
#include <asm/arch/sys_proto.h>
|
||||
|
||||
/*
|
||||
* Routine: s_init
|
||||
* Description: Does early system init of muxing and clocks.
|
||||
* - Called path is with SRAM stack.
|
||||
*/
|
||||
void s_init(void)
|
||||
{
|
||||
watchdog_init();
|
||||
}
|
||||
|
||||
/*
|
||||
* Routine: wait_for_command_complete
|
||||
* Description: Wait for posting to finish on watchdog
|
||||
*/
|
||||
void wait_for_command_complete(struct watchdog *wd_base)
|
||||
{
|
||||
int pending = 1;
|
||||
do {
|
||||
pending = readl(&wd_base->wwps);
|
||||
} while (pending);
|
||||
}
|
||||
|
||||
/*
|
||||
* Routine: watchdog_init
|
||||
* Description: Shut down watch dogs
|
||||
*/
|
||||
void watchdog_init(void)
|
||||
{
|
||||
struct watchdog *wd2_base = (struct watchdog *)WDT2_BASE;
|
||||
|
||||
writel(WD_UNLOCK1, &wd2_base->wspr);
|
||||
wait_for_command_complete(wd2_base);
|
||||
writel(WD_UNLOCK2, &wd2_base->wspr);
|
||||
}
|
||||
|
||||
/*
|
||||
* Routine: dram_init
|
||||
* Description: sets uboots idea of sdram size
|
||||
*/
|
||||
int dram_init(void)
|
||||
{
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
gd->bd->bi_dram[0].start = 0x80000000;
|
||||
gd->bd->bi_dram[0].size = 512 << 20;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Print board information
|
||||
*/
|
||||
int checkboard(void)
|
||||
{
|
||||
puts(sysinfo.board_string);
|
||||
return 0;
|
||||
}
|
||||
|
48
arch/arm/cpu/armv7/omap4/lowlevel_init.S
Normal file
48
arch/arm/cpu/armv7/omap4/lowlevel_init.S
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Board specific setup info
|
||||
*
|
||||
* (C) Copyright 2010
|
||||
* Texas Instruments, <www.ti.com>
|
||||
*
|
||||
* Author :
|
||||
* Aneesh V <aneesh@ti.com>
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#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}
|
||||
|
54
arch/arm/cpu/armv7/omap4/sys_info.c
Normal file
54
arch/arm/cpu/armv7/omap4/sys_info.c
Normal file
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* (C) Copyright 2010
|
||||
* Texas Instruments, <www.ti.com>
|
||||
*
|
||||
* Author :
|
||||
* Aneesh V <aneesh@ti.com>
|
||||
* Steve Sakoman <steve@sakoman.com>
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/arch/sys_proto.h>
|
||||
|
||||
/*
|
||||
* get_device_type(): tell if GP/HS/EMU/TST
|
||||
*/
|
||||
u32 get_device_type(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* get_board_rev() - get board revision
|
||||
*/
|
||||
u32 get_board_rev(void)
|
||||
{
|
||||
return 0x20;
|
||||
}
|
||||
|
||||
/*
|
||||
* Print CPU information
|
||||
*/
|
||||
int print_cpuinfo(void)
|
||||
{
|
||||
|
||||
puts("CPU : OMAP4430\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
94
arch/arm/include/asm/arch-omap4/cpu.h
Normal file
94
arch/arm/include/asm/arch-omap4/cpu.h
Normal file
@ -0,0 +1,94 @@
|
||||
/*
|
||||
* (C) Copyright 2006-2010
|
||||
* Texas Instruments, <www.ti.com>
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _CPU_H
|
||||
#define _CPU_H
|
||||
|
||||
#if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__))
|
||||
#include <asm/types.h>
|
||||
#endif /* !(__KERNEL_STRICT_NAMES || __ASSEMBLY__) */
|
||||
|
||||
#ifndef __KERNEL_STRICT_NAMES
|
||||
#ifndef __ASSEMBLY__
|
||||
struct gptimer {
|
||||
u32 tidr; /* 0x00 r */
|
||||
u8 res[0xc];
|
||||
u32 tiocp_cfg; /* 0x10 rw */
|
||||
u32 tistat; /* 0x14 r */
|
||||
u32 tisr; /* 0x18 rw */
|
||||
u32 tier; /* 0x1c rw */
|
||||
u32 twer; /* 0x20 rw */
|
||||
u32 tclr; /* 0x24 rw */
|
||||
u32 tcrr; /* 0x28 rw */
|
||||
u32 tldr; /* 0x2c rw */
|
||||
u32 ttgr; /* 0x30 rw */
|
||||
u32 twpc; /* 0x34 r */
|
||||
u32 tmar; /* 0x38 rw */
|
||||
u32 tcar1; /* 0x3c r */
|
||||
u32 tcicr; /* 0x40 rw */
|
||||
u32 tcar2; /* 0x44 r */
|
||||
};
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* __KERNEL_STRICT_NAMES */
|
||||
|
||||
/* enable sys_clk NO-prescale /1 */
|
||||
#define GPT_EN ((0x0 << 2) | (0x1 << 1) | (0x1 << 0))
|
||||
|
||||
/* Watchdog */
|
||||
#ifndef __KERNEL_STRICT_NAMES
|
||||
#ifndef __ASSEMBLY__
|
||||
struct watchdog {
|
||||
u8 res1[0x34];
|
||||
u32 wwps; /* 0x34 r */
|
||||
u8 res2[0x10];
|
||||
u32 wspr; /* 0x48 rw */
|
||||
};
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* __KERNEL_STRICT_NAMES */
|
||||
|
||||
#define WD_UNLOCK1 0xAAAA
|
||||
#define WD_UNLOCK2 0x5555
|
||||
|
||||
#define SYSCLKDIV_1 (0x1 << 6)
|
||||
#define SYSCLKDIV_2 (0x1 << 7)
|
||||
|
||||
#define CLKSEL_GPT1 (0x1 << 0)
|
||||
|
||||
#define EN_GPT1 (0x1 << 0)
|
||||
#define EN_32KSYNC (0x1 << 2)
|
||||
|
||||
#define ST_WDT2 (0x1 << 5)
|
||||
|
||||
#define RESETDONE (0x1 << 0)
|
||||
|
||||
#define TCLR_ST (0x1 << 0)
|
||||
#define TCLR_AR (0x1 << 1)
|
||||
#define TCLR_PRE (0x1 << 5)
|
||||
|
||||
/* I2C base */
|
||||
#define I2C_BASE1 (OMAP44XX_L4_PER_BASE + 0x70000)
|
||||
#define I2C_BASE2 (OMAP44XX_L4_PER_BASE + 0x72000)
|
||||
#define I2C_BASE3 (OMAP44XX_L4_PER_BASE + 0x60000)
|
||||
|
||||
#endif /* _CPU_H */
|
118
arch/arm/include/asm/arch-omap4/omap4.h
Normal file
118
arch/arm/include/asm/arch-omap4/omap4.h
Normal file
@ -0,0 +1,118 @@
|
||||
/*
|
||||
* (C) Copyright 2010
|
||||
* Texas Instruments, <www.ti.com>
|
||||
*
|
||||
* Authors:
|
||||
* Aneesh V <aneesh@ti.com>
|
||||
*
|
||||
* Derived from OMAP3 work by
|
||||
* Richard Woodruff <r-woodruff2@ti.com>
|
||||
* Syed Mohammed Khasim <x0khasim@ti.com>
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef _OMAP4_H_
|
||||
#define _OMAP4_H_
|
||||
|
||||
#if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__))
|
||||
#include <asm/types.h>
|
||||
#endif /* !(__KERNEL_STRICT_NAMES || __ASSEMBLY__) */
|
||||
|
||||
/*
|
||||
* L4 Peripherals - L4 Wakeup and L4 Core now
|
||||
*/
|
||||
#define OMAP44XX_L4_CORE_BASE 0x4A000000
|
||||
#define OMAP44XX_L4_WKUP_BASE 0x4A300000
|
||||
#define OMAP44XX_L4_PER_BASE 0x48000000
|
||||
|
||||
/* CONTROL */
|
||||
#define CTRL_BASE (OMAP44XX_L4_CORE_BASE + 0x2000)
|
||||
|
||||
/* UART */
|
||||
#define UART1_BASE (OMAP44XX_L4_PER_BASE + 0x6a000)
|
||||
#define UART2_BASE (OMAP44XX_L4_PER_BASE + 0x6c000)
|
||||
#define UART3_BASE (OMAP44XX_L4_PER_BASE + 0x20000)
|
||||
|
||||
/* General Purpose Timers */
|
||||
#define GPT1_BASE (OMAP44XX_L4_WKUP_BASE + 0x18000)
|
||||
#define GPT2_BASE (OMAP44XX_L4_PER_BASE + 0x32000)
|
||||
#define GPT3_BASE (OMAP44XX_L4_PER_BASE + 0x34000)
|
||||
|
||||
/* Watchdog Timer2 - MPU watchdog */
|
||||
#define WDT2_BASE (OMAP44XX_L4_WKUP_BASE + 0x14000)
|
||||
|
||||
/* 32KTIMER */
|
||||
#define SYNC_32KTIMER_BASE (OMAP44XX_L4_WKUP_BASE + 0x4000)
|
||||
|
||||
/* GPMC */
|
||||
#define GPMC_BASE 0x50000000
|
||||
|
||||
/*
|
||||
* Hardware Register Details
|
||||
*/
|
||||
|
||||
/* Watchdog Timer */
|
||||
#define WD_UNLOCK1 0xAAAA
|
||||
#define WD_UNLOCK2 0x5555
|
||||
|
||||
/* GP Timer */
|
||||
#define TCLR_ST (0x1 << 0)
|
||||
#define TCLR_AR (0x1 << 1)
|
||||
#define TCLR_PRE (0x1 << 5)
|
||||
|
||||
/*
|
||||
* PRCM
|
||||
*/
|
||||
|
||||
/* PRM */
|
||||
#define PRM_BASE 0x4A306000
|
||||
#define PRM_DEVICE_BASE (PRM_BASE + 0x1B00)
|
||||
|
||||
#define PRM_RSTCTRL PRM_DEVICE_BASE
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
struct s32ktimer {
|
||||
unsigned char res[0x10];
|
||||
unsigned int s32k_cr; /* 0x10 */
|
||||
};
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/*
|
||||
* Non-secure SRAM Addresses
|
||||
* Non-secure RAM starts at 0x40300000 for GP devices. But we keep SRAM_BASE
|
||||
* at 0x40304000(EMU base) so that our code works for both EMU and GP
|
||||
*/
|
||||
#define NON_SECURE_SRAM_START 0x40304000
|
||||
#define NON_SECURE_SRAM_END 0x4030E000 /* Not inclusive */
|
||||
/* base address for indirect vectors (internal boot mode) */
|
||||
#define SRAM_ROM_VECT_BASE 0x4030D000
|
||||
/* Temporary SRAM stack used while low level init is done */
|
||||
#define LOW_LEVEL_SRAM_STACK NON_SECURE_SRAM_END
|
||||
|
||||
/*
|
||||
* OMAP4 real hardware:
|
||||
* TODO: Change this to the IDCODE in the hw regsiter
|
||||
*/
|
||||
#define CPU_OMAP4430_ES10 1
|
||||
#define CPU_OMAP4430_ES20 2
|
||||
|
||||
#endif
|
37
arch/arm/include/asm/arch-omap4/sys_proto.h
Normal file
37
arch/arm/include/asm/arch-omap4/sys_proto.h
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* (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
|
||||
* 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
|
||||
*/
|
||||
|
||||
#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;
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user