Message ID | 20221218211918.3592-6-strahinja.p.jankovic@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Enable Cubieboard A10 boot SPL from SD card | expand |
On 18/12/22 22:19, Strahinja Jankovic wrote: > SPL Boot for Cubieboard expects AXP-209 connected to I2C0 bus. > > Signed-off-by: Strahinja Jankovic <strahinja.p.jankovic@gmail.com> > --- > hw/arm/cubieboard.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c > index 5e3372a3c7..afc7980414 100644 > --- a/hw/arm/cubieboard.c > +++ b/hw/arm/cubieboard.c > @@ -20,6 +20,7 @@ > #include "hw/boards.h" > #include "hw/qdev-properties.h" > #include "hw/arm/allwinner-a10.h" > +#include "hw/i2c/i2c.h" > > static struct arm_boot_info cubieboard_binfo = { > .loader_start = AW_A10_SDRAM_BASE, > @@ -34,6 +35,7 @@ static void cubieboard_init(MachineState *machine) > BlockBackend *blk; > BusState *bus; > DeviceState *carddev; > + I2CBus *i2c; > > /* BIOS is not supported by this board */ > if (machine->firmware) { > @@ -80,6 +82,10 @@ static void cubieboard_init(MachineState *machine) > exit(1); > } > > + /* Connect AXP 209 */ > + i2c = (I2CBus *)qdev_get_child_bus(DEVICE(&a10->i2c0), "i2c"); Preferably using I2C_BUS() instead of the cast: Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> > + i2c_slave_create_simple(i2c, "allwinner.axp209", 0x34); > + > /* Retrieve SD bus */ > di = drive_get(IF_SD, 0, 0); > blk = di ? blk_by_legacy_dinfo(di) : NULL;
diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 5e3372a3c7..afc7980414 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -20,6 +20,7 @@ #include "hw/boards.h" #include "hw/qdev-properties.h" #include "hw/arm/allwinner-a10.h" +#include "hw/i2c/i2c.h" static struct arm_boot_info cubieboard_binfo = { .loader_start = AW_A10_SDRAM_BASE, @@ -34,6 +35,7 @@ static void cubieboard_init(MachineState *machine) BlockBackend *blk; BusState *bus; DeviceState *carddev; + I2CBus *i2c; /* BIOS is not supported by this board */ if (machine->firmware) { @@ -80,6 +82,10 @@ static void cubieboard_init(MachineState *machine) exit(1); } + /* Connect AXP 209 */ + i2c = (I2CBus *)qdev_get_child_bus(DEVICE(&a10->i2c0), "i2c"); + i2c_slave_create_simple(i2c, "allwinner.axp209", 0x34); + /* Retrieve SD bus */ di = drive_get(IF_SD, 0, 0); blk = di ? blk_by_legacy_dinfo(di) : NULL;
SPL Boot for Cubieboard expects AXP-209 connected to I2C0 bus. Signed-off-by: Strahinja Jankovic <strahinja.p.jankovic@gmail.com> --- hw/arm/cubieboard.c | 6 ++++++ 1 file changed, 6 insertions(+)