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

📄 pxa.h

📁 这是Skyeye 0.9 版本的源代码
💻 H
字号:
#ifndef _PXA_H_
#define _PXA_H_
//chy: refer to  linux/include/asm-arm/arch-pxa/irq.h
enum
{
  RTC_ALARM_IRQ = (1 << 31),
  RTC_HZ_IRQ = (1 << 30),
  OS_IRQ_SHF = 26,
  FFUART_IRQ = (1 << 22),
};
//chy: refer to linux/include/asm-arm/arch-pxa/pxa-regs.h
typedef enum pxa_ioregnum_t
{
  ICIP = 0x40D00000,		/* Interrupt Controller IRQ Pending Register */
  ICMR = 0x40D00004,		/* Interrupt Controller Mask Register */
  ICLR = 0x40D00008,		/* Interrupt Controller Level Register */
  ICFP = 0x40D0000C,		/* Interrupt Controller FIQ Pending Register */
  ICPR = 0x40D00010,		/* Interrupt Controller Pending Register */
  ICCR = 0x40D00014,		/* Interrupt Controller Control Register */

  RCNR = 0x40900000,		/* RTC Count Register */
  RTAR = 0x40900004,		/* RTC Alarm Register */
  RTSR = 0x40900008,		/* RTC Status Register */
  RTTR = 0x4090000C,		/* RTC Timer Trim Register */

  OSMR0 = 0x40A00000,
  OSMR1 = 0x40A00004,
  OSMR2 = 0x40A00008,
  OSMR3 = 0x40A0000C,
  OSCR = 0x40A00010,		/* OS Timer Counter Register */
  OSSR = 0x40A00014,		/* OS Timer Status Register */
  OWER = 0x40A00018,		/* OS Timer Watchdog Enable Register */
  OIER = 0x40A0001C,		/* OS Timer Interrupt Enable Register */


  /*Full Function UART */
  FFRBR = 0x40100000,		/* Receive Buffer Register (read only) */
  FFTHR = 0x40100000,		/* Transmit Holding Register (write only) */
  FFIER = 0x40100004,		/* Interrupt Enable Register (read/write) */
  FFIIR = 0x40100008,		/* Interrupt ID Register (read only) */
  FFFCR = 0x40100008,		/* FIFO Control Register (write only) */
  FFLCR = 0x4010000C,		/* Line Control Register (read/write) */
  FFMCR = 0x40100010,		/* Modem Control Register (read/write) */
  FFLSR = 0x40100014,		/* Line Status Register (read only) */
  FFMSR = 0x40100018,		/* Reserved */
  FFSPR = 0x4010001C,		/* Scratch Pad Register (read/write) */
  FFISR = 0x40100020,		/* Infrared Selection Register (read/write) */
  FFDLL = 0x40100000,		/* Divisor Latch Low Register (DLAB = 1) (read/write) */
  FFDLH = 0x40100004,		/* Divisor Latch High Register (DLAB = 1) (read/write) */
  /*Standard UART */
  BTRBR = 0x40200000,		/* Receive Buffer Register (read only) */
  BTTHR = 0x40200000,		/* Transmit Holding Register (write only) */
  BTIER = 0x40200004,		/* Interrupt Enable Register (read/write) */
  BTIIR = 0x40200008,		/* Interrupt ID Register (read only) */
  BTFCR = 0x40200008,		/* FIFO Control Register (write only) */
  BTLCR = 0x4020000C,		/* Line Control Register (read/write) */
  BTMCR = 0x40200010,		/* Modem Control Register (read/write) */
  BTLSR = 0x40200014,		/* Line Status Register (read only) */
  BTMSR = 0x40200018,		/* Reserved */
  BTSPR = 0x4020001C,		/* Scratch Pad Register (read/write) */
  BTISR = 0x40200020,		/* Infrared Selection Register (read/write) */
  BTDLL = 0x40200000,		/* Divisor Latch Low Register (DLAB = 1) (read/write) */
  BTDLH = 0x40200004,		/* Divisor Latch High Register (DLAB = 1) (read/write) */
  /*Standard UART */
  STRBR = 0x40700000,		/* Receive Buffer Register (read only) */
  STTHR = 0x40700000,		/* Transmit Holding Register (write only) */
  STIER = 0x40700004,		/* Interrupt Enable Register (read/write) */
  STIIR = 0x40700008,		/* Interrupt ID Register (read only) */
  STFCR = 0x40700008,		/* FIFO Control Register (write only) */
  STLCR = 0x4070000C,		/* Line Control Register (read/write) */
  STMCR = 0x40700010,		/* Modem Control Register (read/write) */
  STLSR = 0x40700014,		/* Line Status Register (read only) */
  STMSR = 0x40700018,		/* Reserved */
  STSPR = 0x4070001C,		/* Scratch Pad Register (read/write) */
  STISR = 0x40700020,		/* Infrared Selection Register (read/write) */
  STDLL = 0x40700000,		/* Divisor Latch Low Register (DLAB = 1) (read/write) */
  STDLH = 0x40700004,		/* Divisor Latch High Register (DLAB = 1) (read/write) */

  //core clock regs
  CCCR = 0x41300000,		/* Core Clock Configuration Register */
  CKEN = 0x41300004,		/* Clock Enable Register */
  OSCC = 0x41300008,		/* Oscillator Configuration Register */

  //ywc,2004-11-30, add LCD control register
  LCCR0 = 0x44000000,
  LCCR1 = 0x44000004,
  LCCR2 = 0x44000008,
  LCCR3 = 0x4400000C,

  FDADR0 = 0x44000200,
  FSADR0 = 0x44000204,
  FIDR0 = 0x44000208,
  LDCMD0 = 0x4400020C,

  FDADR1 = 0x44000210,
  FSADR1 = 0x44000214,
  FIDR1 = 0x44000218,
  LDCMD1 = 0x4400021C
    //ywc,2004-11-30, add LCD control register,end
} pxa_ioregnum_t;

