qemu/hw/gpio
Inès Varhol 1cdcfb6e93 hw/gpio: Implement STM32L4x5 GPIO
Features supported :
- the 8 STM32L4x5 GPIOs are initialized with their reset values
    (except IDR, see below)
- input mode : setting a pin in input mode "externally" (using input
    irqs) results in an out irq (transmitted to SYSCFG)
- output mode : setting a bit in ODR sets the corresponding out irq
    (if this line is configured in output mode)
- pull-up, pull-down
- push-pull, open-drain

Difference with the real GPIOs :
- Alternate Function and Analog mode aren't implemented :
    pins in AF/Analog behave like pins in input mode
- floating pins stay at their last value
- register IDR reset values differ from the real one :
    values are coherent with the other registers reset values
    and the fact that AF/Analog modes aren't implemented
- setting I/O output speed isn't supported
- locking port bits isn't supported
- ADC function isn't supported
- GPIOH has 16 pins instead of 2 pins
- writing to registers LCKR, AFRL, AFRH and ASCR is ineffective

Signed-off-by: Arnaud Minier <arnaud.minier@telecom-paris.fr>
Signed-off-by: Inès Varhol <ines.varhol@telecom-paris.fr>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20240305210444.310665-2-ines.varhol@telecom-paris.fr
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2024-03-07 12:19:25 +00:00
..
aspeed_gpio.c hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
bcm2835_gpio.c hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
bcm2838_gpio.c hw/gpio: Connect SD controller to BCM2838 GPIO 2024-02-27 13:01:42 +00:00
gpio_key.c hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
gpio_pwr.c
imx_gpio.c hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
Kconfig hw/gpio: Implement STM32L4x5 GPIO 2024-03-07 12:19:25 +00:00
max7310.c hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
meson.build hw/gpio: Implement STM32L4x5 GPIO 2024-03-07 12:19:25 +00:00
mpc8xxx.c hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
npcm7xx_gpio.c hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
nrf51_gpio.c hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
omap_gpio.c
pl061.c hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
sifive_gpio.c hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
stm32l4x5_gpio.c hw/gpio: Implement STM32L4x5 GPIO 2024-03-07 12:19:25 +00:00
trace-events hw/gpio: Implement STM32L4x5 GPIO 2024-03-07 12:19:25 +00:00
trace.h
zaurus.c hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00