[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 13/13] hw/ppc/e500: Add Freescale eSDHC to e500 boards
From: |
Bernhard Beschow |
Subject: |
Re: [PATCH v2 13/13] hw/ppc/e500: Add Freescale eSDHC to e500 boards |
Date: |
Sun, 16 Oct 2022 12:04:10 +0000 |
Am 3. Oktober 2022 21:06:57 UTC schrieb "Philippe Mathieu-Daudé"
<f4bug@amsat.org>:
>On 3/10/22 22:31, Bernhard Beschow wrote:
>> Adds missing functionality to emulated e500 SOCs which increases the
>> chance of given "real" firmware images to access SD cards.
>>
>> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>> ---
>> docs/system/ppc/ppce500.rst | 13 +++++++++++++
>> hw/ppc/Kconfig | 1 +
>> hw/ppc/e500.c | 31 ++++++++++++++++++++++++++++++-
>> 3 files changed, 44 insertions(+), 1 deletion(-)
>
>> +static void dt_sdhc_create(void *fdt, const char *parent, const char *mpic)
>> +{
>> + hwaddr mmio = MPC85XX_ESDHC_REGS_OFFSET;
>> + hwaddr size = MPC85XX_ESDHC_REGS_SIZE;
>> + int irq = MPC85XX_ESDHC_IRQ;
>
>Why not pass these 3 variable as argument?
Besides looking for a way to derive these parameters from QOM properties I
wanted to keep the code consistent to existing one, e.g. dt_i2c_create().
Best regards,
Bernhard
>
>> + g_autofree char *name = NULL;
>> +
>> + name = g_strdup_printf("%s/sdhc@%" PRIx64, parent, mmio);
>> + qemu_fdt_add_subnode(fdt, name);
>> + qemu_fdt_setprop(fdt, name, "sdhci,auto-cmd12", NULL, 0);
>> + qemu_fdt_setprop_phandle(fdt, name, "interrupt-parent", mpic);
>> + qemu_fdt_setprop_cells(fdt, name, "bus-width", 4);
>> + qemu_fdt_setprop_cells(fdt, name, "interrupts", irq, 0x2);
>> + qemu_fdt_setprop_cells(fdt, name, "reg", mmio, size);
>> + qemu_fdt_setprop_string(fdt, name, "compatible", "fsl,esdhc");
>> +}
>> typedef struct PlatformDevtreeData {
>> void *fdt;
>> @@ -553,6 +573,8 @@ static int ppce500_load_device_tree(PPCE500MachineState
>> *pms,
>> dt_rtc_create(fdt, "i2c", "rtc");
>> + /* sdhc */
>> + dt_sdhc_create(fdt, soc, mpic);
>>
- [PATCH v2 00/13] ppc/e500: Add support for two types of flash, cleanup, Bernhard Beschow, 2022/10/03
- [PATCH v2 01/13] hw/ppc/meson: Allow e500 boards to be enabled separately, Bernhard Beschow, 2022/10/03
- [PATCH v2 03/13] docs/system/ppc/ppce500: Add heading for networking chapter, Bernhard Beschow, 2022/10/03
- [PATCH v2 02/13] hw/gpio/meson: Introduce dedicated config switch for hw/gpio/mpc8xxx, Bernhard Beschow, 2022/10/03
- [PATCH v2 13/13] hw/ppc/e500: Add Freescale eSDHC to e500 boards, Bernhard Beschow, 2022/10/03
- [PATCH v2 08/13] hw/block/pflash_cfi01: Error out if device length isn't a power of two, Bernhard Beschow, 2022/10/03
- [PATCH v2 10/13] hw/sd/sdhci-internal: Unexport ESDHC defines, Bernhard Beschow, 2022/10/03
- [PATCH v2 05/13] hw/ppc/mpc8544ds: Rename wrongly named method, Bernhard Beschow, 2022/10/03
- [PATCH v2 06/13] hw/ppc/mpc8544ds: Add platform bus, Bernhard Beschow, 2022/10/03
- [PATCH v2 09/13] hw/ppc/e500: Implement pflash handling, Bernhard Beschow, 2022/10/03