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

📄 drvgpio.h

📁 mstar 776 开发的车载dvd
💻 H
📖 第 1 页 / 共 3 页
字号:
#define GPIO97_SET(v)   MDrv_WriteRegBit(0x309E, v, _BIT0)
#define GPIO97_GET()    MDrv_ReadRegBit(0x30AA, _BIT0)

#define GPIO98_PAD      PAD_LHSYNC
#define GPIO98_DIR(d)   MDrv_WriteRegBit(0x30A2, d, _BIT1)
#define GPIO98_SET(v)   MDrv_WriteRegBit(0x309E, v, _BIT1)
#define GPIO98_GET()    MDrv_ReadRegBit(0x30AA, _BIT1)

#define GPIO99_PAD      PAD_LDE
#define GPIO99_DIR(d)   MDrv_WriteRegBit(0x30A2, d, _BIT2)
#define GPIO99_SET(v)   MDrv_WriteRegBit(0x309E, v, _BIT2)
#define GPIO99_GET()    MDrv_ReadRegBit(0x30AA, _BIT2)

#define GPIO100_PAD     PAD_LCK
#define GPIO100_DIR(d)  MDrv_WriteRegBit(0x30A2, d, _BIT3)
#define GPIO100_SET(v)  MDrv_WriteRegBit(0x309E, v, _BIT3)
#define GPIO100_GET()   MDrv_ReadRegBit(0x30AA, _BIT3)

#define GPIO101_PAD     PAD_R_ODD7
#define GPIO101_DIR(d)  MDrv_WriteRegBit(0x30A2, d, _BIT5)
#define GPIO101_SET(v)  MDrv_WriteRegBit(0x309E, v, _BIT5)
#define GPIO101_GET()   MDrv_ReadRegBit(0x30AA, _BIT5)

#define GPIO102_PAD     PAD_R_ODD6
#define GPIO102_DIR(d)  MDrv_WriteRegBit(0x30A2, d, _BIT4)
#define GPIO102_SET(v)  MDrv_WriteRegBit(0x309E, v, _BIT4)
#define GPIO102_GET()   MDrv_ReadRegBit(0x30AA, _BIT4)

#define GPIO103_PAD     PAD_R_ODD5
#define GPIO103_DIR(d)  MDrv_WriteRegBit(0x30A2, d, _BIT7)
#define GPIO103_SET(v)  MDrv_WriteRegBit(0x309E, v, _BIT7)
#define GPIO103_GET()   MDrv_ReadRegBit(0x30AA, _BIT7)

#define GPIO104_PAD     PAD_R_ODD4
#define GPIO104_DIR(d)  MDrv_WriteRegBit(0x30A2, d, _BIT6)
#define GPIO104_SET(v)  MDrv_WriteRegBit(0x309E, v, _BIT6)
#define GPIO104_GET()   MDrv_ReadRegBit(0x30AA, _BIT6)

#define GPIO105_PAD     PAD_R_ODD3
#define GPIO105_DIR(d)  MDrv_WriteRegBit(0x30A3, d, _BIT1)
#define GPIO105_SET(v)  MDrv_WriteRegBit(0x309F, v, _BIT1)
#define GPIO105_GET()   MDrv_ReadRegBit(0x30AB, _BIT1)

#define GPIO106_PAD     PAD_R_ODD2
#define GPIO106_DIR(d)  MDrv_WriteRegBit(0x30A3, d, _BIT0)
#define GPIO106_SET(v)  MDrv_WriteRegBit(0x309F, v, _BIT0)
#define GPIO106_GET()   MDrv_ReadRegBit(0x30AB, _BIT1)

#define GPIO107_PAD     PAD_R_ODD1
#define GPIO107_DIR(d)  MDrv_WriteRegBit(0x30A3, d, _BIT3)
#define GPIO107_SET(v)  MDrv_WriteRegBit(0x309F, v, _BIT3)
#define GPIO107_GET()   MDrv_ReadRegBit(0x30AB, _BIT3)

#define GPIO108_PAD     PAD_R_ODD0
#define GPIO108_DIR(d)  MDrv_WriteRegBit(0x30A3, d, _BIT2)
#define GPIO108_SET(v)  MDrv_WriteRegBit(0x309F, v, _BIT2)
#define GPIO108_GET()   MDrv_ReadRegBit(0x30AB, _BIT2)

