[U-Boot] [PATCH v2 14/17] dm: i2c: dts: Add an I2C bus for sandbox

Simon Glass
2014-11-19T10:36:06Z

Hi Masahiro,

On 19 November 2014 08:29, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
> Hi Simon,
>
>
>
> On Tue, 11 Nov 2014 10:46:30 -0700
> Simon Glass <sjg@chromium.org> wrote:
>
>> diff --git a/arch/sandbox/dts/sandbox.dts b/arch/sandbox/dts/sandbox.dts
>> index 7614715..11748ae 100644
>> --- a/arch/sandbox/dts/sandbox.dts
>> +++ b/arch/sandbox/dts/sandbox.dts
>> @@ -134,6 +134,23 @@
>> num-gpios = <20>;
>> };
>>
>> + i2c at 0 {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + reg = <0>;
>> + compatible = "sandbox,i2c";
>> + clock-frequency = <400000>;
>> + eeprom at 2c {
>> + reg = <0x2c>;
>> + compatible = "i2c-eeprom";
>> + emul {
>> + compatible = "sandbox,i2c-eeprom";
>> + sandbox,filename = "i2c.bin";
>> + sandbox,size = <128>;
>> + };
>> + };
>> + };
>> +
>> spi at 0 {
>> #address-cells = <1>;
>> #size-cells = <0>;
>
>
>
>
> It is not clear to me why "sandbox,i2c-eeprom" is not placed right under "i2c at 0".
>
> What does the intermediate node "eeprom at 2c" do?
> I checked drivers/misc/i2c_eeprom.c but it does not seem to do anything.

Yes it doesn't yet, but could do in future.

The intermediate node is for the EEPROM driver, which we can build out
as needed. The emul node connects the sandbox EEPROM emulation to the
other side of the driver. On real hardware we don't have this, but we
must attach emulators to devices (SPI, I2C, etc.) when using sandbox.

Regards,
Simon