void mcsdl_delay_test(INT32 nCount) { INT16 i; MELFAS_DISABLE_BASEBAND_ISR(); // Disable Baseband touch interrupt ISR. MELFAS_DISABLE_WATCHDOG_TIMER_RESET(); // Disable Baseband watchdog timer //-------------------------------- // Repeating 'nCount' times //-------------------------------- MCSDL_SET_GPIO_I2C(); MCSDL_GPIO_SCL_SET_OUTPUT(0); MCSDL_GPIO_SDA_SET_OUTPUT(0); MCSDL_RESETB_SET_OUTPUT(0); MCSDL_GPIO_SCL_SET_HIGH(); for( i=0; i<nCount; i++ ){ #if 1 MCSDL_GPIO_SCL_SET_LOW(); mcsdl_delay(MCSDL_DELAY_20US); MCSDL_GPIO_SCL_SET_HIGH(); mcsdl_delay(MCSDL_DELAY_100US); #elif 0 MCSDL_GPIO_SCL_SET_LOW(); mcsdl_delay(MCSDL_DELAY_500US); MCSDL_GPIO_SCL_SET_HIGH(); mcsdl_delay(MCSDL_DELAY_1MS); #else MCSDL_GPIO_SCL_SET_LOW(); mcsdl_delay(MCSDL_DELAY_25MS); TKEY_INTR_SET_LOW(); mcsdl_delay(MCSDL_DELAY_45MS); TKEY_INTR_SET_HIGH(); #endif } MCSDL_GPIO_SCL_SET_HIGH(); MELFAS_ROLLBACK_BASEBAND_ISR(); // Roll-back Baseband touch interrupt ISR. MELFAS_ROLLBACK_WATCHDOG_TIMER_RESET(); // Roll-back Baseband watchdog timer }
static void mcsdl_set_ready(void) { //-------------------------------------------- // Tkey module reset //-------------------------------------------- MCSDL_VDD_SET_LOW(); MCSDL_CE_SET_OUTPUT(); MCSDL_CE_SET_LOW(); MCSDL_SET_GPIO_I2C(); MCSDL_GPIO_SDA_SET_LOW(); MCSDL_GPIO_SDA_SET_OUTPUT(); MCSDL_GPIO_SCL_SET_LOW(); MCSDL_GPIO_SCL_SET_OUTPUT(); MCSDL_RESETB_SET_LOW(); MCSDL_RESETB_SET_OUTPUT(); mcsdl_mcs7000_delay(MCSDL_DELAY_25MS); // Delay for Stable VDD MCSDL_VDD_SET_HIGH(); MCSDL_CE_SET_HIGH(); MCSDL_GPIO_SDA_SET_HIGH(); mcsdl_mcs7000_delay(MCSDL_DELAY_30MS); // Delay '30 msec' }
static void mcsdl_set_ready(void) { /*-------------------------------------------- // Tkey module reset //--------------------------------------------*/ MCSDL_VDD_SET_LOW(); /*power*/ MCSDL_CE_SET_LOW(); MCSDL_CE_SET_OUTPUT(0); MCSDL_SET_GPIO_I2C(); MCSDL_GPIO_SDA_SET_LOW(); MCSDL_GPIO_SDA_SET_OUTPUT(0); MCSDL_GPIO_SCL_SET_LOW(); MCSDL_GPIO_SCL_SET_OUTPUT(0); MCSDL_RESETB_SET_LOW(); MCSDL_RESETB_SET_OUTPUT(0); mcsdl_delay(MCSDL_DELAY_25MS); /* Delay for Stable VDD */ MCSDL_VDD_SET_HIGH(); /*MCSDL_CE_SET_HIGH();*/ MCSDL_GPIO_SCL_SET_LOW(); MCSDL_GPIO_SDA_SET_HIGH(); mcsdl_delay(MCSDL_DELAY_40MS); /* Delay '30 msec' */ }
static void mcsdl_set_ready(void) { //-------------------------------------------- // Tkey module reset //-------------------------------------------- MCSDL_VDD_SET_LOW(); // power //MCSDL_CE_SET_LOW(); // MCSDL_CE_SET_OUTPUT(); MCSDL_SET_GPIO_I2C(); MCSDL_GPIO_SDA_SET_OUTPUT(); MCSDL_GPIO_SDA_SET_LOW(); // MCSDL_GPIO_SDA_SET_OUTPUT(); MCSDL_GPIO_SCL_SET_OUTPUT(); MCSDL_GPIO_SCL_SET_LOW(); // MCSDL_GPIO_SCL_SET_OUTPUT(); MCSDL_RESETB_SET_OUTPUT(); MCSDL_RESETB_SET_LOW(); // MCSDL_RESETB_SET_OUTPUT(); mcsdl_delay(MCSDL_DELAY_25MS); // Delay for Stable VDD MCSDL_VDD_SET_HIGH(); // MCSDL_CE_SET_HIGH(); MCSDL_GPIO_SCL_SET_LOW(); MCSDL_GPIO_SDA_SET_HIGH(); mcsdl_delay(50000);//MCSDL_DELAY_25MS); // Delay '30 msec' //joohyung.lee too long delay 25000us -> 12000us }
static void mcsdl_set_ready(void) { //-------------------------------------------- // Tkey module reset //-------------------------------------------- MCSDL_VDD_SET_LOW(); // power //MCSDL_CE_SET_LOW(); MCSDL_CE_SET_OUTPUT(); MCSDL_SET_GPIO_I2C(); //MCSDL_GPIO_SDA_SET_LOW(); //bomi MCSDL_GPIO_SDA_SET_OUTPUT(); MCSDL_GPIO_SDA_SET_LOW(); //MCSDL_GPIO_SCL_SET_LOW(); //bomi MCSDL_GPIO_SCL_SET_OUTPUT(); MCSDL_GPIO_SCL_SET_LOW(); //MCSDL_RESETB_SET_LOW(); //bomi MCSDL_RESETB_SET_OUTPUT(); MCSDL_RESETB_SET_LOW(); /* LGE_CHANGE_S: E0 [email protected] [2011-11-09] : TD1416085584 : After sleeping on and off while sensing a touchscreen, Touchscreen doesn't work*/ mcsdl_delay(MCSDL_DELAY_25MS); // Delay for Stable VDD mcsdl_delay(MCSDL_DELAY_25MS); // Delay for Stable VDD MCSDL_VDD_SET_HIGH(); MCSDL_CE_SET_HIGH(); MCSDL_GPIO_SCL_SET_LOW(); MCSDL_GPIO_SDA_SET_HIGH(); mcsdl_delay(MCSDL_DELAY_40MS); // Delay '30 msec' }