Ok heres my setup,

320x240 graphics lcd
24lc512 eeprom
ds1307 rtc
pic18f6585 @ 40MHz

my problem is when i read at normal speed off the i2c bus the eeprom works fine, the ds1307 only works when i run the i2c bus at 100KHz (DEFINE I2C_SLOW 1).

the define cannot be changed throughout the program, so i am forced to read the i2c bus at slow speed, i need high speed. i have 4.7k pullups.

Has anyone had problems reading the rtc @ 40MHz?

i am considering writing my own subroutines to read the rtc so it doesnt interfere with my i2c statements.