On 01/11/2013 12:56, Renaud Barbier wrote: > On 01/11/2013 11:58, Sascha Hauer wrote: >> On Thu, Oct 31, 2013 at 08:10:28PM +0000, Renaud Barbier wrote: >>> On 31/10/2013 07:48, Sascha Hauer wrote: >>>>>> + >>>>>>>> + fsl_i2c_init(0, 400000, 0x7f); >>>>>>>> + /* Read board id from offset 0. */ >>>>>>>> + ret = fsl_i2c_read(i2c, 0x3b, 0, 1, &id, sizeof(uint8_t)); >>>>>>>> + fsl_i2c_stop(i2c); >>>>>>>> + >>>>>>>> + if (ret == -1) { >>>>>>>> + /* Enable I2C bus on GBX460. */ >>>>>>>> + out_be16(IOMEM(0xfc010020), 0); >>>>>>>> + ret = fsl_i2c_read(i2c, 0x3b, 0, 1, &id, sizeof(uint8_t)); >>>>>>>> + fsl_i2c_stop(i2c); >>>>>> why you do not simly use the standdard i2c AP? >>>> I think because the machine is still running from SRAM or flash here and >>>> I2C is needed to read out the SPD EEPROM for setting up SDRAM. >>>> >>> >>> In order to use the I2C API would I not need to register my i2c bus >>> first? This only happens later in the initcall list with device-initcall. >> >> Yes, You would have to have your i2c bus registered. Can't you move the >> above to late_initcall? >> >> Sascha >> > > I just did the following experiment: > Move the code to device_initcall after the I2C registration and use the > I2C API. Using the I2C API worked. However, when booting the board model > is a NULL strings. > > So next I will check whether I can register the I2C device either in the > postcore_initcall or when doing the console_initcall. > > Renaud. Probably a bad idea if device registration relies on the previous initcall: fs_initcall. _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox