⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 omap1510.h

📁 嵌入式试验箱S3C2410的bootloader源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
#define OMAP_DMA_BASE	  OMAP1510_DMA_BASE/* Global Register selection */#define NO_GLOBAL_DMA_ACCESS 0/* Channel select field * NOTE: all other channels are linear, chan0 is 0, chan1 is 1, etc... */#define LCD_CHANNEL 0xc/* Register Select Field (LCD) */#define DMA_LCD_CTRL		0#define DMA_LCD_TOP_F1_L	1#define DMA_LCD_TOP_F1_U	2#define DMA_LCD_BOT_F1_L	3#define DMA_LCD_BOT_F1_U	4#define LCD_FRAME_MODE		(1<<0)#define LCD_FRAME_IT_IE		(1<<1)#define LCD_BUS_ERROR_IT_IE	(1<<2)#define LCD_FRAME_1_IT_COND	(1<<3)#define LCD_FRAME_2_IT_COND	(1<<4)#define LCD_BUS_ERROR_IT_COND	(1<<5)#define LCD_SOURCE_IMIF		(1<<6)/* * Real-Time Clock */#define RTC_SECONDS		(volatile __u8 *)(OMAP1510_RTC_BASE + 0x00)#define RTC_MINUTES		(volatile __u8 *)(OMAP1510_RTC_BASE + 0x04)#define RTC_HOURS		(volatile __u8 *)(OMAP1510_RTC_BASE + 0x08)#define RTC_DAYS		(volatile __u8 *)(OMAP1510_RTC_BASE + 0x0C)#define RTC_MONTHS		(volatile __u8 *)(OMAP1510_RTC_BASE + 0x10)#define RTC_YEARS		(volatile __u8 *)(OMAP1510_RTC_BASE + 0x14)#define RTC_CTRL		(volatile __u8 *)(OMAP1510_RTC_BASE + 0x40)/* --------------------------------------------------------------------------- *  OMAP1510 Interrupt Handlers * --------------------------------------------------------------------------- * */#define OMAP_IH1_BASE		0xfffecb00#define OMAP_IH2_BASE		0xfffe0000#define OMAP1510_ITR		0x0#define OMAP1510_MASK		0x4#define INTERRUPT_HANDLER_BASE	 OMAP_IH1_BASE#define INTERRUPT_INPUT_REGISTER OMAP1510_ITR#define INTERRUPT_MASK_REGISTER	 OMAP1510_MASK/* --------------------------------------------------------------------------- *  OMAP1510 TIMERS * --------------------------------------------------------------------------- * */#define OMAP1510_32kHz_TIMER_BASE 0xfffb9000/* 32k Timer Registers */#define TIMER32k_CR	0x08#define TIMER32k_TVR	0x00#define TIMER32k_TCR	0x04/* 32k Timer Control Register definition */#define TIMER32k_TSS	(1<<0)#define TIMER32k_TRB	(1<<1)#define TIMER32k_INT	(1<<2)#define TIMER32k_ARL	(1<<3)/* MPU Timer base addresses  */#define OMAP1510_MPUTIMER_BASE	0xfffec500#define OMAP1510_MPUTIMER_OFF	0x00000100#define OMAP1510_TIMER1_BASE	0xfffec500#define OMAP1510_TIMER2_BASE	0xfffec600#define OMAP1510_TIMER3_BASE	0xfffec700/* MPU Timer Registers */#define CNTL_TIMER	0#define LOAD_TIM	4#define READ_TIM	8/*  CNTL_TIMER register bits */#define MPUTIM_FREE		(1<<6)#define MPUTIM_CLOCK_ENABLE	(1<<5)#define MPUTIM_PTV_MASK		(0x7<<PTV_BIT)#define MPUTIM_PTV_BIT		2#define MPUTIM_AR		(1<<1)#define MPUTIM_ST		(1<<0)/* --------------------------------------------------------------------------- *  OMAP1510 GPIO (SHARED) * --------------------------------------------------------------------------- * */#define GPIO_DATA_INPUT_REG	(OMAP1510_GPIO_BASE + 0x0)#define GPIO_DATA_OUTPUT_REG	(OMAP1510_GPIO_BASE + 0x4)#define GPIO_DIR_CONTROL_REG	(OMAP1510_GPIO_BASE + 0x8)#define GPIO_INT_CONTROL_REG	(OMAP1510_GPIO_BASE + 0xc)#define GPIO_INT_MASK_REG	(OMAP1510_GPIO_BASE + 0x10)#define GPIO_INT_STATUS_REG	(OMAP1510_GPIO_BASE + 0x14)#define GPIO_PIN_CONTROL_REG	(OMAP1510_GPIO_BASE + 0x18)/* --------------------------- * OMAP1510 MPUIO (ARM only) *---------------------------- */#define OMAP1510_MPUIO_BASE	0xFFFB5000#define MPUIO_DATA_INPUT_REG	(OMAP1510_MPUIO_BASE + 0x0)#define MPUIO_DATA_OUTPUT_REG	(OMAP1510_MPUIO_BASE + 0x4)#define MPUIO_DIR_CONTROL_REG	(OMAP1510_MPUIO_BASE + 0x8)/* --------------------------------------------------------------------------- *  OMAP1510 TIPB (only) * --------------------------------------------------------------------------- * */#define TIPB_PUBLIC_CNTL_BASE		0xfffed300#define MPU_PUBLIC_TIPB_CNTL_REG	(TIPB_PUBLIC_CNTL_BASE + 0x8)#define TIPB_PRIVATE_CNTL_BASE		0xfffeca00#define MPU_PRIVATE_TIPB_CNTL_REG	(TIPB_PRIVATE_CNTL_BASE + 0x8)/* * --------------------------------------------------------------------------- *  OMAP1510 Camera Interface * --------------------------------------------------------------------------- */#define CAMERA_BASE		(IO_BASE + 0x6800)#define CAM_CTRLCLOCK_REG	(CAMERA_BASE + 0x00)#define CAM_IT_STATUS_REG	(CAMERA_BASE + 0x04)#define CAM_MODE_REG		(CAMERA_BASE + 0x08)#define CAM_STATUS_REG		(CAMERA_BASE + 0x0C)#define CAM_CAMDATA_REG		(CAMERA_BASE + 0x10)#define CAM_GPIO_REG		(CAMERA_BASE + 0x14)#define CAM_PEAK_CTR_REG	(CAMERA_BASE + 0x18)#if 0#ifndef __ASSEMBLY__typedef struct {	__u32 ctrlclock;	__u32 it_status;	__u32 mode;	__u32 status;	__u32 camdata;	__u32 gpio;	__u32 peak_counter;} camera_regs_t;#endif#endif/* CTRLCLOCK bit shifts */#define FOSCMOD_BIT	0#define FOSCMOD_MASK	(0x7 << FOSCMOD_BIT)#define	 FOSCMOD_12MHz	0x0#define	 FOSCMOD_6MHz	0x2#define	 FOSCMOD_9_6MHz 0x4#define	 FOSCMOD_24MHz	0x5#define	 FOSCMOD_8MHz	0x6#define POLCLK		(1<<3)#define CAMEXCLK_EN	(1<<4)#define MCLK_EN		(1<<5)#define DPLL_EN		(1<<6)#define LCLK_EN		(1<<7)/* IT_STATUS bit shifts */#define V_UP		(1<<0)#define V_DOWN		(1<<1)#define H_UP		(1<<2)#define H_DOWN		(1<<3)#define FIFO_FULL	(1<<4)#define DATA_XFER	(1<<5)/* MODE bit shifts */#define CAMOSC		(1<<0)#define IMGSIZE_BIT	1#define IMGSIZE_MASK	(0x3 << IMGSIZE_BIT)#define	 IMGSIZE_CIF	(0x0 << IMGSIZE_BIT)	/* 352x288 */#define	 IMGSIZE_QCIF	(0x1 << IMGSIZE_BIT)	/* 176x144 */#define	 IMGSIZE_VGA	(0x2 << IMGSIZE_BIT)	/* 640x480 */#define	 IMGSIZE_QVGA	(0x3 << IMGSIZE_BIT)	/* 320x240 */#define ORDERCAMD	(1<<3)#define EN_V_UP		(1<<4)#define EN_V_DOWN	(1<<5)#define EN_H_UP		(1<<6)#define EN_H_DOWN	(1<<7)#define EN_DMA		(1<<8)#define THRESHOLD	(1<<9)#define THRESHOLD_BIT	9#define THRESHOLD_MASK	(0x7f<<9)#define EN_NIRQ		(1<<16)#define EN_FIFO_FULL	(1<<17)#define RAZ_FIFO	(1<<18)/* STATUS bit shifts */#define VSTATUS		(1<<0)#define HSTATUS		(1<<1)/* GPIO bit shifts */#define CAM_RST		(1<<0)/********************* * Watchdog timer. *********************/#define WDTIM_BASE	0xfffec800#define WDTIM_CONTROL	(WDTIM_BASE+0x00)#define WDTIM_LOAD	(WDTIM_BASE+0x04)#define WDTIM_READ	(WDTIM_BASE+0x04)#define WDTIM_MODE	(WDTIM_BASE+0x08)/* Values to write to mode register to disable the watchdog function. */#define DISABLE_SEQ1	0xF5#define DISABLE_SEQ2	0xA0/* WDTIM_CONTROL bit definitions. */#define WDTIM_CONTROL_ST	BIT7/* --------------------------------------------------------------------------- *  Differentiating processor versions for those who care. * --------------------------------------------------------------------------- * */#define OMAP1509 0#define OMAP1510 1#define OMAP1510_ID_CODE_REG 0xfffed404#ifndef __ASSEMBLY__int cpu_type(void);#endif/* * EVM Implementation Specifics. * * *** NOTE *** * Any definitions in these files should be prefixed by an identifier - * eg. OMAP1510P1_FLASH0_BASE . * */#ifdef CONFIG_OMAP_INNOVATOR#include "innovator.h"#endif#ifdef CONFIG_OMAP_1510P1#include "omap1510p1.h"#endif/*****************************************************************************/#define CLKGEN_RESET_BASE (0xfffece00)#define ARM_CKCTL	(volatile __u16 *)(CLKGEN_RESET_BASE + 0x0)#define ARM_IDLECT1	(volatile __u16 *)(CLKGEN_RESET_BASE + 0x4)#define ARM_IDLECT2	(volatile __u16 *)(CLKGEN_RESET_BASE + 0x8)#define ARM_EWUPCT	(volatile __u16 *)(CLKGEN_RESET_BASE + 0xC)#define ARM_RSTCT1	(volatile __u16 *)(CLKGEN_RESET_BASE + 0x10)#define ARM_RSTCT2	(volatile __u16 *)(CLKGEN_RESET_BASE + 0x14)#define ARM_SYSST	(volatile __u16 *)(CLKGEN_RESET_BASE + 0x18)#define CK_CLKIN	12 /* MHz */#define CK_RATEF	1#define CK_IDLEF	2#define CK_ENABLEF	4#define CK_SELECTF	8#ifndef __ASSEMBLER__#define CK_DPLL1	((volatile __u16 *)0xfffecf00)#else#define CK_DPLL1 (0xfffecf00)#endif#define SETARM_IDLE_SHIFT/* ARM_CKCTL bit shifts */#define PERDIV		0#define LCDDIV		2#define ARMDIV		4#define DSPDIV		6#define TCDIV		8#define DSPMMUDIV	10#define ARM_TIMXO	12#define EN_DSPCK	13#define ARM_INTHCK_SEL	14 /* REVISIT -- where is this used? */#define ARM_CKCTL_RSRVD_BIT15		(1 << 15)#define ARM_CKCTL_ARM_INTHCK_SEL	(1 << 14)#define ARM_CKCTL_EN_DSPCK		(1 << 13)#define ARM_CKCTL_ARM_TIMXO		(1 << 12)#define ARM_CKCTL_DSPMMU_DIV1		(1 << 11)#define ARM_CKCTL_DSPMMU_DIV2		(1 << 10)#define ARM_CKCTL_TCDIV1		(1 << 9)#define ARM_CKCTL_TCDIV2		(1 << 8)#define ARM_CKCTL_DSPDIV1		(1 << 7)#define ARM_CKCTL_DSPDIV0		(1 << 6)#define ARM_CKCTL_ARMDIV1		(1 << 5)#define ARM_CKCTL_ARMDIV0		(1 << 4)#define ARM_CKCTL_LCDDIV1		(1 << 3)#define ARM_CKCTL_LCDDIV0		(1 << 2)#define ARM_CKCTL_PERDIV1		(1 << 1)#define ARM_CKCTL_PERDIV0		(1 << 0)/* ARM_IDLECT1 bit shifts */#define IDLWDT_ARM	0#define IDLXORP_ARM	1#define IDLPER_ARM	2#define IDLLCD_ARM	3#define IDLLB_ARM	4#define IDLHSAB_ARM	5#define IDLIF_ARM	6#define IDLDPLL_ARM	7#define IDLAPI_ARM	8#define IDLTIM_ARM	9#define SETARM_IDLE	11/* ARM_IDLECT2 bit shifts */#define EN_WDTCK	0#define EN_XORPCK	1#define EN_PERCK	2#define EN_LCDCK	3#define EN_LBCK		4#define EN_HSABCK	5#define EN_APICK	6#define EN_TIMCK	7#define DMACK_REQ	8#define EN_GPIOCK	9#define EN_LBFREECK	10#define ARM_RSTCT1_SW_RST	(1 << 3)#define ARM_RSTCT1_DSP_RST	(1 << 2)#define ARM_RSTCT1_DSP_EN	(1 << 1)#define ARM_RSTCT1_ARM_RST	(1 << 0)/* ARM_RSTCT2 bit shifts */#define EN_PER		0#define ARM_SYSST_RSRVD_BIT15	(1 << 15)#define ARM_SYSST_RSRVD_BIT14	(1 << 14)#define ARM_SYSST_CLOCK_SELECT2 (1 << 13)#define ARM_SYSST_CLOCK_SELECT1 (1 << 12)#define ARM_SYSST_CLOCK_SELECT0 (1 << 11)#define ARM_SYSST_RSRVD_BIT10	(1 << 10)#define ARM_SYSST_RSRVD_BIT9	(1 << 9)#define ARM_SYSST_RSRVD_BIT8	(1 << 8)#define ARM_SYSST_RSRVD_BIT7	(1 << 7)#define ARM_SYSST_IDLE_DSP	(1 << 6)#define ARM_SYSST_POR		(1 << 5)#define ARM_SYSST_EXT_RST	(1 << 4)#define ARM_SYSST_ARM_MCRST	(1 << 3)#define ARM_SYSST_ARM_WDRST	(1 << 2)#define ARM_SYSST_GLOB_SWRST	(1 << 1)#define ARM_SYSST_DSP_WDRST	(1 << 0)/* Table 15-23. DPLL Control Registers: */#define DPLL_CTL_REG		(volatile __u16 *)(0xfffecf00)/* Table 15-24. Control Register (CTL_REG): */#define DPLL_CTL_REG_IOB		(1 << 13)#define DPLL_CTL_REG_PLL_MULT		Fld(5,0)/*****************************************************************************//* OMAP INTERRUPT REGISTERS */#define IRQ_ITR			0x00#define IRQ_MIR			0x04#define IRQ_SIR_IRQ		0x10#define IRQ_SIR_FIQ		0x14#define IRQ_CONTROL_REG		0x18#define IRQ_ISR			0x9c#define IRQ_ILR0		0x1c#define REG_IHL1_MIR  (OMAP_IH1_BASE+IRQ_MIR)#define REG_IHL2_MIR  (OMAP_IH2_BASE+IRQ_MIR)/* INTERRUPT LEVEL REGISTER BITS */#define ILR_PRIORITY_MASK	(0x3c)#define ILR_PRIORITY_SHIFT	(2)#define ILR_LEVEL_TRIGGER	(1<<1)#define ILR_FIQ			(1<<0)#define IRQ_LEVEL_INT		1#define IRQ_EDGE_INT		0/* Macros to access registers */#define outb(v,p) *(volatile u8 *) (p) = v#define outw(v,p) *(volatile u16 *) (p) = v#define outl(v,p) *(volatile u32 *) (p) = v#define inb(p)	*(volatile u8 *) (p)#define inw(p)	*(volatile u16 *) (p)#define inl(p)	*(volatile u32 *) (p)

⌨️ 快捷键说明

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