On Sun, 5 Jul 2020 at 21:46, Philippe Mathieu-Daudé <f4...@amsat.org> wrote: > > The 'card is readonly' and 'card inserted' IRQs are not wired. > Add a comment in case someone know where to wire them. > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > hw/arm/versatilepb.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c > index e596b8170f..45a13ae2b9 100644 > --- a/hw/arm/versatilepb.c > +++ b/hw/arm/versatilepb.c > @@ -310,7 +310,9 @@ static void versatile_init(MachineState *machine, int > board_id) > qdev_connect_gpio_out(sysctl, 0, qdev_get_gpio_in(dev, 0)); > > sysbus_create_varargs("pl181", 0x10005000, sic[22], sic[1], NULL); > + /* FIXME wire 'card is readonly' and 'card inserted' IRQs? */ > sysbus_create_varargs("pl181", 0x1000b000, sic[23], sic[2], NULL); > + /* FIXME wire 'card is readonly' and 'card inserted' IRQs? */
These should be wired up to the SYS_MCI register in the "system and configuration registers" block: https://developer.arm.com/documentation/dui0225/d/programmer-s-reference/status-and-system-control-registers/mci-register--sys-mci Our "realview_sysctl" device implements this (we use it on the realviewpb). However it only has support for having one MMC device -- we'd need to extend it to have the GPIO inputs for the 2nd MMC controller, and make the arm_sysctl_gpio_set() function handle them to set the right bits. Then we could wire it up at the board level fairly easily (more simply than for realview, which also has to wire the same lines up to a GPIO controller). If you believe the documentation (which includes a little circuit diagram in both the versatilepb and realviewpb manuals) then the versatilepb doesn't have the inverter on the CARDIN line that the realview does. thanks -- PMM