> I notice One thing That I2C2 is a peripheral of "APB 1 peripheral group"
> Is there is Dependance to use these peripherals .??
Usually, each peripheral bus has it's own RCC register to enable/disable the clock to attached peripherals. And, each bus has it's own clock setup.
As said, I do not have a LPC1788.
> Chip_Clock_EnablePeriphClock(i2c[id].clk);
I would check if this routine does enable the proper SYSCON flags, comparing with the MCU datasheet.
By the way, I would recommend to spend some time studying the datasheet in general.
Almost all IO pins in MCUs are multiplexed. You need not only to configure the GPIO pin and select the appropriate function, but also enable and configure the peripheral unit, which is I2C2 in your case.
This is highly specific for the vendor and the MCU family. I had dealt with a PLC546xx, were I2C functionality is provided by the Flexcomm peripherals.