[U-Boot-Users] [Patch 13/17 Try 2] U-Boot-V2:ARM:OMAP3: Add generic Headers
Menon, Nishanth
x0nishan at ti.com
Wed Jun 4 07:07:18 CEST 2008
Sascha,
> -----Original Message-----
> From: Sascha Hauer [mailto:s.hauer at pengutronix.de]
> Sent: Tuesday, June 03, 2008 3:27 AM
> To: Menon, Nishanth
> Cc: u-boot-users at lists.sourceforge.net; Laurent Desnogues; dirk.behme at googlemail.com;
> philip.balister at gmail.com; Gopinath, Thara; Kamat, Nishant; Syed Mohammed, Khasim
> Subject: Re: [Patch 13/17] U-Boot-V2:ARM:OMAP3: Add generic Headers
>
> > Index: u-boot-v2.git/include/asm-arm/arch-omap/bits.h
> > ===================================================================
> > +#define BIT30 (1<<30)
> > +#define BIT31 (1<<31)
>
> Please don't do this. It does not really make the code shorter and every
> programmer understands hwat 1<<0 means + he does not have to search
> through header files for the definition of BIT0.
Try 2 of the patch with bits.h removed and related cleanups.
Signed-off-by: Nishanth Menon<x0nishan at ti.com>
---
include/asm-arm/arch-omap/control.h | 98 ++++++++++++++++++++++
include/asm-arm/arch-omap/gpmc.h | 105 ++++++++++++++++++++++++
include/asm-arm/arch-omap/intc.h | 58 +++++++++++++
include/asm-arm/arch-omap/omap3-silicon.h | 130 ++++++++++++++++++++++++++++++
include/asm-arm/arch-omap/omap3-smx.h | 69 +++++++++++++++
include/asm-arm/arch-omap/sdrc.h | 97 ++++++++++++++++++++++
include/asm-arm/arch-omap/silicon.h | 36 ++++++++
include/asm-arm/arch-omap/sys_info.h | 97 ++++++++++++++++++++++
include/asm-arm/arch-omap/syslib.h | 43 +++++++++
include/asm-arm/arch-omap/timers.h | 60 +++++++++++++
include/asm-arm/arch-omap/wdt.h | 49 +++++++++++
11 files changed, 842 insertions(+)
Index: u-boot.v2/include/asm-arm/arch-omap/control.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot.v2/include/asm-arm/arch-omap/control.h 2008-06-03 21:20:09.000000000 -0500
@@ -0,0 +1,98 @@
+/**
+ * @file
+ * @brief This file contains the Control register defines
+ *
+ * FileName: include/asm-arm/arch-omap/control.h
+ *
+ * Originally from Linux kernel:
+ * http://linux.omap.com/pub/kernel/3430zoom/linux-ldp-v1.0b.tar.gz
+ * include/asm-arm/arch-omap/omap34xx.h
+ */
+/*
+ * (C) Copyright 2008
+ * Texas Instruments, <www.ti.com>
+ * Nishanth Menon <x0nishan at ti.com>
+ *
+ * Copyright (C) 2007 Texas Instruments, <www.ti.com>
+ * Copyright (C) 2007 Nokia Corporation.
+ *
+ * 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 __ASM_ARCH_OMAP_CONTROL_H
+#define __ASM_ARCH_OMAP_CONTROL_H
+
+/**
+ * Control register defintion which unwraps to the real register
+ * offset + base address
+ */
+#define CONTROL_REG(REGNAME) (OMAP_CTRL_BASE + CONTROL_##REGNAME)
+
+#define CONTROL_SCALABLE_OMAP_STATUS (0x44C)
+#define CONTROL_SCALABLE_OMAP_OCP (0x534)
+#define CONTROL_SCRATCHPAD_BASE (0x910)
+#define CONTROL_SCRATCHPAD_ROM_BASE (0x860)
+#define CONTROL_STATUS (0x2f0)
+#define CONTROL_SYSCONFIG (0x010)
+#define CONTROL_DEVCONF0 (0x274)
+#define CONTROL_DEVCONF1 (0x2D8)
+#define CONTROL_IVA2_BOOTMOD (0x404)
+#define CONTROL_IVA2_BOOTADDR (0x400)
+#define CONTROL_PBIAS_1 (0x520)
+#define CONTROL_GENERAL_PURPOSE_STATUS (0x2F4)
+#define CONTROL_MEM_DFTRW0 (0x278)
+#define CONTROL_MEM_DFTRW1 (0x27C)
+#define CONTROL_MSUSPENDMUX_0 (0x290)
+#define CONTROL_MSUSPENDMUX_1 (0x294)
+#define CONTROL_MSUSPENDMUX_2 (0x298)
+#define CONTROL_MSUSPENDMUX_3 (0x29C)
+#define CONTROL_MSUSPENDMUX_4 (0x2A0)
+#define CONTROL_MSUSPENDMUX_5 (0x2A4)
+#define CONTROL_SEC_CTRL (0x2B0)
+#define CONTROL_CSIRXFE (0x2DC)
+#define CONTROL_DEBOBS_0 (0x420)
+#define CONTROL_DEBOBS_1 (0x424)
+#define CONTROL_DEBOBS_2 (0x428)
+#define CONTROL_DEBOBS_3 (0x42C)
+#define CONTROL_DEBOBS_4 (0x430)
+#define CONTROL_DEBOBS_5 (0x434)
+#define CONTROL_DEBOBS_6 (0x438)
+#define CONTROL_DEBOBS_7 (0x43C)
+#define CONTROL_DEBOBS_8 (0x440)
+#define CONTROL_PROG_IO0 (0x444)
+#define CONTROL_PROG_IO1 (0x448)
+#define CONTROL_DSS_DPLL_SPREADING (0x450)
+#define CONTROL_CORE_DPLL_SPREADING (0x454)
+#define CONTROL_PER_DPLL_SPREADING (0x458)
+#define CONTROL_USBHOST_DPLL_SPREADING (0x45C)
+#define CONTROL_TEMP_SENSOR (0x524)
+#define CONTROL_SRAMLDO4 (0x528)
+#define CONTROL_SRAMLDO5 (0x52C)
+#define CONTROL_CSI (0x530)
+#define CONTROL_SCALABLE_OMAP_OCP (0x534)
+#define CONTROL_SCALABLE_OMAP_STATUS (0x44C)
+
+/** Provide the Regoffset, Value */
+#define MUX_VAL(OFFSET,VALUE)\
+ __raw_writew((VALUE), OMAP_CTRL_BASE + (OFFSET))
+
+/**
+ * macro for Padconfig Registers @see
+ * include/asm/arch-arm/arch-omap/omap3-mux.h
+ */
+#define CP(X) (CONTROL_PADCONF_##X)
+
+#endif /* __ASM_ARCH_OMAP_CONTROL_H */
Index: u-boot.v2/include/asm-arm/arch-omap/gpmc.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot.v2/include/asm-arm/arch-omap/gpmc.h 2008-06-03 21:20:09.000000000 -0500
@@ -0,0 +1,105 @@
+/**
+ * @file
+ * @brief This file contains the GPMC specific register definitions
+ *
+ * FileName: include/asm-arm/arch-omap/gpmc.h
+ *
+ * Originally from Linux kernel:
+ * http://linux.omap.com/pub/kernel/3430zoom/linux-ldp-v1.0b.tar.gz
+ * include/asm-arm/arch-omap/omap34xx.h
+ */
+/*
+ * (C) Copyright 2008
+ * Texas Instruments, <www.ti.com>
+ * Nishanth Menon <x0nishan at ti.com>
+ *
+ * Copyright (C) 2007 Texas Instruments, <www.ti.com>
+ * Copyright (C) 2007 Nokia Corporation.
+ *
+ * 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 __ASM_ARCH_OMAP_GPMC_H
+#define __ASM_ARCH_OMAP_GPMC_H
+
+/** GPMC Reg Wrapper */
+#define GPMC_REG(REGNAME) (OMAP_GPMC_BASE + GPMC_##REGNAME)
+
+#define GPMC_SYS_CONFIG (0x10)
+#define GPMC_IRQ_ENABLE (0x1C)
+#define GPMC_TIMEOUT_CONTROL (0x40)
+#define GPMC_CFG (0x50)
+#define GPMC_PREFETCH_CONFIG_1 (0x1E0)
+#define GPMC_PREFETCH_CONFIG_2 (0x1E4)
+#define GPMC_PREFETCH_CTRL (0x1EC)
+#define GPMC_CONFIG1_0 (0x60)
+#define GPMC_CONFIG1_1 (0x90)
+#define GPMC_CONFIG1_2 (0xC0)
+#define GPMC_CONFIG1_3 (0xF0)
+#define GPMC_CONFIG1_4 (0x120)
+#define GPMC_CONFIG1_5 (0x150)
+#define GPMC_CONFIG1_6 (0x180)
+#define GPMC_CONFIG1_7 (0x1B0)
+#define GPMC_CONFIG2_0 (0x64)
+#define GPMC_CONFIG2_1 (0x94)
+#define GPMC_CONFIG2_2 (0xC4)
+#define GPMC_CONFIG2_3 (0xF4)
+#define GPMC_CONFIG2_4 (0x124)
+#define GPMC_CONFIG2_5 (0x154)
+#define GPMC_CONFIG2_6 (0x184)
+#define GPMC_CONFIG2_7 (0x1B4)
+#define GPMC_CONFIG3_0 (0x68)
+#define GPMC_CONFIG3_1 (0x98)
+#define GPMC_CONFIG3_2 (0xC8)
+#define GPMC_CONFIG3_3 (0xF8)
+#define GPMC_CONFIG3_4 (0x128)
+#define GPMC_CONFIG3_5 (0x158)
+#define GPMC_CONFIG3_6 (0x188)
+#define GPMC_CONFIG3_7 (0x1B8)
+#define GPMC_CONFIG4_0 (0x6C)
+#define GPMC_CONFIG4_1 (0x9C)
+#define GPMC_CONFIG4_2 (0xCC)
+#define GPMC_CONFIG4_3 (0xFC)
+#define GPMC_CONFIG4_4 (0x12C)
+#define GPMC_CONFIG4_5 (0x15C)
+#define GPMC_CONFIG4_6 (0x18C)
+#define GPMC_CONFIG4_7 (0x1BC)
+#define GPMC_CONFIG5_0 (0x70)
+#define GPMC_CONFIG5_1 (0xA0)
+#define GPMC_CONFIG5_2 (0xD0)
+#define GPMC_CONFIG5_3 (0x100)
+#define GPMC_CONFIG5_4 (0x130)
+#define GPMC_CONFIG5_5 (0x160)
+#define GPMC_CONFIG5_6 (0x190)
+#define GPMC_CONFIG5_7 (0x1C0)
+#define GPMC_CONFIG6_0 (0x74)
+#define GPMC_CONFIG6_1 (0xA4)
+#define GPMC_CONFIG6_2 (0xD4)
+#define GPMC_CONFIG6_3 (0x104)
+#define GPMC_CONFIG6_4 (0x134)
+#define GPMC_CONFIG6_5 (0x164)
+#define GPMC_CONFIG6_6 (0x194)
+#define GPMC_CONFIG6_7 (0x1C4)
+#define GPMC_CONFIG7_0 (0x78)
+#define GPMC_CONFIG7_1 (0xA8)
+#define GPMC_CONFIG7_2 (0xD8)
+#define GPMC_CONFIG7_3 (0x108)
+#define GPMC_CONFIG7_4 (0x138)
+#define GPMC_CONFIG7_5 (0x168)
+#define GPMC_CONFIG7_6 (0x198)
+#define GPMC_CONFIG7_7 (0x1C8)
+
+#endif /* __ASM_ARCH_OMAP_GPMC_H */
Index: u-boot.v2/include/asm-arm/arch-omap/intc.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot.v2/include/asm-arm/arch-omap/intc.h 2008-06-03 21:20:09.000000000 -0500
@@ -0,0 +1,58 @@
+/**
+ * @file
+ * @brief This file contains the Interrupt controller register defines
+ *
+ * FileName: include/asm-arm/arch-omap/intc.h
+ *
+ * Originally from Linux kernel:
+ * http://linux.omap.com/pub/kernel/3430zoom/linux-ldp-v1.0b.tar.gz
+ * include/asm-arm/arch-omap/omap34xx.h
+ */
+/*
+ * (C) Copyright 2008
+ * Texas Instruments, <www.ti.com>
+ * Nishanth Menon <x0nishan at ti.com>
+ *
+ * Copyright (C) 2007 Texas Instruments, <www.ti.com>
+ * Copyright (C) 2007 Nokia Corporation.
+ *
+ * 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 __ASM_ARCH_OMAP_INTC_H
+#define __ASM_ARCH_OMAP_INTC_H
+
+/** Interrupt Controller Register wrapper */
+#define INTC_REG(REGNAME) (OMAP_INTC_BASE + INTC_##REGNAME)
+
+#define INTC_MIR_0 (0x084)
+#define INTC_MIR_1 (0x0A4)
+#define INTC_MIR_2 (0x0C4)
+#define INTC_MIR_SET_0 (0x08C)
+#define INTC_MIR_SET_1 (0x0AC)
+#define INTC_MIR_SET_2 (0x0CC)
+#define INTC_MIR_CLEAR_0 (0x094)
+#define INTC_MIR_CLEAR_1 (0x0B4)
+#define INTC_MIR_CLEAR_2 (0x0D4)
+#define INTC_PS_SYSCONFIG (0x010)
+#define INTC_PS_PROTECTION (0x04C)
+#define INTC_PS_IDLE (0x050)
+#define INTC_PS_THRESHOLD (0x068)
+#define INTC_PS_PENDING_IRQ0 (0x098)
+#define INTC_PS_PENDING_IRQ1 (0x0B8)
+#define INTC_PS_PENDING_IRQ2 (0x0D8)
+
+#endif /* __ASM_ARCH_OMAP_INTC_H */
Index: u-boot.v2/include/asm-arm/arch-omap/omap3-silicon.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot.v2/include/asm-arm/arch-omap/omap3-silicon.h 2008-06-03 21:20:09.000000000 -0500
@@ -0,0 +1,130 @@
+/**
+ * @file
+ * @brief This file contains the processor specific definitions of
+ * the TI OMAP34XX. For more info on OMAP34XX,
+ * See http://focus.ti.com/pdfs/wtbu/swpu114g.pdf
+ *
+ * FileName: include/asm-arm/arch-omap/omap3-silicon.h
+ *
+ * OMAP34XX base address defines go here.
+ *
+ * Originally from Linux kernel:
+ * http://linux.omap.com/pub/kernel/3430zoom/linux-ldp-v1.0b.tar.gz
+ * include/asm-arm/arch-omap/omap3-silicon.h
+ */
+/*
+ * (C) Copyright 2008
+ * Texas Instruments, <www.ti.com>
+ * Nishanth Menon <x0nishan at ti.com>
+ *
+ * Copyright (C) 2007 Texas Instruments, <www.ti.com>
+ * Copyright (C) 2007 Nokia Corporation.
+ *
+ * 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 __ASM_ARCH_OMAP3_H
+#define __ASM_ARCH_OMAP3_H
+
+/* PLEASE PLACE ONLY BASE DEFINES HERE */
+
+/** OMAP Internal Bus Base addresses */
+#define OMAP_L4_CORE_BASE 0x48000000
+#define OMAP_INTC_BASE 0x48200000
+#define OMAP_L4_WKUP_BASE 0x48300000
+#define OMAP_L4_PER_BASE 0x49000000
+#define OMAP_L4_EMU_BASE 0x54000000
+#define OMAP_SGX_BASE 0x50000000
+#define OMAP_IVA_BASE 0x5C000000
+#define OMAP_SMX_APE_BASE 0x68000000
+#define OMAP_SMS_BASE 0x6C000000
+#define OMAP_SDRC_BASE 0x6D000000
+#define OMAP_GPMC_BASE 0x6E000000
+
+/** Peripheral Base Addresses */
+#define OMAP_CTRL_BASE (OMAP_L4_CORE_BASE + 0x02000)
+#define OMAP_CM_BASE (OMAP_L4_CORE_BASE + 0x04000)
+#define OMAP_PRM_BASE (OMAP_L4_WKUP_BASE + 0x06000)
+
+#define OMAP_UART1_BASE (OMAP_L4_CORE_BASE + 0x6A000)
+#define OMAP_UART2_BASE (OMAP_L4_CORE_BASE + 0x6C000)
+#define OMAP_UART3_BASE (OMAP_L4_PER_BASE + 0x20000)
+
+#define OMAP_I2C1_BASE (OMAP_L4_CORE_BASE + 0x70000)
+#define OMAP_I2C2_BASE (OMAP_L4_CORE_BASE + 0x72000)
+#define OMAP_I2C3_BASE (OMAP_L4_CORE_BASE + 0x60000)
+
+#define OMAP_GPTIMER1_BASE (OMAP_L4_WKUP_BASE + 0x18000)
+#define OMAP_GPTIMER2_BASE (OMAP_L4_PER_BASE + 0x32000)
+#define OMAP_GPTIMER3_BASE (OMAP_L4_PER_BASE + 0x34000)
+#define OMAP_GPTIMER4_BASE (OMAP_L4_PER_BASE + 0x36000)
+#define OMAP_GPTIMER5_BASE (OMAP_L4_PER_BASE + 0x38000)
+#define OMAP_GPTIMER6_BASE (OMAP_L4_PER_BASE + 0x3A000)
+#define OMAP_GPTIMER7_BASE (OMAP_L4_PER_BASE + 0x3C000)
+#define OMAP_GPTIMER8_BASE (OMAP_L4_PER_BASE + 0x3E000)
+#define OMAP_GPTIMER9_BASE (OMAP_L4_PER_BASE + 0x40000)
+#define OMAP_GPTIMER10_BASE (OMAP_L4_CORE_BASE + 0x86000)
+#define OMAP_GPTIMER11_BASE (OMAP_L4_CORE_BASE + 0x88000)
+
+#define OMAP_WDTIMER2_BASE (OMAP_L4_WKUP_BASE + 0x14000)
+#define OMAP_WDTIMER3_BASE (OMAP_L4_PER_BASE + 0x30000)
+
+#define OMAP_32KTIMER_BASE (OMAP_L4_WKUP_BASE + 0x20000)
+
+#define OMAP_MMC1_BASE (OMAP_L4_CORE_BASE + 0x9C000)
+#define OMAP_MMC2_BASE (OMAP_L4_CORE_BASE + 0xB4000)
+#define OMAP_MMC3_BASE (OMAP_L4_CORE_BASE + 0xAD000)
+
+#define OMAP_MUSB0_BASE (OMAP_L4_CORE_BASE + 0xAB000)
+
+#define OMAP_GPIO1_BASE (OMAP_L4_WKUP_BASE + 0x10000)
+#define OMAP_GPIO2_BASE (OMAP_L4_PER_BASE + 0x50000)
+#define OMAP_GPIO3_BASE (OMAP_L4_PER_BASE + 0x52000)
+#define OMAP_GPIO4_BASE (OMAP_L4_PER_BASE + 0x54000)
+#define OMAP_GPIO5_BASE (OMAP_L4_PER_BASE + 0x56000)
+#define OMAP_GPIO6_BASE (OMAP_L4_PER_BASE + 0x58000)
+
+/** MPU WDT Definition */
+#define OMAP_MPU_WDTIMER_BASE OMAP_WDTIMER2_BASE
+
+/** Interrupt Vector base address */
+#define OMAP_SRAM_INTVECT 0x4020F800
+#define OMAP_SRAM_INTVECT_COPYSIZE 0x64
+/** Temporary stack for us to use C calls in low_level_init */
+#define OMAP_SRAM_STACK 0x4020FFFC
+
+/** Gives the silicon revision */
+#define OMAP_TAP_BASE (OMAP_L4_WKUP_BASE + 0xA000)
+#define IDCODE_REG (OMAP_TAP_BASE + 0x204)
+
+/************ Generic Chip specific Definitions **********/
+/**
+ * CHIP F number HAWKEYE (hex)
+ * OMAP3430 ES1.0 F771609 B6D6
+ * OMAP3430 ES2.0 F771609A B7AE
+ */
+#define HAWKEYE_ES1 0x0B6D6000
+#define HAWKEYE_ES2 0x0B7AE000
+#define HAWKEYE_ES2_1 0x1B7AE000
+#define HAWKEYE_MASK 0x0FFFF000
+#define VERSION_MASK 0xF0000000
+#define DEVICE_MASK ((0x1 << 8)|(0x1 << 9)|(0x1 << 10))
+
+#define OMAP_SDRC_CS0 0x80000000
+#define OMAP_SDRC_CS1 0xA0000000
+
+#endif /* __ASM_ARCH_OMAP3_H */
+
Index: u-boot.v2/include/asm-arm/arch-omap/omap3-smx.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot.v2/include/asm-arm/arch-omap/omap3-smx.h 2008-06-03 21:20:09.000000000 -0500
@@ -0,0 +1,69 @@
+/**
+ * @file
+ * @brief This file contains the SMX specific register definitions
+ *
+ * FileName: include/asm-arm/arch-omap/omap3-smx.h
+ *
+ * Originally from Linux kernel:
+ * http://linux.omap.com/pub/kernel/3430zoom/linux-ldp-v1.0b.tar.gz
+ * include/asm-arm/arch-omap/omap34xx.h
+ */
+/*
+ * (C) Copyright 2008
+ * Texas Instruments, <www.ti.com>
+ * Nishanth Menon <x0nishan at ti.com>
+ *
+ * Copyright (C) 2007 Texas Instruments, <www.ti.com>
+ * Copyright (C) 2007 Nokia Corporation.
+ *
+ * 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 __ASM_ARCH_OMAP_SMX_H
+#define __ASM_ARCH_OMAP_SMX_H
+
+/* SMX-APE */
+#define PM_RT_APE_BASE_ADDR_ARM (OMAP_SMX_APE_BASE + 0x10000)
+#define PM_GPMC_BASE_ADDR_ARM (OMAP_SMX_APE_BASE + 0x12400)
+#define PM_OCM_RAM_BASE_ADDR_ARM (OMAP_SMX_APE_BASE + 0x12800)
+#define PM_OCM_ROM_BASE_ADDR_ARM (OMAP_SMX_APE_BASE + 0x12C00)
+#define PM_IVA2_BASE_ADDR_ARM (OMAP_SMX_APE_BASE + 0x14000)
+
+#define RT_REQ_INFO_PERMISSION_1 (PM_RT_APE_BASE_ADDR_ARM + 0x68)
+#define RT_READ_PERMISSION_0 (PM_RT_APE_BASE_ADDR_ARM + 0x50)
+#define RT_WRITE_PERMISSION_0 (PM_RT_APE_BASE_ADDR_ARM + 0x58)
+#define RT_ADDR_MATCH_1 (PM_RT_APE_BASE_ADDR_ARM + 0x60)
+
+#define GPMC_REQ_INFO_PERMISSION_0 (PM_GPMC_BASE_ADDR_ARM + 0x48)
+#define GPMC_READ_PERMISSION_0 (PM_GPMC_BASE_ADDR_ARM + 0x50)
+#define GPMC_WRITE_PERMISSION_0 (PM_GPMC_BASE_ADDR_ARM + 0x58)
+
+#define OCM_REQ_INFO_PERMISSION_0 (PM_OCM_RAM_BASE_ADDR_ARM + 0x48)
+#define OCM_READ_PERMISSION_0 (PM_OCM_RAM_BASE_ADDR_ARM + 0x50)
+#define OCM_WRITE_PERMISSION_0 (PM_OCM_RAM_BASE_ADDR_ARM + 0x58)
+#define OCM_ADDR_MATCH_2 (PM_OCM_RAM_BASE_ADDR_ARM + 0x80)
+
+/* IVA2 */
+#define IVA2_REQ_INFO_PERMISSION_0 (PM_IVA2_BASE_ADDR_ARM + 0x48)
+#define IVA2_READ_PERMISSION_0 (PM_IVA2_BASE_ADDR_ARM + 0x50)
+#define IVA2_WRITE_PERMISSION_0 (PM_IVA2_BASE_ADDR_ARM + 0x58)
+
+/* SMS */
+#define SMS_SYSCONFIG (OMAP_SMS_BASE + 0x10)
+#define SMS_RG_ATT0 (OMAP_SMS_BASE + 0x48)
+#define SMS_CLASS_ARB0 (OMAP_SMS_BASE + 0xD0)
+#define BURSTCOMPLETE_GROUP7 (0x1 << 31)
+
+#endif /* __ASM_ARCH_OMAP_SMX_H */
Index: u-boot.v2/include/asm-arm/arch-omap/sdrc.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot.v2/include/asm-arm/arch-omap/sdrc.h 2008-06-03 21:20:09.000000000 -0500
@@ -0,0 +1,97 @@
+/**
+ * @file
+ * @brief This file contains the SDRC specific register definitions
+ *
+ * FileName: include/asm-arm/arch-omap/sdrc.h
+ *
+ * Originally from http://linux.omap.com/pub/bootloader/3430sdp/u-boot-v1.tar.gz
+ */
+/*
+ * (C) Copyright 2006-2008
+ * 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 _ASM_ARCH_SDRC_H
+#define _ASM_ARCH_SDRC_H
+
+#define SDRC_REG(REGNAME) (OMAP_SDRC_BASE + OMAP_SDRC_##REGNAME)
+#define OMAP_SDRC_SYSCONFIG (0x10)
+#define OMAP_SDRC_STATUS (0x14)
+#define OMAP_SDRC_CS_CFG (0x40)
+#define OMAP_SDRC_SHARING (0x44)
+#define OMAP_SDRC_DLLA_CTRL (0x60)
+#define OMAP_SDRC_DLLA_STATUS (0x64)
+#define OMAP_SDRC_DLLB_CTRL (0x68)
+#define OMAP_SDRC_DLLB_STATUS (0x6C)
+#define DLLPHASE (0x1 << 1)
+#define LOADDLL (0x1 << 2)
+#define DLL_DELAY_MASK 0xFF00
+#define DLL_NO_FILTER_MASK ((0x1 << 8)|(0x1 << 9))
+
+#define OMAP_SDRC_POWER (0x70)
+#define WAKEUPPROC (0x1 << 26)
+
+#define OMAP_SDRC_MCFG_0 (0x80)
+#define OMAP_SDRC_MCFG_1 (0xB0)
+#define OMAP_SDRC_MR_0 (0x84)
+#define OMAP_SDRC_MR_1 (0xB4)
+#define OMAP_SDRC_ACTIM_CTRLA_0 (0x9C)
+#define OMAP_SDRC_ACTIM_CTRLB_0 (0xA0)
+#define OMAP_SDRC_ACTIM_CTRLA_1 (0xC4)
+#define OMAP_SDRC_ACTIM_CTRLB_1 (0xC8)
+#define OMAP_SDRC_RFR_CTRL_0 (0xA4)
+#define OMAP_SDRC_RFR_CTRL_1 (0xD4)
+#define OMAP_SDRC_MANUAL_0 (0xA8)
+#define CMD_NOP 0x0
+#define CMD_PRECHARGE 0x1
+#define CMD_AUTOREFRESH 0x2
+#define CMD_ENTR_PWRDOWN 0x3
+#define CMD_EXIT_PWRDOWN 0x4
+#define CMD_ENTR_SRFRSH 0x5
+#define CMD_CKE_HIGH 0x6
+#define CMD_CKE_LOW 0x7
+#define SOFTRESET (0x1 << 1)
+#define SMART_IDLE (0x2 << 3)
+#define REF_ON_IDLE (0x1 << 6)
+
+#define SDRC_CS0_OSET 0x0
+/* Mirror CS1 regs appear offset 0x30 from CS0 */
+#define SDRC_CS1_OSET 0x30
+
+#define SDRC_STACKED 0
+#define SDRC_IP_DDR 1
+#define SDRC_COMBO_DDR 2
+#define SDRC_IP_SDR 3
+
+
+#define SDRC_B_R_C (0 << 6) /* bank-row-column */
+#define SDRC_B1_R_B0_C (1 << 6) /* bank1-row-bank0-column */
+#define SDRC_R_B_C (2 << 6) /* row-bank-column */
+
+#define DLL_OFFSET 0
+#define DLL_WRITEDDRCLKX2DIS 1
+#define DLL_ENADLL 1
+#define DLL_LOCKDLL 0
+#define DLL_DLLPHASE_72 0
+#define DLL_DLLPHASE_90 1
+
+#endif /* _ASM_ARCH_SDRC_H */
Index: u-boot.v2/include/asm-arm/arch-omap/silicon.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot.v2/include/asm-arm/arch-omap/silicon.h 2008-06-03 21:20:09.000000000 -0500
@@ -0,0 +1,36 @@
+/*
+ * (C) Copyright 2008
+ * Texas Instruments, <www.ti.com>
+ * Nishanth Menon <x0nishan at 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 __ASM_ARCH_OMAP_SILICON_H
+#define __ASM_ARCH_OMAP_SILICON_H
+
+/* Each platform silicon header comes here */
+#ifdef CONFIG_ARCH_OMAP3
+#include <asm/arch/omap3-silicon.h>
+#endif
+
+/* If Architecture specific init functions are present */
+#ifdef CONFIG_ARCH_HAS_LOWLEVEL_INIT
+#ifndef __ASSEMBLY__
+void a_init(void);
+#endif /* __ASSEMBLY__ */
+#endif
+
+#endif /* __ASM_ARCH_OMAP_SILICON_H */
Index: u-boot.v2/include/asm-arm/arch-omap/sys_info.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot.v2/include/asm-arm/arch-omap/sys_info.h 2008-06-03 21:20:09.000000000 -0500
@@ -0,0 +1,97 @@
+/**
+ * @file
+ * @brief This file defines the macros apis which are useful for most OMAP
+ * platforms.
+ *
+ * FileName: include/asm-arm/arch-omap/sys_info.h
+ *
+ * These are implemented by the System specific code in omapX-generic.c
+ *
+ * Originally from http://linux.omap.com/pub/bootloader/3430sdp/u-boot-v1.tar.gz
+ */
+/*
+ * (C) Copyright 2006-2008
+ * Texas Instruments, <www.ti.com>
+ * Richard Woodruff <r-woodruff2 at 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 __ASM_ARCH_SYS_INFO_H_
+#define __ASM_ARCH_SYS_INFO_H_
+
+#define XDR_POP 5 /* package on package part */
+#define SDR_DISCRETE 4 /* 128M memory SDR module*/
+#define DDR_STACKED 3 /* stacked part on 2422 */
+#define DDR_COMBO 2 /* combo part on cpu daughter card (menalaeus) */
+#define DDR_DISCRETE 1 /* 2x16 parts on daughter card */
+
+#define DDR_100 100 /* type found on most mem d-boards */
+#define DDR_111 111 /* some combo parts */
+#define DDR_133 133 /* most combo, some mem d-boards */
+#define DDR_165 165 /* future parts */
+
+#define CPU_3430 0x3430
+#define CPU_2430 0x2430
+#define CPU_2420 0x2420
+#define CPU_1710 0x1710
+#define CPU_1610 0x1610
+
+/**
+ * CPU revision
+ */
+#define CPU_ES1 1
+#define CPU_ES1P1 2
+#define CPU_ES1P2 3
+#define CPU_ES2 4
+#define CPU_ES2P1 5
+#define CPU_ES2P2 6
+#define CPU_ES3 7
+#define CPU_ES3P1 8
+#define CPU_ES3P2 9
+#define CPU_ES4 10
+#define CPU_ES4P1 11
+#define CPU_ES4P2 12
+
+#define GPMC_MUXED 1
+#define GPMC_NONMUXED 0
+
+#define TYPE_NAND 0x800 /* bit pos for nand in gpmc reg */
+#define TYPE_NOR 0x000
+#define TYPE_ONENAND 0x800
+
+#define WIDTH_8BIT 0x0000
+#define WIDTH_16BIT 0x1000 /* bit pos for 16 bit in gpmc */
+
+#define TST_DEVICE 0x0
+#define EMU_DEVICE 0x1
+#define HS_DEVICE 0x2
+#define GP_DEVICE 0x3
+
+/** These are implemented by the System specific code in omapX-generic.c */
+u32 get_cpu_type(void);
+u32 get_cpu_rev(void);
+u32 get_sdr_cs_size(u32 offset);
+inline u32 get_sysboot_value(void);
+u32 get_gpmc0_base(void);
+u32 get_base(void);
+u32 running_in_flash(void);
+u32 running_in_sram(void);
+u32 running_in_sdram(void);
+u32 get_boot_type(void);
+u32 get_device_type(void);
+
+#endif /*__ASM_ARCH_SYS_INFO_H_ */
Index: u-boot.v2/include/asm-arm/arch-omap/syslib.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot.v2/include/asm-arm/arch-omap/syslib.h 2008-06-03 22:31:39.000000000 -0500
@@ -0,0 +1,43 @@
+/**
+ * @file
+ * @brief These Apis are OMAP independent support functions
+ *
+ * FileName: include/asm-arm/arch-omap/syslib.h
+ *
+ * Implemented by arch/arm/mach-omap/syslib.c
+ *
+ * Originally from http://linux.omap.com/pub/bootloader/3430sdp/u-boot-v1.tar.gz
+ */
+/*
+ * (C) Copyright 2004-2008
+ * Texas Instruments, <www.ti.com>
+ * Richard Woodruff <r-woodruff2 at 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 __ASM_ARCH_OMAP_SYSLIB_H_
+#define __ASM_ARCH_OMAP_SYSLIB_H_
+
+/** System Independent functions */
+void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value);
+u32 wait_on_value(u32 read_bit_mask, u32 match_value, u32 read_addr, u32 bound);
+void sdelay(unsigned long loops);
+
+/** All architectures need to implement these */
+void omap_uart_write(unsigned int val, unsigned long base,
+ unsigned char reg_idx);
+unsigned int omap_uart_read(unsigned long base, unsigned char reg_idx);
+#endif /* __ASM_ARCH_OMAP_SYSLIB_H_ */
Index: u-boot.v2/include/asm-arm/arch-omap/timers.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot.v2/include/asm-arm/arch-omap/timers.h 2008-06-03 21:20:09.000000000 -0500
@@ -0,0 +1,60 @@
+/**
+ * @file
+ * @brief This defines the Register defines for OMAP GPTimers and Sync32 timers.
+ *
+ * FileName: include/asm-arm/arch-omap/timers.h
+ *
+ * Originally from Linux kernel:
+ * http://linux.omap.com/pub/kernel/3430zoom/linux-ldp-v1.0b.tar.gz
+ *
+ */
+/*
+ * (C) Copyright 2008
+ * Texas Instruments, <www.ti.com>
+ * Nishanth Menon <x0nishan at ti.com>
+ *
+ * Copyright (C) 2007 Texas Instruments, <www.ti.com>
+ * Copyright (C) 2007 Nokia Corporation.
+ *
+ * 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 __ASM_ARCH_GPT_H
+#define __ASM_ARCH_GPT_H
+
+/** General Purpose timer regs offsets (32 bit regs) */
+#define TIDR 0x0 /* r */
+#define TIOCP_CFG 0x10 /* rw */
+#define TISTAT 0x14 /* r */
+#define TISR 0x18 /* rw */
+#define TIER 0x1C /* rw */
+#define TWER 0x20 /* rw */
+#define TCLR 0x24 /* rw */
+#define TCRR 0x28 /* rw */
+#define TLDR 0x2C /* rw */
+#define TTGR 0x30 /* rw */
+#define TWPS 0x34 /* r */
+#define TMAR 0x38 /* rw */
+#define TCAR1 0x3c /* r */
+#define TSICR 0x40 /* rw */
+#define TCAR2 0x44 /* r */
+/* Enable sys_clk NO-prescale /1 */
+#define GPT_EN ((0 << 2) | (0x1 << 1) | (0x1 << 0))
+
+/** Sync 32Khz Timer registers */
+#define S32K_CR (OMAP_32KTIMER_BASE + 0x10)
+#define S32K_FREQUENCY 32768
+
+#endif /*__ASM_ARCH_GPT_H */
Index: u-boot.v2/include/asm-arm/arch-omap/wdt.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ u-boot.v2/include/asm-arm/arch-omap/wdt.h 2008-06-03 21:20:09.000000000 -0500
@@ -0,0 +1,49 @@
+/**
+ * @file
+ * @brief This file contains the Watchdog timer specific register definitions
+ *
+ * FileName: include/asm-arm/arch-omap/wdt.h
+ *
+ */
+/*
+ * (C) Copyright 2008
+ * Texas Instruments, <www.ti.com>
+ * Nishanth Menon <x0nishan at 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 __ASM_ARCH_OMAP_WDT_H
+#define __ASM_ARCH_OMAP_WDT_H
+
+/** Watchdog Register defines */
+#define WDT_REG(REGNAME) (OMAP_MPU_WDTIMER_BASE + OMAP_WDT_##REGNAME)
+#define OMAP_WDT_WIDR (0x000)
+#define OMAP_WDT_SYSCONFIG (0x010)
+#define OMAP_WDT_WD_SYSSTATUS (0x014)
+#define OMAP_WDT_WISR (0x018)
+#define OMAP_WDT_WIER (0x01C)
+#define OMAP_WDT_WCLR (0x024)
+#define OMAP_WDT_WCRR (0x028)
+#define OMAP_WDT_WLDR (0x02C)
+#define OMAP_WDT_WTGR (0x030)
+#define OMAP_WDT_WWPS (0x034)
+#define OMAP_WDT_WSPR (0x048)
+
+/* Unlock Code for Watchdog timer to disable the same */
+#define WDT_DISABLE_CODE1 0xAAAA
+#define WDT_DISABLE_CODE2 0x5555
+
+#endif /* __ASM_ARCH_OMAP_WDT_H */
More information about the U-Boot
mailing list