static cyg_uint8 eeprom_getb(int more) { int i; cyg_uint8 b = 0; HAL_GPIO_OUTPUT_DISABLE(GPIO_EEPROM_SDA); hal_delay_us(5); for (i = 7; i >= 0; i--) { b <<= 1; if (*IXP425_GPINR & (1 << GPIO_EEPROM_SDA)) b |= 1; CLK_HI(); hal_delay_us(5); CLK_LO(); hal_delay_us(5); } HAL_GPIO_OUTPUT_ENABLE(GPIO_EEPROM_SDA); if (more) DATA_LO(); else DATA_HI(); hal_delay_us(5); CLK_HI(); hal_delay_us(5); CLK_LO(); hal_delay_us(5); return b; }
static int eeprom_putb(cyg_uint8 b) { int i; for (i = 7; i >= 0; i--) { if (b & (1 << i)) DATA_HI(); else DATA_LO(); CLK_HI(); hal_delay_us(5); CLK_LO(); hal_delay_us(5); } HAL_GPIO_OUTPUT_DISABLE(GPIO_EEPROM_SDA); CLK_HI(); hal_delay_us(5); i = (*IXP425_GPINR & (1 << GPIO_EEPROM_SDA)) ? 0 : 1; CLK_LO(); hal_delay_us(5); DATA_HI(); HAL_GPIO_OUTPUT_ENABLE(GPIO_EEPROM_SDA); return i; }
void write_pixel(int bit) { for(int i = 0; i < 4; i++) { if (bit) MOSI_HI(); else MOSI_LO(); CLK_LO(); __no_operation(); CLK_HI(); } }
static void eeprom_stop(void) { int i; hal_delay_us(5); DATA_LO(); hal_delay_us(5); CLK_HI(); hal_delay_us(5); DATA_HI(); hal_delay_us(5); CLK_LO(); hal_delay_us(5); CLK_HI(); hal_delay_us(5); }
void AspiData(u8 Para_data) { int i=8; CLK_HI(); A0_HI(); NCS_LO(); while (i--) { CLK_LO(); if (Para_data&0x80) MOSI_HI(); else MOSI_LO(); Para_data <<= 1; __no_operation(); CLK_HI(); __no_operation(); } NCS_HI(); A0_HI(); }
/* These are ported from th eopentx driver */ void AspiCmd(u8 Command_Byte) { int i=8; A0_LO(); CLK_HI(); __no_operation(); NCS_LO(); while (i--) { CLK_LO(); if (Command_Byte&0x80) MOSI_HI(); else MOSI_LO(); Command_Byte <<= 1; CLK_HI(); __no_operation(); } NCS_HI(); A0_HI(); }