[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 10/44] Add BCM2838 checkpoint support
From: |
Sergey Kambalin |
Subject: |
[PATCH 10/44] Add BCM2838 checkpoint support |
Date: |
Wed, 26 Jul 2023 16:24:38 +0300 |
Signed-off-by: Sergey Kambalin <sergey.kambalin@auriga.com>
---
hw/gpio/bcm2838_gpio.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/hw/gpio/bcm2838_gpio.c b/hw/gpio/bcm2838_gpio.c
index 7291e473dc..f1121f9c58 100644
--- a/hw/gpio/bcm2838_gpio.c
+++ b/hw/gpio/bcm2838_gpio.c
@@ -17,6 +17,7 @@
#include "qemu/timer.h"
#include "qapi/error.h"
#include "hw/sysbus.h"
+#include "migration/vmstate.h"
#include "hw/sd/sd.h"
#include "hw/gpio/bcm2838_gpio.h"
#include "hw/irq.h"
@@ -324,6 +325,21 @@ static const MemoryRegionOps bcm2838_gpio_ops = {
.endianness = DEVICE_NATIVE_ENDIAN,
};
+static const VMStateDescription vmstate_bcm2838_gpio = {
+ .name = "bcm2838_gpio",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .fields = (VMStateField[]) {
+ VMSTATE_UINT8_ARRAY(fsel, BCM2838GpioState, BCM2838_GPIO_NUM),
+ VMSTATE_UINT32(lev0, BCM2838GpioState),
+ VMSTATE_UINT32(lev1, BCM2838GpioState),
+ VMSTATE_UINT8(sd_fsel, BCM2838GpioState),
+ VMSTATE_UINT32_ARRAY(pup_cntrl_reg, BCM2838GpioState,
+ GPIO_PUP_PDN_CNTRL_NUM),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
static void bcm2838_gpio_init(Object *obj)
{
BCM2838GpioState *s = BCM2838_GPIO(obj);
@@ -355,6 +371,7 @@ static void bcm2838_gpio_class_init(ObjectClass *klass,
void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
+ dc->vmsd = &vmstate_bcm2838_gpio;
dc->realize = &bcm2838_gpio_realize;
dc->reset = &bcm2838_gpio_reset;
}
--
2.34.1
- [PATCH 12/44] Temporary disable unimplemented rpi4b devices, (continued)
- [PATCH 12/44] Temporary disable unimplemented rpi4b devices, Sergey Kambalin, 2023/07/26
- [PATCH 13/44] Add memory region for BCM2837 RPiVid ASB, Sergey Kambalin, 2023/07/26
- [PATCH 18/44] Add RNG200 RNG and RBG, Sergey Kambalin, 2023/07/26
- [PATCH 16/44] Enable BCM2838 PCIE, Sergey Kambalin, 2023/07/26
- [PATCH 20/44] Implement BCM2838 thermal sensor, Sergey Kambalin, 2023/07/26
- [PATCH 23/44] Add GENET register structs. Part 1, Sergey Kambalin, 2023/07/26
- [PATCH 27/44] Add GENET register access macros, Sergey Kambalin, 2023/07/26
- [PATCH 06/44] Add BCM2838 GPIO stub, Sergey Kambalin, 2023/07/26
- [PATCH 30/44] Impl GENET TX path, Sergey Kambalin, 2023/07/26
- [PATCH 08/44] Connect SD controller to BCM2838 GPIO, Sergey Kambalin, 2023/07/26
- [PATCH 10/44] Add BCM2838 checkpoint support,
Sergey Kambalin <=
- [PATCH 14/44] Add BCM2838 PCIE Root Complex, Sergey Kambalin, 2023/07/26
- [PATCH 15/44] Add BCM2838 PCIE host, Sergey Kambalin, 2023/07/26
- [PATCH 21/44] Add clock_isp stub, Sergey Kambalin, 2023/07/26
- [PATCH 24/44] Add GENET register structs. Part 2, Sergey Kambalin, 2023/07/26
- [PATCH 09/44] Add GPIO and SD to BCM2838 periph, Sergey Kambalin, 2023/07/26
- [PATCH 11/44] Introduce Raspberry PI 4 machine, Sergey Kambalin, 2023/07/26
- [PATCH 29/44] Impl GENET MDIO, Sergey Kambalin, 2023/07/26
- [PATCH 35/44] Add mailbox test stub, Sergey Kambalin, 2023/07/26
- [PATCH 38/44] Add mailbox tests tags. Part 2, Sergey Kambalin, 2023/07/26
- [PATCH 26/44] Add GENET register structs. Part 4, Sergey Kambalin, 2023/07/26