?? s3c2410.h
字號:
#define CLKCON_USBH (1<<6)#define CLKCON_LCDC (1<<5)#define CLKCON_NAND (1<<4)#define CLKCON_POWEROFF (1<<3)#define CLKCON_IDLE (1<<2)/* * I/O Port (Page 9-8) * * Register GPACON Port A Control [word, R/W, 0x7ffff] GPADAT Port A Data [word, R/W, ?] GPBCON Port B Control [word, R/W, 0x0] GPBDAT Port B Data [word, R/W, ?] GPBUP Pull-up Control B (low active) [word, R/W, 0x0] GPCCON Port C Control [word, R/W, 0x0] GPCDAT Port C Data [word, R/W, ?] GPCUP Pull-up Control C (low active) [word, R/W, 0x0] GPDCON Port D Control [word, R/W, 0x0] GPDDAT Port D Data [word, R/W, ?] GPDUP Pull-up Control D (low active) [word, R/W, 0xF000] GPECON Port E Control [word, R/W, 0x0] GPEDAT Port E Data [word, R/W, ?] GPEUP Pull-up Control E (low active) [word, R/W, 0x0] GPFCON Port F Control [word, R/W, 0x0] GPFDAT Port F Data [word, R/W, ?] GPFUP Pull-up Control F (low active) [word, R/W, 0x0] GPGCON Port G Control [word, R/W, 0x0] GPGDAT Port G Data [word, R/W, ?] GPGUP Pull-up Control G (low active) [word, R/W, 0xF800] GPHCON Port H Control [word, R/W, 0x0] GPHDAT Port H Data [word, R/W, ?] GPHUP Pull-up Control H (low active) [word, R/W, 0x0] MISCCR Miscellaneous Control [word, R/W, 0x10330] DCLKCON DCLK0/1 Control [word, R/W, 0x0] EXTINT0 External Interrupt 0 Control [word, R/W, 0x0] EXTINT1 External Interrupt 0 Control [word, R/W, 0x0] EXTINT2 External Interrupt 0 Control [word, R/W, 0x0] EINFLT0 Reserved EINFLT1 Reserved EINFLT2 External Interrupt 2 Filter [word, R/W, 0x0] EINFLT3 External Interrupt 3 Filter [word, R/W, 0x0] EINTMASK External Interrupt Mask [word, R/W, 0x00fffff0] EINTPEND External Interrupt Pending [word, R/W, 0x0] GSTATUS0 General Status (External Pin status) [word, R, ?] GSTATUS1 General Status (Chip ID) [word, R/W, 0x32410000] * */#define GPIO_CTL_BASE 0x56000000#define bGPIO(p) __REG(GPIO_CTL_BASE + (p))#define MISCCR bGPIO(0x80)#define DCLKCON bGPIO(0x84)#define EXTINT0 bGPIO(0x88)#define EXTINT1 bGPIO(0x8c)#define EXTINT2 bGPIO(0x90)#define EINTFLT0 bGPIO(0x94)#define EINTFLT1 bGPIO(0x98)#define EINTFLT2 bGPIO(0x9c)#define EINTFLT3 bGPIO(0xa0)#define EINTMASK bGPIO(0xa4)#define EINTPEND bGPIO(0xa8)#define GSTATUS0 bGPIO(0xac)#define GSTATUS1 bGPIO(0xb0)#define GSTATUS2 bGPIO(0xb4)#define GSTATUS3 bGPIO(0xb8)#define GSTATUS4 bGPIO(0xbc)#define GPACON bGPIO(0x00)#define GPADAT bGPIO(0x04)#define GPBCON bGPIO(0x10)#define GPBDAT bGPIO(0x14)#define GPBUP bGPIO(0x18)#define GPCCON bGPIO(0x20)#define GPCDAT bGPIO(0x24)#define GPCUP bGPIO(0x28)#define GPDCON bGPIO(0x30)#define GPDDAT bGPIO(0x34)#define GPDUP bGPIO(0x38)#define GPECON bGPIO(0x40)#define GPEDAT bGPIO(0x44)#define GPEUP bGPIO(0x48)#define GPFCON bGPIO(0x50)#define GPFDAT bGPIO(0x54)#define GPFUP bGPIO(0x58)#define GPGCON bGPIO(0x60)#define GPGDAT bGPIO(0x64)#define GPGUP bGPIO(0x68)#define GPHCON bGPIO(0x70)#define GPHDAT bGPIO(0x74)#define GPHUP bGPIO(0x78)/* Miscellaneous */#define MISCCR_nRSTCON (1 << 16) /* nRSTOUT software control */#define MISCCR_USB0_SUSPEND (1 << 12) /* set USB port 0 to Sleep */#define MISCCR_USB1_SUSPEND (1 << 13) /* set USB port 1 to Sleep */#define fMISCCR_CLKSEL(x) Fld(3, 4*((x)+1))#define MISCCR_CLKSEL(x) FMsk(fMISCCR_CLKSEL(x)) /* select ? CLK with CLKOUTx pad */#define MISCCR_CLKSEL_MPLL(x) FInsrt(0x0, fMISCCR_CLKSEL(x))#define MISCCR_CLKSEL_UPLL(x) FInsrt(0x1, fMISCCR_CLKSEL(x))#define MISCCR_CLKSEL_FCLK(x) FInsrt(0x2, fMISCCR_CLKSEL(x))#define MISCCR_CLKSEL_HCLK(x) FInsrt(0x3, fMISCCR_CLKSEL(x))#define MISCCR_CLKSEL_PCLK(x) FInsrt(0x4, fMISCCR_CLKSEL(x))#define MISCCR_CLKSEL_DCLK(x) FInsrt(0x5, fMISCCR_CLKSEL(x))#define MISCCR_USBPAD (1 << 3) /* use pads related USB for 0: USB slave, 1: USB host */#define MISCCR_HZSTOP (1 << 2) /* 0: HZ@stop 1: previous state of PAD */#define MISCCR_SPUCR1 (1 << 1) /* DATA[31:16] port pull-up */#define MISCCR_SPUCR0 (1 << 0) /* DATA[15:0] port pull-up *//* DCLK control register */#define fDCLKCMP(x) Fld(4,8+16*(x)) /* DCLK Compare value clock */#define mDCLKCMP(x) FMsk(fDCLKCMP(x))#define DCLKCMP(x, y) Finsrt((y), fDCLKCMP(x))#define fDCLKDIV(x) Fld(4,4+16*(x)) /* DCLK divide value */#define mDCLKDIV(x) FMsk(fDCLKDIV(x))#define DCLKDIV(x, y) Finsrt((y), fDCLKDIV(x))#define DCLKSEL_PCLK(x) (0 << (1+16*(x)) /* Select PCLK as DCLK Source Clock */#define DCLKSEL_USB(x) (1 << (1+16*(x)) /* Select USBCLK as DCLK Source Clock */#define DCLK1CMP mDCLKCMP(1)#define DCLK1DIV mDCLKDIV(1)#define DCLK1SEL_PCLK DCLKSEL_PCLK(1)#define DCLK1SEL_USB DCLKSEL_USB(1)#define DCLK0CMP mDCLKCMP(0)#define DCLK0DIV mDCLKDIV(0)#define DCLK0SEL_PCLK DCLKSEL_PCLK(0)#define DCLK0SEL_USB DCLKSEL_USB(0)/* General Status */#define GSTAT0_nWAIT (1 << 3) /* Status of nWAIT pin */#define GSTAT0_NCON1 (1 << 2) /* Status of NCON1 pin */#define GSTAT0_NCON0 (1 << 1) /* Status of NCON0 pin */#define GSTAT0_BATT_FLT (1 << 0) /* Status of BATT_FLT pin *//* * 2002-10-08: Janghoon Lyu <nandy@mizi.com> * 貨酚霸 矯檔秦 壕聰促. * | MODE | PULLUP | PORT | OFFSET | */#define GPCON(x) __REG2(0x56000000, (x) * 0x10)#define GPDAT(x) __REG2(0x56000004, (x) * 0x10)#define GPUP(x) __REG2(0x56000008, (x) * 0x10)#define GPIO_OFS_SHIFT 0#define GPIO_PORT_SHIFTT 8#define GPIO_PULLUP_SHIFT 16 #define GPIO_MODE_SHIFT 24#define GPIO_OFS_MASK 0x000000ff#define GPIO_PORT_MASK 0x0000ff00#define GPIO_PULLUP_MASK 0x00ff0000#define GPIO_MODE_MASK 0xff000000#define GPIO_MODE_IN (0 << GPIO_MODE_SHIFT)#define GPIO_MODE_OUT (1 << GPIO_MODE_SHIFT)#define GPIO_MODE_ALT0 (2 << GPIO_MODE_SHIFT)#define GPIO_MODE_ALT1 (3 << GPIO_MODE_SHIFT)#define GPIO_PULLUP_EN (0 << GPIO_PULLUP_SHIFT)#define GPIO_PULLUP_DIS (1 << GPIO_PULLUP_SHIFT) #define PORTA_OFS 0#define PORTB_OFS 1#define PORTC_OFS 2#define PORTD_OFS 3#define PORTE_OFS 4#define PORTF_OFS 5#define PORTG_OFS 6#define PORTH_OFS 7#define MAKE_GPIO_NUM(p, o) ((p << GPIO_PORT_SHIFTT) | (o << GPIO_OFS_SHIFT))#define GRAB_MODE(x) (((x) & GPIO_MODE_MASK) >> GPIO_MODE_SHIFT)#define GRAB_PULLUP(x) (((x) & GPIO_PULLUP_MASK) >> GPIO_PULLUP_SHIFT)#define GRAB_PORT(x) (((x) & GPIO_PORT_MASK) >> GPIO_PORT_SHIFTT)#define GRAB_OFS(x) (((x) & GPIO_OFS_MASK) >> GPIO_OFS_SHIFT)#define set_gpio_ctrl(x) \ ({ GPCON(GRAB_PORT((x))) &= ~(0x3 << (GRAB_OFS((x))*2)); \ GPCON(GRAB_PORT(x)) |= (GRAB_MODE(x) << (GRAB_OFS((x))*2)); \ GPUP(GRAB_PORT((x))) &= ~(1 << GRAB_OFS((x))); \ GPUP(GRAB_PORT((x))) |= (GRAB_PULLUP((x)) << GRAB_OFS((x))); })#define set_gpio_pullup(x) \ ({ GPUP(GRAB_PORT((x))) &= ~(1 << GRAB_OFS((x))); \ GPUP(GRAB_PORT((x))) |= (GRAB_PULLUP((x)) << GRAB_OFS((x))); })#define set_gpio_pullup_user(x, v) \ ({ GPUP(GRAB_PORT((x))) &= ~(1 << GRAB_OFS((x))); \ GPUP(GRAB_PORT((x))) |= ((v) << GRAB_OFS((x))); })#define set_gpio_mode(x) \ ({ GPCON(GRAB_PORT((x))) &= ~(0x3 << (GRAB_OFS((x))*2)); \ GPCON(GRAB_PORT((x))) |= (GRAB_MODE((x)) << (GRAB_OFS((x))*2)); })#define set_gpio_mode_user(x, v) \ ({ GPCON(GRAB_PORT((x))) & = ~(0x3 << (GRAB_OFS((x))*2)); \ GPCON(GRAB_PORT((x))) |= ((v) << (GRAB_OFS((x))*2)); })#define set_gpioA_mode(x) \ ({ GPCON(GRAB_PORT((x))) &= ~(0x1 << GRAB_OFS((x))); \ GPCON(GRAB_PORT((x))) |= (GRAB_MODE((x)) << GRAB_OFS((x))); })#define read_gpio_bit(x) ((GPDAT(GRAB_PORT((x))) & (1<<GRAB_OFS((x)))) >> GRAB_OFS((x)))#define read_gpio_reg(x) GPDAT(GRAB_PORT((x)))#define write_gpio_bit(x, v) \ ({ GPDAT(GRAB_PORT((x))) &= ~(0x1 << GRAB_OFS((x))); \ GPDAT(GRAB_PORT((x))) |= ((v) << GRAB_OFS((x))); })#define write_gpio_reg(x, v) (GPDAT(GRAB_PORT((x))) = (v)) #define GPIO_A0 MAKE_GPIO_NUM(PORTA_OFS, 0)#define GPIO_A1 MAKE_GPIO_NUM(PORTA_OFS, 1)#define GPIO_A2 MAKE_GPIO_NUM(PORTA_OFS, 2)#define GPIO_A3 MAKE_GPIO_NUM(PORTA_OFS, 3)#define GPIO_A4 MAKE_GPIO_NUM(PORTA_OFS, 4)#define GPIO_A5 MAKE_GPIO_NUM(PORTA_OFS, 5)#define GPIO_A6 MAKE_GPIO_NUM(PORTA_OFS, 6)#define GPIO_A7 MAKE_GPIO_NUM(PORTA_OFS, 7)#define GPIO_A8 MAKE_GPIO_NUM(PORTA_OFS, 8)#define GPIO_A9 MAKE_GPIO_NUM(PORTA_OFS, 9)#define GPIO_A10 MAKE_GPIO_NUM(PORTA_OFS, 10)#define GPIO_A11 MAKE_GPIO_NUM(PORTA_OFS, 11)#define GPIO_A12 MAKE_GPIO_NUM(PORTA_OFS, 12)#define GPIO_A13 MAKE_GPIO_NUM(PORTA_OFS, 13)#define GPIO_A14 MAKE_GPIO_NUM(PORTA_OFS, 14)#define GPIO_A15 MAKE_GPIO_NUM(PORTA_OFS, 15)#define GPIO_A16 MAKE_GPIO_NUM(PORTA_OFS, 16)#define GPIO_A17 MAKE_GPIO_NUM(PORTA_OFS, 17)#define GPIO_A18 MAKE_GPIO_NUM(PORTA_OFS, 18)#define GPIO_A19 MAKE_GPIO_NUM(PORTA_OFS, 19)#define GPIO_A20 MAKE_GPIO_NUM(PORTA_OFS, 20)#define GPIO_A21 MAKE_GPIO_NUM(PORTA_OFS, 21)#define GPIO_A22 MAKE_GPIO_NUM(PORTA_OFS, 22)#define GPIO_B0 MAKE_GPIO_NUM(PORTB_OFS, 0)#define GPIO_B1 MAKE_GPIO_NUM(PORTB_OFS, 1)#define GPIO_B2 MAKE_GPIO_NUM(PORTB_OFS, 2)#define GPIO_B3 MAKE_GPIO_NUM(PORTB_OFS, 3)#define GPIO_B4 MAKE_GPIO_NUM(PORTB_OFS, 4)#define GPIO_B5 MAKE_GPIO_NUM(PORTB_OFS, 5)#define GPIO_B6 MAKE_GPIO_NUM(PORTB_OFS, 6)#define GPIO_B7 MAKE_GPIO_NUM(PORTB_OFS, 7)#define GPIO_B8 MAKE_GPIO_NUM(PORTB_OFS, 8)#define GPIO_B9 MAKE_GPIO_NUM(PORTB_OFS, 9)#define GPIO_B10 MAKE_GPIO_NUM(PORTB_OFS, 10)#define GPIO_C0 MAKE_GPIO_NUM(PORTC_OFS, 0)#define GPIO_C1 MAKE_GPIO_NUM(PORTC_OFS, 1)#define GPIO_C2 MAKE_GPIO_NUM(PORTC_OFS, 2)#define GPIO_C3 MAKE_GPIO_NUM(PORTC_OFS, 3)#define GPIO_C4 MAKE_GPIO_NUM(PORTC_OFS, 4)#define GPIO_C5 MAKE_GPIO_NUM(PORTC_OFS, 5)#define GPIO_C6 MAKE_GPIO_NUM(PORTC_OFS, 6)#define GPIO_C7 MAKE_GPIO_NUM(PORTC_OFS, 7)#define GPIO_C8 MAKE_GPIO_NUM(PORTC_OFS, 8)#define GPIO_C9 MAKE_GPIO_NUM(PORTC_OFS, 9)#define GPIO_C10 MAKE_GPIO_NUM(PORTC_OFS, 10)#define GPIO_C11 MAKE_GPIO_NUM(PORTC_OFS, 11)#define GPIO_C12 MAKE_GPIO_NUM(PORTC_OFS, 12)#define GPIO_C13 MAKE_GPIO_NUM(PORTC_OFS, 13)#define GPIO_C14 MAKE_GPIO_NUM(PORTC_OFS, 14)#define GPIO_C15 MAKE_GPIO_NUM(PORTC_OFS, 15)#define GPIO_D0 MAKE_GPIO_NUM(PORTD_OFS, 0)#define GPIO_D1 MAKE_GPIO_NUM(PORTD_OFS, 1)#define GPIO_D2 MAKE_GPIO_NUM(PORTD_OFS, 2)#define GPIO_D3 MAKE_GPIO_NUM(PORTD_OFS, 3)#define GPIO_D4 MAKE_GPIO_NUM(PORTD_OFS, 4)#define GPIO_D5 MAKE_GPIO_NUM(PORTD_OFS, 5)#define GPIO_D6 MAKE_GPIO_NUM(PORTD_OFS, 6)#define GPIO_D7 MAKE_GPIO_NUM(PORTD_OFS, 7)#define GPIO_D8 MAKE_GPIO_NUM(PORTD_OFS, 8)#define GPIO_D9 MAKE_GPIO_NUM(PORTD_OFS, 9)#define GPIO_D10 MAKE_GPIO_NUM(PORTD_OFS, 10)#define GPIO_D11 MAKE_GPIO_NUM(PORTD_OFS, 11)#define GPIO_D12 MAKE_GPIO_NUM(PORTD_OFS, 12)#define GPIO_D13 MAKE_GPIO_NUM(PORTD_OFS, 13)#define GPIO_D14 MAKE_GPIO_NUM(PORTD_OFS, 14)#define GPIO_D15 MAKE_GPIO_NUM(PORTD_OFS, 15)#define GPIO_E0 MAKE_GPIO_NUM(PORTE_OFS, 0)#define GPIO_E1 MAKE_GPIO_NUM(PORTE_OFS, 1)#define GPIO_E2 MAKE_GPIO_NUM(PORTE_OFS, 2)#define GPIO_E3 MAKE_GPIO_NUM(PORTE_OFS, 3)#define GPIO_E4 MAKE_GPIO_NUM(PORTE_OFS, 4)#define GPIO_E5 MAKE_GPIO_NUM(PORTE_OFS, 5)#define GPIO_E6 MAKE_GPIO_NUM(PORTE_OFS, 6)#define GPIO_E7 MAKE_GPIO_NUM(PORTE_OFS, 7)#define GPIO_E8 MAKE_GPIO_NUM(PORTE_OFS, 8)#define GPIO_E9 MAKE_GPIO_NUM(PORTE_OFS, 9)#define GPIO_E10 MAKE_GPIO_NUM(PORTE_OFS, 10)#define GPIO_E11 MAKE_GPIO_NUM(PORTE_OFS, 11)#define GPIO_E12 MAKE_GPIO_NUM(PORTE_OFS, 12)#define GPIO_E13 MAKE_GPIO_NUM(PORTE_OFS, 13)#define GPIO_E14 MAKE_GPIO_NUM(PORTE_OFS, 14)#define GPIO_E15 MAKE_GPIO_NUM(PORTE_OFS, 15)#define GPIO_F0 MAKE_GPIO_NUM(PORTF_OFS, 0)#define GPIO_F1 MAKE_GPIO_NUM(PORTF_OFS, 1)#define GPIO_F2 MAKE_GPIO_NUM(PORTF_OFS, 2)#define GPIO_F3 MAKE_GPIO_NUM(PORTF_OFS, 3)#define GPIO_F4 MAKE_GPIO_NUM(PORTF_OFS, 4)#define GPIO_F5 MAKE_GPIO_NUM(PORTF_OFS, 5)#define GPIO_F6 MAKE_GPIO_NUM(PORTF_OFS, 6)#define GPIO_F7 MAKE_GPIO_NUM(PORTF_OFS, 7)#define GPIO_G0 MAKE_GPIO_NUM(PORTG_OFS, 0)#define GPIO_G1 MAKE_GPIO_NUM(PORTG_OFS, 1)#define GPIO_G2 MAKE_GPIO_NUM(PORTG_OFS, 2)#define GPIO_G3 MAKE_GPIO_NUM(PORTG_OFS, 3)#define GPIO_G4 MAKE_GPIO_NUM(PORTG_OFS, 4)#define GPIO_G5 MAKE_GPIO_NUM(PORTG_OFS, 5)#define GPIO_G6 MAKE_GPIO_NUM(PORTG_OFS, 6)#define GPIO_G7 MAKE_GPIO_NUM(PORTG_OFS, 7)#define GPIO_G8 MAKE_GPIO_NUM(PORTG_OFS, 8)#define GPIO_G9 MAKE_GPIO_NUM(PORTG_OFS, 9)#define GPIO_G10 MAKE_GPIO_NUM(PORTG_OFS, 10)#define GPIO_G11 MAKE_GPIO_NUM(PORTG_OFS, 11)#define GPIO_G12 MAKE_GPIO_NUM(PORTG_OFS, 12)#define GPIO_G13 MAKE_GPIO_NUM(PORTG_OFS, 13)#define GPIO_G14 MAKE_GPIO_NUM(PORTG_OFS, 14)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -