[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 5/7] hw/arm/mps2: Add I2C busses on FPGA APB
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH 5/7] hw/arm/mps2: Add I2C busses on FPGA APB |
Date: |
Tue, 16 Jun 2020 08:31:55 +0200 |
There are 4 different I2C peripherals on the FPGA APB.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
hw/arm/mps2.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c
index 4a49bfa9b9..6224d7a63c 100644
--- a/hw/arm/mps2.c
+++ b/hw/arm/mps2.c
@@ -321,6 +321,7 @@ static void mps2_common_init(MachineState *machine)
create_unimplemented_device("cmsdk-ahb-gpio", gpiobase[i], 0x1000);
}
+ /* FPGA APB */
sysbus_init_child_obj(OBJECT(mms), "scc", &mms->scc,
sizeof(mms->scc), TYPE_MPS2_SCC);
sccdev = DEVICE(&mms->scc);
@@ -330,6 +331,12 @@ static void mps2_common_init(MachineState *machine)
object_property_set_bool(OBJECT(&mms->scc), true, "realized",
&error_fatal);
sysbus_mmio_map(SYS_BUS_DEVICE(sccdev), 0, 0x4002f000);
+ for (i = 0; i < 4; i++) {
+ static const hwaddr i2cbase[] = {0x40022000, 0x40023000,
+ 0x40029000, 0x4002a000};
+
+ sysbus_create_simple("versatile_i2c", i2cbase[i], NULL);
+ }
/* In hardware this is a LAN9220; the LAN9118 is software compatible
* except that it doesn't support the checksum-offload feature.
--
2.21.3
- [PATCH 0/7] mps2: Add few more peripherals, Philippe Mathieu-Daudé, 2020/06/16
- [PATCH 2/7] hw/arm/mps2: Rename dualtimer as apb-dualtimer, Philippe Mathieu-Daudé, 2020/06/16
- [PATCH 1/7] hw/arm/mps2: Rename CMSDK AHB peripheral region, Philippe Mathieu-Daudé, 2020/06/16
- [PATCH 5/7] hw/arm/mps2: Add I2C busses on FPGA APB,
Philippe Mathieu-Daudé <=
- [PATCH 3/7] hw/arm/mps2: Add CMSDK APB watchdog as unimplemented device, Philippe Mathieu-Daudé, 2020/06/16
- [PATCH 4/7] hw/arm/mps2: Add CMSDK AHB GPIO peripherals as unimplemented devices, Philippe Mathieu-Daudé, 2020/06/16
- [PATCH 7/7] hw/misc/mps2-fpgaio: Implement push-buttons, Philippe Mathieu-Daudé, 2020/06/16