#define GPIO109_PAD     PAD_G_ODD7
#define GPIO109_DIR(d)  MDrv_WriteRegBit(0x30A3, d, _BIT5)
#define GPIO109_SET(v)  MDrv_WriteRegBit(0x309F, v, _BIT5)
#define GPIO109_GET()   MDrv_ReadRegBit(0x30AB, _BIT5)

#define GPIO110_PAD     PAD_G_ODD6
#define GPIO110_DIR(d)  MDrv_WriteRegBit(0x30A3, d, _BIT4)
#define GPIO110_SET(v)  MDrv_WriteRegBit(0x309F, v, _BIT4)
#define GPIO110_GET()   MDrv_ReadRegBit(0x30AB, _BIT4)

#define GPIO111_PAD     PAD_G_ODD5
#define GPIO111_DIR(d)  MDrv_WriteRegBit(0x30A3, d, _BIT7)
#define GPIO111_SET(v)  MDrv_WriteRegBit(0x309F, v, _BIT7)
#define GPIO111_GET()   MDrv_ReadRegBit(0x30AB, _BIT7)

#define GPIO112_PAD     PAD_G_ODD4
#define GPIO112_DIR(d)  MDrv_WriteRegBit(0x30A3, d, _BIT6)
#define GPIO112_SET(v)  MDrv_WriteRegBit(0x309F, v, _BIT6)
#define GPIO112_GET()   MDrv_ReadRegBit(0x30AB, _BIT6)

#define GPIO113_PAD     PAD_G_ODD3
#define GPIO113_DIR(d)  MDrv_WriteRegBit(0x30A4, d, _BIT1)
#define GPIO113_SET(v)  MDrv_WriteRegBit(0x30A0, v, _BIT1)
#define GPIO113_GET()   MDrv_ReadRegBit(0x30AC, _BIT1)

#define GPIO114_PAD     PAD_G_ODD2
#define GPIO114_DIR(d)  MDrv_WriteRegBit(0x30A4, d, _BIT0)
#define GPIO114_SET(v)  MDrv_WriteRegBit(0x30A0, v, _BIT0)
#define GPIO114_GET()   MDrv_ReadRegBit(0x30AC, _BIT0)

#define GPIO115_PAD     PAD_G_ODD1
#define GPIO115_DIR(d)  MDrv_WriteRegBit(0x30A4, d, _BIT3)
#define GPIO115_SET(v)  MDrv_WriteRegBit(0x30A0, v, _BIT3)
#define GPIO115_GET()   MDrv_ReadRegBit(0x30AC, _BIT3)

#define GPIO116_PAD     PAD_G_ODD0
#define GPIO116_DIR(d)  MDrv_WriteRegBit(0x30A4, d, _BIT2)
#define GPIO116_SET(v)  MDrv_WriteRegBit(0x30A0, v, _BIT2)
#define GPIO116_GET()   MDrv_ReadRegBit(0x30AC, _BIT2)

#define GPIO117_PAD     PAD_B_ODD7
#define GPIO117_DIR(d)  MDrv_WriteRegBit(0x30A4, d, _BIT5)
#define GPIO117_SET(v)  MDrv_WriteRegBit(0x30A0, v, _BIT5)
#define GPIO117_GET()   MDrv_ReadRegBit(0x30AC, _BIT5)

#define GPIO118_PAD     PAD_B_ODD6
#define GPIO118_DIR(d)  MDrv_WriteRegBit(0x30A4, d, _BIT4)
#define GPIO118_SET(v)  MDrv_WriteRegBit(0x30A0, v, _BIT4)
#define GPIO118_GET()   MDrv_ReadRegBit(0x30AC, _BIT4)

#define GPIO119_PAD     PAD_B_ODD5
#define GPIO119_DIR(d)  MDrv_WriteRegBit(0x30A4, d, _BIT7)
#define GPIO119_SET(v)  MDrv_WriteRegBit(0x30A0, v, _BIT7)
#define GPIO119_GET()   MDrv_ReadRegBit(0x30AC, _BIT7)

#define GPIO120_PAD     PAD_B_ODD4
#define GPIO120_DIR(d)  MDrv_WriteRegBit(0x30A4, d, _BIT6)
#define GPIO120_SET(v)  MDrv_WriteRegBit(0x30A0, v, _BIT6)
#define GPIO120_GET()   MDrv_ReadRegBit(0x30AC, _BIT6)

