📄 s3c2410.h
字号:
#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 */#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)#define GPIO_G15 MAKE_GPIO_NUM(PORTG_OFS, 15)#define GPIO_H0 MAKE_GPIO_NUM(PORTH_OFS, 0)#define GPIO_H1 MAKE_GPIO_NUM(PORTH_OFS, 1)#define GPIO_H2 MAKE_GPIO_NUM(PORTH_OFS, 2)#define GPIO_H3 MAKE_GPIO_NUM(PORTH_OFS, 3)#define GPIO_H4 MAKE_GPIO_NUM(PORTH_OFS, 4)#define GPIO_H5 MAKE_GPIO_NUM(PORTH_OFS, 5)#define GPIO_H6 MAKE_GPIO_NUM(PORTH_OFS, 6)#define GPIO_H7 MAKE_GPIO_NUM(PORTH_OFS, 7)#define GPIO_H8 MAKE_GPIO_NUM(PORTH_OFS, 8)#define GPIO_H9 MAKE_GPIO_NUM(PORTH_OFS, 9)#define GPIO_H10 MAKE_GPIO_NUM(PORTH_OFS, 10)#define GPIO_MODE_TOUT GPIO_MODE_ALT0#define GPIO_MODE_nXBACK GPIO_MODE_ALT0#define GPIO_MODE_nXBREQ GPIO_MODE_ALT0#define GPIO_MODE_nXDACK GPIO_MODE_ALT0#define GPIO_MODE_nXDREQ GPIO_MODE_ALT0#define GPIO_MODE_LEND GPIO_MODE_ALT0#define GPIO_MODE_VCLK GPIO_MODE_ALT0#define GPIO_MODE_VLINE GPIO_MODE_ALT0#define GPIO_MODE_VFRAME GPIO_MODE_ALT0#define GPIO_MODE_VM GPIO_MODE_ALT0#define GPIO_MODE_LCDVF GPIO_MODE_ALT0#define GPIO_MODE_VD GPIO_MODE_ALT0#define GPIO_MODE_IICSDA GPIO_MODE_ALT0#define GPIO_MODE_IICSCL GPIO_MODE_ALT0#define GPIO_MODE_SPICLK GPIO_MODE_ALT0#define GPIO_MODE_SPIMOSI GPIO_MODE_ALT0#define GPIO_MODE_SPIMISO GPIO_MODE_ALT0#define GPIO_MODE_SDDAT GPIO_MODE_ALT0#define GPIO_MODE_SDCMD GPIO_MODE_ALT0#define GPIO_MODE_SDCLK GPIO_MODE_ALT0#define GPIO_MODE_I2SSDO GPIO_MODE_ALT0#define GPIO_MODE_I2SSDI GPIO_MODE_ALT0#define GPIO_MODE_CDCLK GPIO_MODE_ALT0#define GPIO_MODE_I2SSCLK GPIO_MODE_ALT0#define GPIO_MODE_I2SLRCK GPIO_MODE_ALT0#define GPIO_MODE_I2SSDI_ABNORMAL GPIO_MODE_ALT1#define GPIO_MODE_nSS GPIO_MODE_ALT1#define GPIO_MODE_EINT GPIO_MODE_ALT0#define GPIO_MODE_nYPON GPIO_MODE_ALT1#define GPIO_MODE_YMON GPIO_MODE_ALT1#define GPIO_MODE_nXPON GPIO_MODE_ALT1#define GPIO_MODE_XMON GPIO_MODE_ALT1#define GPIO_MODE_UART GPIO_MODE_ALT0 #define GPIO_MODE_TCLK_ABNORMAL GPIO_MODE_ALT1#define GPIO_MODE_SPICLK_ABNORMAL GPIO_MODE_ALT1#define GPIO_MODE_SPIMOSI_ABNORMAL GPIO_MODE_ALT1#define GPIO_MODE_SPIMISO_ABNORMAL GPIO_MODE_ALT1#define GPIO_MODE_LCD_PWRDN GPIO_MODE_ALT1/* ... */#define UTRSTAT_TX_EMPTY (1 << 2)#define UTRSTAT_RX_READY (1 << 0)#define UART_ERR_MASK 0xF #define ULCON_IR (1 << 6) /* use Infra-Red mode */#define fULCON_PAR Fld(3,3) /* what parity mode? */#define ULCON_PAR FMsk(fULCON_PAR)#define ULCON_PAR_NONE FInsrt(0x0, fULCON_PAR) /* No Parity */#define ULCON_PAR_ODD FInsrt(0x4, fULCON_PAR) /* Odd Parity */#define ULCON_PAR_EVEN FInsrt(0x5, fULCON_PAR) /* Even Parity */#define ULCON_PAR_1 FInsrt(0x6, fULCON_PAR) /* Parity force/checked as 1 */#define ULCON_PAR_0 FInsrt(0x7, fULCON_PAR) /* Parity force/checked as 0 */#define ULCON_STOP (1 << 2) /* The number of stop bits */#define ULCON_ONE_STOP (0 << 2) /* 1 stop bit */#define ULCON_TWO_STOP (1 << 2) /* 2 stop bit */#define fULCON_WL Fld(2, 0) /* word length */#define ULCON_WL FMsk(fULCON_WL)#define ULCON_WL5 FInsrt(0x0, fULCON_WL) /* 5 bits */#define ULCON_WL6 FInsrt(0x1, fULCON_WL) /* 6 bits */#define ULCON_WL7 FInsrt(0x2, fULCON_WL) /* 7 bits */#define ULCON_WL8 FInsrt(0x3, fULCON_WL) /* 8 bits */#define ULCON_CFGMASK (ULCON_IR | ULCON_PAR | ULCON_WL)#define UCON_CLK_SEL (1 << 10) /* select clock for UART */#define UCON_CLK_PCLK (0 << 10) /* PCLK for UART baud rate */#define UCON_CLK_UCLK (1 << 10) /* UCLK for UART baud rate */#define UCON_TX_INT_TYPE (1 << 9) /* TX Interrupt request type */#define UCON_TX_INT_PLS (0 << 9) /* Pulse */#define UCON_TX_INT_LVL (1 << 9) /* Level */#define UCON_RX_INT_TYPE (1 << 8) /* RX Interrupt request type */#define UCON_RX_INT_PLS (0 << 8) /* Pulse */#define UCON_RX_INT_LVL (1 << 8) /* Level */#define UCON_RX_TIMEOUT (1 << 7) /* RX timeout enable */#define UCON_RX_ERR_INT (1 << 6) /* RX error status interrupt enable */#define UCON_LOOPBACK (1 << 5) /* to enter the loop-back mode */#define UCON_BRK_SIG (1 << 4) /* to send a break during 1 frame time */#define fUCON_TX Fld(2,2) /* function to write Tx data to the UART Tx buffer */#define UCON_TX FMsk(fUCON_TX)#define UCON_TX_DIS FInsrt(0x0, fUCON_TX) /* Disable */#define UCON_TX_INT FInsrt(0x1, fUCON_TX) /* Interrupt or polling */#define UCON_TX_DMA0 FInsrt(0x2, fUCON_TX) /* DMA0 request */#define UCON_TX_DMA1 FInsrt(0x3, fUCON_TX) /* DMA1 request */#define fUCON_RX Fld(2,0) /* function to read data from UART Rx buffer */#define UCON_RX FMsk(fUCON_RX)#define UCON_RX_DIS FInsrt(0x0, fUCON_RX) /* Disable */#define UCON_RX_INT FInsrt(0x1, fUCON_RX) /* Interrupt or polling */#define UCON_RX_DMA0 FInsrt(0x2, fUCON_RX) /* DMA0 request */#define UCON_RX_DMA1 FInsrt(0x3, fUCON_RX) /* DMA1 request */#define fUFCON_TX_TR Fld(2,6) /* trigger level of transmit FIFO */#define UFCON_TX_TR FMsk(fUFCON_TX_TR)#define UFCON_TX_TR0 FInsrt(0x0, fUFCON_TX_TR) /* Empty */#define UFCON_TX_TR4 FInsrt(0x1, fUFCON_TX_TR) /* 4-byte */#define UFCON_TX_TR8 FInsrt(0x2, fUFCON_TX_TR) /* 8-byte */#define UFCON_TX_TR12 FInsrt(0x3, fUFCON_TX_TR) /* 12-byte */#define fUFCON_RX_TR Fld(2,4) /* trigger level of receive FIFO */#define UFCON_RX_TR FMsk(fUFCON_RX_TR)#define UFCON_RX_TR0 FInsrt(0x0, fUFCON_RX_TR) /* Empty */#define UFCON_RX_TR4 FInsrt(0x1, fUFCON_RX_TR) /* 4-byte */#define UFCON_RX_TR8 FInsrt(0x2, fUFCON_RX_TR) /* 8-byte */#define UFCON_RX_TR12 FInsrt(0x3, fUFCON_RX_TR) /* 12-byte */#define UFCON_TX_REQ (1 << 2) /* auto-cleared after resetting FIFO */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -