[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 5/7] hw/arm/mps2: Add I2C busses on FPGA APB
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH 5/7] hw/arm/mps2: Add I2C busses on FPGA APB |
Date: |
Wed, 17 Jun 2020 05:28:45 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
On 6/16/20 12:21 PM, Peter Maydell wrote:
> On Tue, 16 Jun 2020 at 07:32, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>>
>> 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);
>> + }
>
> Is this device really the same as the I2C controller h/w
> on the versatile board ?
It seems the opposite way around, the I2C controller modeled as
'versatile_i2c' is the real 'ARM SBCon two-wire serial bus interface'
bitbanging I2C. IIUC the name 'ARM SBCon two-wire serial bus interface'
became official /after/ the versatile was released, so 'versatile-i2c'
is the popular name.
Yes, the MPS2(+) implement the ARM SBCon two-wire serial bus interface.
I'll see to add a TYPE_SBCON_I2C alias, it might be easier.
>
> thanks
> -- PMM
>
- [PATCH 0/7] mps2: Add few more peripherals, Philippe Mathieu-Daudé, 2020/06/16
- [PATCH 1/7] hw/arm/mps2: Rename CMSDK AHB peripheral region, Philippe Mathieu-Daudé, 2020/06/16
- [PATCH 2/7] hw/arm/mps2: Rename dualtimer as apb-dualtimer, Philippe Mathieu-Daudé, 2020/06/16
- [PATCH 3/7] hw/arm/mps2: Add CMSDK APB watchdog as unimplemented device, Philippe Mathieu-Daudé, 2020/06/16
- [PATCH 5/7] hw/arm/mps2: Add I2C busses on FPGA APB, Philippe Mathieu-Daudé, 2020/06/16
- [PATCH 6/7] hw/arm/mps2: Map the FPGA I/O block, 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