[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 7/8] hw/arm/fsl-imx7: Instantiate various unimplemented device
From: |
Guenter Roeck |
Subject: |
[PATCH v2 7/8] hw/arm/fsl-imx7: Instantiate various unimplemented devices |
Date: |
Sun, 22 Mar 2020 14:19:18 -0700 |
Instantiating PWM, CAN, CAAM, and OCOTP devices is necessary to avoid
crashes when booting mainline Linux.
Signed-off-by: Guenter Roeck <address@hidden>
---
v2: "octop" -> "ocotp"
hw/arm/fsl-imx7.c | 24 ++++++++++++++++++++++++
include/hw/arm/fsl-imx7.h | 16 ++++++++++++++++
2 files changed, 40 insertions(+)
diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c
index 119b281a50..d6cf7c48ce 100644
--- a/hw/arm/fsl-imx7.c
+++ b/hw/arm/fsl-imx7.c
@@ -459,6 +459,30 @@ static void fsl_imx7_realize(DeviceState *dev, Error
**errp)
*/
create_unimplemented_device("sdma", FSL_IMX7_SDMA_ADDR,
FSL_IMX7_SDMA_SIZE);
+ /*
+ * CAAM
+ */
+ create_unimplemented_device("caam", FSL_IMX7_CAAM_ADDR,
FSL_IMX7_CAAM_SIZE);
+
+ /*
+ * PWM
+ */
+ create_unimplemented_device("pwm1", FSL_IMX7_PWM1_ADDR,
FSL_IMX7_PWMn_SIZE);
+ create_unimplemented_device("pwm2", FSL_IMX7_PWM2_ADDR,
FSL_IMX7_PWMn_SIZE);
+ create_unimplemented_device("pwm3", FSL_IMX7_PWM3_ADDR,
FSL_IMX7_PWMn_SIZE);
+ create_unimplemented_device("pwm4", FSL_IMX7_PWM4_ADDR,
FSL_IMX7_PWMn_SIZE);
+
+ /*
+ * CAN
+ */
+ create_unimplemented_device("can1", FSL_IMX7_CAN1_ADDR,
FSL_IMX7_CANn_SIZE);
+ create_unimplemented_device("can2", FSL_IMX7_CAN2_ADDR,
FSL_IMX7_CANn_SIZE);
+
+ /*
+ * OCOTP
+ */
+ create_unimplemented_device("ocotp", FSL_IMX7_OCOTP_ADDR,
+ FSL_IMX7_OCOTP_SIZE);
object_property_set_bool(OBJECT(&s->gpr), true, "realized",
&error_abort);
diff --git a/include/hw/arm/fsl-imx7.h b/include/hw/arm/fsl-imx7.h
index 3a0041c4c2..47826da2b7 100644
--- a/include/hw/arm/fsl-imx7.h
+++ b/include/hw/arm/fsl-imx7.h
@@ -113,6 +113,9 @@ enum FslIMX7MemoryMap {
FSL_IMX7_IOMUXC_GPR_ADDR = 0x30340000,
FSL_IMX7_IOMUXCn_SIZE = 0x1000,
+ FSL_IMX7_OCOTP_ADDR = 0x30350000,
+ FSL_IMX7_OCOTP_SIZE = 0x10000,
+
FSL_IMX7_ANALOG_ADDR = 0x30360000,
FSL_IMX7_SNVS_ADDR = 0x30370000,
FSL_IMX7_CCM_ADDR = 0x30380000,
@@ -124,11 +127,24 @@ enum FslIMX7MemoryMap {
FSL_IMX7_ADC2_ADDR = 0x30620000,
FSL_IMX7_ADCn_SIZE = 0x1000,
+ FSL_IMX7_PWM1_ADDR = 0x30660000,
+ FSL_IMX7_PWM2_ADDR = 0x30670000,
+ FSL_IMX7_PWM3_ADDR = 0x30680000,
+ FSL_IMX7_PWM4_ADDR = 0x30690000,
+ FSL_IMX7_PWMn_SIZE = 0x10000,
+
FSL_IMX7_PCIE_PHY_ADDR = 0x306D0000,
FSL_IMX7_PCIE_PHY_SIZE = 0x10000,
FSL_IMX7_GPC_ADDR = 0x303A0000,
+ FSL_IMX7_CAAM_ADDR = 0x30900000,
+ FSL_IMX7_CAAM_SIZE = 0x40000,
+
+ FSL_IMX7_CAN1_ADDR = 0x30A00000,
+ FSL_IMX7_CAN2_ADDR = 0x30A10000,
+ FSL_IMX7_CANn_SIZE = 0x10000,
+
FSL_IMX7_I2C1_ADDR = 0x30A20000,
FSL_IMX7_I2C2_ADDR = 0x30A30000,
FSL_IMX7_I2C3_ADDR = 0x30A40000,
--
2.17.1
- [PATCH v2 0/8] hw/arm: Implement i.MX watchdog support, Guenter Roeck, 2020/03/22
- [PATCH v2 1/8] hw: Move i.MX watchdog driver to hw/watchdog, Guenter Roeck, 2020/03/22
- [PATCH v2 5/8] hw/arm/fsl-imx6: Connect watchdog interrupts, Guenter Roeck, 2020/03/22
- [PATCH v2 4/8] hw/arm/fsl-imx31: Wire up watchdog, Guenter Roeck, 2020/03/22
- [PATCH v2 2/8] hw/watchdog: Implement full i.MX watchdog support, Guenter Roeck, 2020/03/22
- [PATCH v2 8/8] hw/arm/fsl-imx7: Connect watchdog interrupts, Guenter Roeck, 2020/03/22
- [PATCH v2 7/8] hw/arm/fsl-imx7: Instantiate various unimplemented devices,
Guenter Roeck <=
- [PATCH v2 6/8] hw/arm/fsl-imx6ul: Connect watchdog interrupts, Guenter Roeck, 2020/03/22
- [PATCH v2 3/8] hw/arm/fsl-imx25: Wire up watchdog, Guenter Roeck, 2020/03/22