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

📄 s3c2410.h

📁 A tone driver by driving S3c2410 PWM. Compiled by arm-linux-gcc.
💻 H
📖 第 1 页 / 共 5 页
字号:
#ifdef __BIG_ENDIAN#define IISFIFO  ((volatile unsigned short *)(PA_IIS_BASE+0x12)) //IIS FIFO entry#else //Little Endian#define IISFIFO  ((volatile unsigned short *)(PA_IIS_BASE+0x10)) //IIS FIFO entry/*  used in drivers/sound/s3c2410-uda1341.c asm/arm/arch/dma.h */#endif/*-----------------------------------------------------*/ //  Used in arch/arm/mach-s3c2410/dma-s3c2410.c/* IISCON Flag  */#define      LEFT_CHANNEL                ( 0 << 8)#define      RIGHT_CHANNEL               ( 1 << 8)#define      TX_FIFO_READY               ( 1 << 7)#define      RX_FIFO_READY               ( 1 << 6)#define      TX_DMA_REQUEST_ENABLE       ( 1 << 5)#define      RX_DMA_REQUEST_ENABLE       ( 1 << 4)#define      TX_CNANNEL_IDLE             ( 1 << 3)#define      RX_CNANNEL_IDLE             ( 1 << 2)#define      PRESCALER_ENABLE            ( 1 << 1)#define      IIS_INTERFACE_ENABLE        ( 1 << 0)#define      IIS_INTERFACE_DISABLE       ( 0 << 0)/* IISMOD  FLAG */#define      MASTER_MODE                 ( 0 << 8)#define      SLAVE_MODE                  ( 1 << 8)#define      TRANSMIT_MODE               ( 2 << 6)#define      LOW_LEFT_CH                 ( 0 << 5)#define      IIS_FORMAT                  ( 0 << 4)#define      SERIAL_8BIT_PER_CH          ( 0 << 3)#define      SERIAL_16BIT_PER_CH         ( 1 << 3)#define      MASTER_CODECLK_256FS        ( 0 << 2)#define      MASTER_CODECLK_384FS        ( 1 << 2)#define      SERIAL_BIT_CLOCK_16FS       ( 0 << 0)#define      SERIAL_BIT_CLOCK_32FS       ( 1 << 0)#define      SERIAL_BIT_CLOCK_48FS       ( 2 << 0)/*  IISFCON  FLAG */#define      TX_DMA_ACCESS_MODE          ( 1 << 11)#define      RX_DMA_ACCESS_MODE          ( 1 << 10)#define      TX_FIFO_ENABLE              ( 1 << 9 )#define      RX_FIFO_ENABLE              ( 1 << 8 )/* Searching Keyword: CODEC_CLOCK *//* Used in drivers/sound/s3c2410-uda1341.c */#if (FCLK == 112800000)#define  AUDIO_CODEC_CLOCK 256#else#define  AUDIO_CODEC_CLOCK 384#endif// I/O PORT #define rGPACON    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x00)) //Port A control#define rGPADAT    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x04)) //Port A data                        #define rGPBCON    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x10)) //Port B control#define rGPBDAT    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x14)) //Port B data#define rGPBUP     (*(volatile unsigned *)(VA_IO_PORT_BASE+0x18)) //Pull-up control B                        #define rGPCCON    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x20)) //Port C control#define rGPCDAT    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x24)) //Port C data#define rGPCUP     (*(volatile unsigned *)(VA_IO_PORT_BASE+0x28)) //Pull-up control C                        #define rGPDCON    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x30)) //Port D control#define rGPDDAT    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x34)) //Port D data#define rGPDUP     (*(volatile unsigned *)(VA_IO_PORT_BASE+0x38)) //Pull-up control D                        #define rGPECON    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x40)) //Port E control#define rGPEDAT    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x44)) //Port E data#define rGPEUP     (*(volatile unsigned *)(VA_IO_PORT_BASE+0x48)) //Pull-up control E                        #define rGPFCON    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x50)) //Port F control#define rGPFDAT    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x54)) //Port F data#define rGPFUP     (*(volatile unsigned *)(VA_IO_PORT_BASE+0x58)) //Pull-up control F                        #define rGPGCON    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x60)) //Port G control#define rGPGDAT    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x64)) //Port G data#define rGPGUP     (*(volatile unsigned *)(VA_IO_PORT_BASE+0x68)) //Pull-up control G                        #define rGPHCON    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x70)) //Port H control#define rGPHDAT    (*(volatile unsigned *)(VA_IO_PORT_BASE+0x74)) //Port H data#define rGPHUP     (*(volatile unsigned *)(VA_IO_PORT_BASE+0x78)) //Pull-up control H     #define GPCON(x)	(*(volatile unsigned *)(VA_IO_PORT_BASE+ ((x)*0x10) ))#define GPDAT(x)	(*(volatile unsigned *)(VA_IO_PORT_BASE+ ((x)*0x10+0x4) ))#define GPUP(x)	    (*(volatile unsigned *)(VA_IO_PORT_BASE+ ((x)*0x10+0x8) ))                                                               #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)

⌨️ 快捷键说明

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