//ywc,2004-11-30, add macro definition for LCD
#define LCCR0_ENB       0x00000001
#define LCCR1_PPL       0x000003FF
#define LCCR2_LPP       0x000003FF
#define LCCR3_BPP       0x07000000
//ywc,2004-11-30, add macro definition for LCD,end

//chy 2009-09-19 from skyeye_mach_pxa250.c to here
typedef struct pxa250_io_t
{
  /*interrupt controller */
  u32 icpr;
  u32 icip;
  u32 icfp;
  u32 icmr;
  u32 iccr;
  u32 iclr;

  /*real time clock(RTC) */
  u32 rcnr;
  u32 rtar;
  u32 rtsr;
  u32 rttr;
  //chy: maybe not regs ????
  u32 rt_scale;			/*core frequence to 32.768K */
  u32 rt_count;

  /*os timer */
  u32 oscr;
  u32 osmr0, osmr1, osmr2, osmr3;
  u32 ower;
  u32 ossr;
  u32 oier;
  //chy: maybe not regs ????
  u32 os_scale;			//chy: I can not find it in pxa-regs.h????

  /*full function uart controller */
  u32 ffrbr;
  u32 ffthr;
  u32 ffier;
  u32 ffiir;
  u32 fffcr;
  u32 fflcr;
  u32 ffmcr;
  u32 fflsr;
  u32 ffmsr;
  u32 ffspr;
  u32 ffisr;
  u32 ffdll;
  u32 ffdlh;

  u32 ff_scale;
  /*bluetooth function uart controller */
  u32 btrbr;
  u32 btthr;
  u32 btier;
  u32 btiir;
  u32 btfcr;
  u32 btlcr;
  u32 btmcr;
  u32 btlsr;
  u32 btmsr;
  u32 btspr;
  u32 btisr;
  u32 btdll;
  u32 btdlh;
  /*standard uart controller */
  u32 strbr;
  u32 stthr;
  u32 stier;
  u32 stiir;
  u32 stfcr;
  u32 stlcr;
  u32 stmcr;
  u32 stlsr;
  u32 stmsr;
  u32 stspr;
  u32 stisr;
  u32 stdll;
  u32 stdlh;
  /*core clock */
  u32 cccr;
  u32 cken;
  u32 oscc;

  //ywc,2004-11-30,add io of LCD and Touchscreen
    /*LCD*/
    /* remove them later. */
    u32 lccr0;
  u32 lccr1;
  u32 lccr2;
  u32 lccr3;

  u32 fdadr0;
  u32 fdadr1;

  u32 fsadr0;
  u32 fsadr1;

  /*TouchScreen */
  u32 ts_int;
  u32 ts_buffer[8];
  u32 ts_addr_begin;
  u32 ts_addr_end;
  //ywc,2004-11-30,add io of LCD and Touchscreen,end

} pxa250_io_t;
//chy 2009-09-19 from skyeye_mach_pxa270.c to here
//chy:  lubbock, cerf, idp are different board
// I can add a union to cover the difference in the future
//chy:  refer to linux/include/asm-arm/arch-pxa/pxa-regs.h
typedef struct pxa270_io_t
{
  /*interrupt controller */
  u32 icpr;
  u32 icip;
  u32 icfp;
  u32 icmr;
  u32 iccr;
  u32 iclr;

  /*real time clock(RTC) */
  u32 rcnr;
  u32 rtar;
  u32 rtsr;
  u32 rttr;
  //chy: maybe not regs ????
  u32 rt_scale;			/*core frequence to 32.768K */
  u32 rt_count;

  /*os timer */
  u32 oscr;
  u32 osmr0, osmr1, osmr2, osmr3;
  u32 ower;
  u32 ossr;
  u32 oier;
  //chy: maybe not regs ????
  u32 os_scale;			//chy: I can not find it in pxa-regs.h????

  /*full function uart controller */
  u32 ffrbr;
  u32 ffthr;
  u32 ffier;
  u32 ffiir;
  u32 fffcr;
  u32 fflcr;
  u32 ffmcr;
  u32 fflsr;
  u32 ffmsr;
  u32 ffspr;
  u32 ffisr;
  u32 ffdll;
  u32 ffdlh;

  u32 ff_scale;
  /*bluetooth function uart controller */
  u32 btrbr;
  u32 btthr;
  u32 btier;
  u32 btiir;
  u32 btfcr;
  u32 btlcr;
  u32 btmcr;
  u32 btlsr;
  u32 btmsr;
  u32 btspr;
  u32 btisr;
  u32 btdll;
  u32 btdlh;
  /*standard uart controller */
  u32 strbr;
  u32 stthr;
  u32 stier;
  u32 stiir;
  u32 stfcr;
  u32 stlcr;
  u32 stmcr;
  u32 stlsr;
  u32 stmsr;
  u32 stspr;
  u32 stisr;
  u32 stdll;
  u32 stdlh;
  /*core clock */
  u32 cccr;
  u32 cken;
  u32 oscc;

  //ywc,2004-11-30,add io of LCD and Touchscreen
    /*LCD*/
    /* remove them later. */
    u32 lccr0;
  u32 lccr1;
  u32 lccr2;
  u32 lccr3;

  u32 fdadr0;
  u32 fdadr1;

  u32 fsadr0;
  u32 fsadr1;

  /*TouchScreen */
  u32 ts_int;
  u32 ts_buffer[8];
  u32 ts_addr_begin;
  u32 ts_addr_end;
  //ywc,2004-11-30,add io of LCD and Touchscreen,end

} pxa270_io_t;
//chy 2009-09-19 from skyeye_mach_pxa270.c to here-----end
#endif

⌨️ 快捷键说明

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