To use external resistor mcp23008 is working perfectly. But I want to use an internal resistor. With internal resister it's not working.
void I2CInit() {
LPC_GPIO0->FIODIR0 |= 0x33; //P0.5 P0.4 P0.1 P0.0 ext pins 29,30,10,9
LPC_SC->PCONP |= 1 << 19; //re-enable POWER to I2C_2 if required
LPC_SC->PCLKSEL1 |= 1<<6; //pclk = cclk
LPC_PINCON->PINSEL0 |= 0x3<<0; //Pin P0.10 allocated to alternate function 2
LPC_PINCON->PINSEL0 |= 0x3<<2; //Pin P0.11 allocated to alternate function 2
LPC_GPIO0->FIODIR |= (1<<0); //Bit P0.10 an output
LPC_GPIO0->FIODIR |= (1<<1); //Bit P0.11 an output
LPC_PINCON->PINMODE0 &= ~(3<<0); //P0.10 has pull up/down resistor
//LPC_PINCON->PINMODE0 |= (2<<0); //omit to use internal pull up
LPC_PINCON->PINMODE0 &= ~(3<<2); //P0.11 has pull up/down resistor
//LPC_PINCON->PINMODE0 |= (2<<2); //omit to use internal pull up
LPC_PINCON->PINMODE_OD0 |= (1<<0); //Bit P0.10 is open drain
LPC_PINCON->PINMODE_OD0 |= (1<<1); //Bit P0.11 is open drain
LPC_I2C1->I2SCLH = 60; //100kHz from 12MHz
LPC_I2C1->I2SCLL = 60; //100kHz from 12MHz
}