hardware.h

来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 251 行

H
251
字号
/*  * linux/include/asm-arm/arch-omap2/hardware.h *  * This file contains the hardware definitions of the TI H4 SDP. * * Copyright (C) 2004 Texas Instruments, Inc.  *  * This package is free software; you can redistribute it and/or modify  * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation.  *  * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.  */#ifndef __ASM_ARM_ARCH_OMAP2_HARDWARE_H#define __ASM_ARM_ARCH_OMAP2_HARDWARE_H#include <asm/arch/cpu.h>#include <asm/sizes.h>/* * L3 Peripherals */#define OMAP24XX_L3_IO_BASE        0x68000000/* GPMC */#define OMAP2420_GPMC_BASE        (OMAP24XX_L3_IO_BASE+0xA000)#define GPMC_SYSCONFIG            (OMAP2420_GPMC_BASE+0x10)#define GPMC_IRQENABLE            (OMAP2420_GPMC_BASE+0x1C)#define GPMC_TIMEOUT_CONTROL      (OMAP2420_GPMC_BASE+0x40)#define GPMC_CONFIG               (OMAP2420_GPMC_BASE+0x50)#define GPMC_CONFIG1_0            (OMAP2420_GPMC_BASE+0x60)#define GPMC_CONFIG2_0            (OMAP2420_GPMC_BASE+0x64)#define GPMC_CONFIG3_0            (OMAP2420_GPMC_BASE+0x68)#define GPMC_CONFIG4_0            (OMAP2420_GPMC_BASE+0x6C)#define GPMC_CONFIG5_0            (OMAP2420_GPMC_BASE+0x70)#define GPMC_CONFIG7_0            (OMAP2420_GPMC_BASE+0x78)#define GPMC_CONFIG1_1            (OMAP2420_GPMC_BASE+0x90)#define GPMC_CONFIG2_1            (OMAP2420_GPMC_BASE+0x94)#define GPMC_CONFIG3_1            (OMAP2420_GPMC_BASE+0x98)#define GPMC_CONFIG4_1            (OMAP2420_GPMC_BASE+0x9C)#define GPMC_CONFIG5_1            (OMAP2420_GPMC_BASE+0xA0)#define GPMC_CONFIG6_1            (OMAP2420_GPMC_BASE+0xA4)#define GPMC_CONFIG7_1            (OMAP2420_GPMC_BASE+0xA8)/* SMS */#define OMAP2420_SMS_BASE         (OMAP24XX_L3_IO_BASE+0x8000)#define SMS_SYSCONFIG             (OMAP2420_SMS_BASE+0x10)/* SDRC */#define OMAP2420_SDRC_BASE        (OMAP24XX_L3_IO_BASE+0x9000)#define SDRC_SYSCONFIG            (OMAP2420_SDRC_BASE+0x10)#define SDRC_STATUS               (OMAP2420_SDRC_BASE+0x14)#define SDRC_SHARING              (OMAP2420_SDRC_BASE+0x44)#define SDRC_DLLA_CTRL            (OMAP2420_SDRC_BASE+0x60)#define SDRC_DLLB_CTRL            (OMAP2420_SDRC_BASE+0x68)#define SDRC_POWER                (OMAP2420_SDRC_BASE+0x70)#define SDRC_MCFG_0               (OMAP2420_SDRC_BASE+0x80)#define SDRC_MR_0                 (OMAP2420_SDRC_BASE+0x84)#define SDRC_ACTIM_CTRLA_0        (OMAP2420_SDRC_BASE+0x9C)#define SDRC_ACTIM_CTRLB_0        (OMAP2420_SDRC_BASE+0xA0)#define SDRC_ACTIM_CTRLA_1        (OMAP2420_SDRC_BASE+0xC4)#define SDRC_ACTIM_CTRLB_1        (OMAP2420_SDRC_BASE+0xC8)#define SDRC_RFR_CTRL             (OMAP2420_SDRC_BASE+0xA4)#define SDRC_MANUAL_0             (OMAP2420_SDRC_BASE+0xA8)#define OMAP2420_SDRC_CS0         0x80000000#define OMAP2420_SDRC_CS1         0xA0000000#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                 BIT1#define SMART_IDLE                (0x2 << 3)#define REF_ON_IDLE               (0x1 << 6)/* * L4 Periferals */#define OMAP24XX_L4_IO_BASE       0x48000000/* CONTROL */#define OMAP2420_CTRL_BASE        (OMAP24XX_L4_IO_BASE+0x0)#define CONTROL_STATUS            (OMAP2420_CTRL_BASE+0x2F8)#define OMAP24XX_SYSTEM_CONTROL_BASE    (OMAP24XX_L4_IO_BASE+0x0)#define OMAP24XX_VA_SYSTEM_CONTROL_BASE IO_ADDRESS(OMAP24XX_SYSTEM_CONTROL_BASE)/* TAP information */#define OMAP2420_TAP_BASE         (OMAP24XX_L4_IO_BASE+0x14000)#define TAP_IDCODE_REG            (OMAP2420_TAP_BASE+0x204)/* UART */#define OMAP24XX_UART1_BASE       (OMAP24XX_L4_IO_BASE+0x6a000)#define OMAP24XX_UART2_BASE       (OMAP24XX_L4_IO_BASE+0x6c000)#define OMAP24XX_UART3_BASE       (OMAP24XX_L4_IO_BASE+0x6e000)/* USB */#define OMAP24XX_OHCI_BASE        (OMAP24XX_L4_IO_BASE+0x5e000)#define OMAP24XX_UDC_BASE         (OMAP24XX_L4_IO_BASE+0x5e200)#define OMAP24XX_OTG_BASE         (OMAP24XX_L4_IO_BASE+0x5e300)/* General Purpose Timers */#define OMAP2420_GPT1             (OMAP24XX_L4_IO_BASE+0x28000)#define OMAP2420_GPT2             (OMAP24XX_L4_IO_BASE+0x2A000)#define OMAP2420_GPT3             (OMAP24XX_L4_IO_BASE+0x78000)#define OMAP2420_GPT4             (OMAP24XX_L4_IO_BASE+0x7A000)#define OMAP2420_GPT5             (OMAP24XX_L4_IO_BASE+0x7C000)#define OMAP2420_GPT6             (OMAP24XX_L4_IO_BASE+0x7E000)#define OMAP2420_GPT7             (OMAP24XX_L4_IO_BASE+0x80000)#define OMAP2420_GPT8             (OMAP24XX_L4_IO_BASE+0x82000)#define OMAP2420_GPT9             (OMAP24XX_L4_IO_BASE+0x84000)#define OMAP2420_GPT10            (OMAP24XX_L4_IO_BASE+0x86000)#define OMAP2420_GPT11            (OMAP24XX_L4_IO_BASE+0x88000)#define OMAP2420_GPT12            (OMAP24XX_L4_IO_BASE+0x8A000)#define OMAP24XX_GPTIMER_OFF      0x2000#define OMAP24XX_TIMER1_BASE      0x48028000#define OMAP24XX_TIMER2_BASE      (OMAP24XX_TIMER1_BASE+OMAP24XX_GPTIMER_OFF)#define OMAP24XX_TIMER3_BASE      0x48078000#define OMAP24XX_TIMER4_BASE      (OMAP24XX_TIMER3_BASE+OMAP24XX_GPTIMER_OFF)/* GPMC regs offsets (32 bit regs) */#define OFFSET_CONFIG1_0 	  0x60#define OFFSET_NAND_COMMAND_0 	  0x7C#define OFFSET_NAND_ADDRESS_0     0x80#define OFFSET_NAND_DATA_0        0x84#define OFFSET_CONFIG             0x50#define OFFSET_STATUS             0x54/* timer regs offsets (32 bit regs) */#define TIDR                      0x00	/* 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 *//* Timer 32K omap*/#define OMAP_TIMER32K_BASE        (OMAP24XX_L4_IO_BASE+0x4000)/* WatchDog Timers (1 secure, 3 GP) */#define WD1_BASE                  (OMAP24XX_L4_IO_BASE+0x20000)#define WD2_BASE                  (OMAP24XX_L4_IO_BASE+0x22000)#define WD3_BASE                  (OMAP24XX_L4_IO_BASE+0x24000)#define WD4_BASE                  (OMAP24XX_L4_IO_BASE+0x26000)#define WWPS                      0x34	/* r */#define WSPR                      0x48	/* rw */#define WD_UNLOCK1                0xAAAA#define WD_UNLOCK2                0x5555/* Watchdog Timer 2*/#define OMAP24XX_WDTIMER2_BASE    (OMAP24XX_L4_IO_BASE+0x22000)#define OMAP24XX_VA_WDTIMER2_BASE IO_ADDRESS(OMAP24XX_WDTIMER2_BASE)/* PRCM -- need to rework when power managment comes */#define OMAP24XX_PRCM_BASE        (OMAP24XX_L4_IO_BASE+0x8000)#define OMAP24XX_VA_PRCM_BASE     IO_ADDRESS(OMAP24XX_PRCM_BASE)#define OMAP2420_CM_BASE          (OMAP24XX_L4_IO_BASE+0x8000)#define PRCM_BASE_ADDRESS         OMAP24XX_VA_PRCM_BASE#define PM_RSTCTRL_WKUP           (OMAP2420_CM_BASE+0x450)#define CM_CLKEN_PLL              (0x500)#define CM_IDLEST_GEN             (0x520)#define CM_AUTOIDLE_PLL           (0x530)#define CM_CLKSEL1_PLL            (0x540)#define CM_CLKSEL2_PLL            (0x544)/* PRCM CORE Domain registers offsets */#define CM_FCLKEN1_CORE           (0x200)#define CM_FCLKEN2_CORE           (0x204)#define CM_ICLKEN1_CORE           (0x210)#define CM_ICLKEN2_CORE           (0x214)#define CM_ICLKEN4_CORE           (0x21C)#define CM_IDLEST1_CORE           (0x220)#define CM_IDLEST2_CORE           (0x224)#define CM_IDLEST4_CORE           (0x22C)#define CM_AUTOIDLE1_CORE         (0x230)#define CM_AUTOIDLE2_CORE         (0x234)#define CM_AUTOIDLE3_CORE         (0x238)#define CM_AUTOIDLE4_CORE         (0x23C)#define CM_CLKSEL1_CORE           (0x240)#define CM_CLKSEL2_CORE           (0x244)#define CM_CLKSTCTRL_CORE         (0x248)#define PM_WKEN1_CORE             (0x2A0)#define PM_WKEN2_CORE             (0x2A4)#define PM_WKST1_CORE             (0x2B0)#define PM_WKST2_CORE             (0x2B4)#define PM_WKDEP_CORE             (0x2C8)#define PM_PWSTCTRL_CORE          (0x2E0)#define PM_PWSTST_CORE            (0x2E4)#define PRCM_RM_RSTST_WKUP        (0x458)#define PRCM_RM_RSTST_WKUP        (0x458)#define PRCM_CM_FCLKEN_WKUP       (0x400)#define PRCM_CM_ICLKEN_WKUP       (0x410)/* interrupt controller */#define OMAP24XX_IC_BASE          (OMAP24XX_L4_IO_BASE+0xfe000)#define VA_IC_BASE                IO_ADDRESS(OMAP24XX_IC_BASE)#define OMAP24XX_IH_BASE          VA_IC_BASE#define OMAP24XX_IH_0_BASE        IO_ADDRESS(OMAP24XX_IC_BASE) + IH_0_BASE_OFFSET#define OMAP24XX_IH_1_BASE        IO_ADDRESS(OMAP24XX_IC_BASE) + IH_1_BASE_OFFSET#define OMAP24XX_IH_2_BASE        IO_ADDRESS(OMAP24XX_IC_BASE) + IH_2_BASE_OFFSET#define OMAP24XX_ILR_BASE         IO_ADDRESS(OMAP24XX_IC_BASE) + ILR_BASE_OFFSET#define IH_0_BASE_OFFSET          0x80#define IH_1_BASE_OFFSET          0xa0#define IH_2_BASE_OFFSET          0xc0#define ILR_BASE_OFFSET           0x100#define IRQ_REVISION              0x0000#define IRQ_SYSCONFIG             0x0010#define IRQ_SYSSTATUS             0x0014#define IRQ_SIR_IRQ               0x0040#define IRQ_SIR_FIQ               0x0044#define IRQ_CONTROL_REG           0x0048#define IRQ_PROTECTION            0x004C#define IRQ_IDLE                  0x0050/* group 2,3,4 */#define IRQ_ITR                   0x0000#define IRQ_MIR                   0x0004#define IRQ_MIR_CLEAR             0x0008#define IRQ_MIR_SET               0x000C#define IRQ_ISR_SET               0x0010#define IRQ_ISR_CLEAR             0x0014#define IRQ_PENDING_IRQ           0x0018#define IRQ_PENDING_FIQ           0x001C/* OMAP24XX GPIO block base */#define OMAP24XX_GPIO_BASE        (OMAP24XX_L4_IO_BASE+0x18000)/* EAC */#define EAC_BASE_ADDR_PHYS        (OMAP24XX_L4_IO_BASE+0x90000)#endif				/* __ASM_ARM_ARCH_OMAP2_HARDWARE_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?