[PATCH 4/5] ppc: DA923RC: add board support

Renaud Barbier renaud.barbier at ge.com
Fri Nov 1 09:02:22 EDT 2013


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.




More information about the barebox mailing list