#define GPIO121_PAD     PAD_B_ODD3
#define GPIO121_DIR(d)  MDrv_WriteRegBit(0x30A5, d, _BIT1)
#define GPIO121_SET(v)  MDrv_WriteRegBit(0x30A1, v, _BIT1)
#define GPIO121_GET()   MDrv_ReadRegBit(0x30AD, _BIT1)

#define GPIO122_PAD     PAD_B_ODD2
#define GPIO122_DIR(d)  MDrv_WriteRegBit(0x30A5, d, _BIT0)
#define GPIO122_SET(v)  MDrv_WriteRegBit(0x30A1, v, _BIT0)
#define GPIO122_GET()   MDrv_ReadRegBit(0x30AD, _BIT0)

#define GPIO123_PAD     PAD_B_ODD1
#define GPIO123_DIR(d)  MDrv_WriteRegBit(0x30A5, d, _BIT3)
#define GPIO123_SET(v)  MDrv_WriteRegBit(0x30A1, v, _BIT3)
#define GPIO123_GET()   MDrv_ReadRegBit(0x30AD, _BIT3)

#define GPIO124_PAD     PAD_B_ODD0
#define GPIO124_DIR(d)  MDrv_WriteRegBit(0x30A5, d, _BIT2)
#define GPIO124_SET(v)  MDrv_WriteRegBit(0x30A1, v, _BIT2)
#define GPIO124_GET()   MDrv_ReadRegBit(0x30AD, _BIT2)

#define GPIO125_PAD     PAD_HOTPLUGA
#define GPIO125_DIR(d)  MDrv_WriteRegBit(0x25E0, d, _BIT6)
#define GPIO125_SET(v)  MDrv_WriteRegBit(0x25E0, v, _BIT4)
#define GPIO125_GET()   MDrv_ReadRegBit(0x25E0, _BIT4)

#define GPIO126_PAD     PAD_SAR0
#define GPIO126_DIR(d)  MDrv_WriteRegBit(0x3A20, d, _BIT0)
#define GPIO126_SET(v)  MDrv_WriteRegBit(0x3A21, v, _BIT0)
#define GPIO126_GET()   MDrv_ReadRegBit(0x3A24, _BIT0)

#define GPIO127_PAD     PAD_SAR1
#define GPIO127_DIR(d)  MDrv_WriteRegBit(0x3A20, d, _BIT1)
#define GPIO127_SET(v)  MDrv_WriteRegBit(0x3A21, v, _BIT1)
#define GPIO127_GET()   MDrv_ReadRegBit(0x3A24, _BIT1)

#define GPIO128_PAD     PAD_SAR2
#define GPIO128_DIR(d)  MDrv_WriteRegBit(0x3A20, d, _BIT2)
#define GPIO128_SET(v)  MDrv_WriteRegBit(0x3A21, v, _BIT2)
#define GPIO128_GET()   MDrv_ReadRegBit(0x3A24, _BIT2)

#define GPIO129_PAD     PAD_SAR3
#define GPIO129_DIR(d)  MDrv_WriteRegBit(0x3A20, d, _BIT3)
#define GPIO129_SET(v)  MDrv_WriteRegBit(0x3A21, v, _BIT3)
#define GPIO129_GET()   MDrv_ReadRegBit(0x3A24, _BIT3)

//----------------------------------------------------------------------------
// External GPIO from I2C_IO_EXPANDER
//----------------------------------------------------------------------------

#if (I2C_IO_EXPANDER != I2C_IO_EXPANDER_NONE)

#define GPIO_PAD_I2C_IO_EXPANDER_P0_DIR(d)  MDrv_ExGPIO_Dir(BIT0, d)
#define GPIO_PAD_I2C_IO_EXPANDER_P0_SET(v)  MDrv_ExGPIO_Set(BIT0, v)
#define GPIO_PAD_I2C_IO_EXPANDER_P0_GET()   MDrv_ExGPIO_Get(BIT0)

#define GPIO_PAD_I2C_IO_EXPANDER_P1_DIR(d)  MDrv_ExGPIO_Dir(BIT1, d)
#define GPIO_PAD_I2C_IO_EXPANDER_P1_SET(v)  MDrv_ExGPIO_Set(BIT1, v)
#define GPIO_PAD_I2C_IO_EXPANDER_P1_GET()   MDrv_ExGPIO_Get(BIT1)

#define GPIO_PAD_I2C_IO_EXPANDER_P2_DIR(d)  MDrv_ExGPIO_Dir(BIT2, d)
#define GPIO_PAD_I2C_IO_EXPANDER_P2_SET(v)  MDrv_ExGPIO_Set(BIT2, v)
#define GPIO_PAD_I2C_IO_EXPANDER_P2_GET()   MDrv_ExGPIO_Get(BIT2)

#define GPIO_PAD_I2C_IO_EXPANDER_P3_DIR(d)  MDrv_ExGPIO_Dir(BIT3, d)
#define GPIO_PAD_I2C_IO_EXPANDER_P3_SET(v)  MDrv_ExGPIO_Set(BIT3, v)
#define GPIO_PAD_I2C_IO_EXPANDER_P3_GET()   MDrv_ExGPIO_Get(BIT3)

#define GPIO_PAD_I2C_IO_EXPANDER_P4_DIR(d)  MDrv_ExGPIO_Dir(BIT4, d)
#define GPIO_PAD_I2C_IO_EXPANDER_P4_SET(v)  MDrv_ExGPIO_Set(BIT4, v)
#define GPIO_PAD_I2C_IO_EXPANDER_P4_GET()   MDrv_ExGPIO_Get(BIT4)

#define GPIO_PAD_I2C_IO_EXPANDER_P5_DIR(d)  MDrv_ExGPIO_Dir(BIT5, d)
#define GPIO_PAD_I2C_IO_EXPANDER_P5_SET(v)  MDrv_ExGPIO_Set(BIT5, v)
#define GPIO_PAD_I2C_IO_EXPANDER_P5_GET()   MDrv_ExGPIO_Get(BIT5)

#define GPIO_PAD_I2C_IO_EXPANDER_P6_DIR(d)  MDrv_ExGPIO_Dir(BIT6, d)
#define GPIO_PAD_I2C_IO_EXPANDER_P6_SET(v)  MDrv_ExGPIO_Set(BIT6, v)
#define GPIO_PAD_I2C_IO_EXPANDER_P6_GET()   MDrv_ExGPIO_Get(BIT6)

#define GPIO_PAD_I2C_IO_EXPANDER_P7_DIR(d)  MDrv_ExGPIO_Dir(BIT7, d)
#define GPIO_PAD_I2C_IO_EXPANDER_P7_SET(v)  MDrv_ExGPIO_Set(BIT7, v)
#define GPIO_PAD_I2C_IO_EXPANDER_P7_GET()   MDrv_ExGPIO_Get(BIT7)

extern void MDrv_ExGPIO_Init(void);
extern void MDrv_ExGPIO_Dir(U8 u8BitMask, BOOLEAN bIsInput);
extern void MDrv_ExGPIO_Set(U8 u8BitMask, BOOLEAN bHigh);
extern BIT  MDrv_ExGPIO_Get(U8 u8BitMask);

#else // !I2C_IO_EXPANDER

#define MDrv_ExGPIO_Init()  _FUNC_NOT_USED()

#endif // I2C_IO_EXPANDER

//----------------------------------------------------------------------------
// GPIO dispatcher
//----------------------------------------------------------------------------

#define GPIO_DIR(pin, d)    CONCAT(CONCAT(GPIO_PAD_, pin), _DIR)(d)
#define GPIO_SET(pin, v)    CONCAT(CONCAT(GPIO_PAD_, pin), _SET)(v)
#define GPIO_GET(pin)       CONCAT(CONCAT(GPIO_PAD_, pin), _GET)()

//----------------------------------------------------------------------------
// Multi-SPI Flash
//----------------------------------------------------------------------------

#define SPI_SEL_NONE()      MDrv_Write2Byte(REG_CSZ_SPI_FLASH, 0xE001)
#define SPI_SEL_CZ0()       MDrv_Write2Byte(REG_CSZ_SPI_FLASH, 0xE000)
#define SPI_SEL_CZ1()       MDrv_Write2Byte(REG_CSZ_SPI_FLASH, 0xC001)
#define SPI_SEL_CZ2()       MDrv_Write2Byte(REG_CSZ_SPI_FLASH, 0xA001)
#define SPI_SEL_CZ3()       MDrv_Write2Byte(REG_CSZ_SPI_FLASH, 0x6001)

#ifdef      DRV_GPIO
    #define     GPIO_EXTERN
#else
    #define     GPIO_EXTERN     extern
#endif

GPIO_EXTERN void Mst_GPIO_Initial(void);

#undef GPIO_EXTERN

#endif /* _DRV_GPIO_H_ */

⌨️ 快捷键说明

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