Re: [PATCH v2 7/8] hw/arm/fsl-imx7: Instantiate various unimplemented devices

2020-04-16 Thread Peter Maydell
On Sun, 22 Mar 2020 at 21:19, Guenter Roeck  wrote:
>
> Instantiating PWM, CAN, CAAM, and OCOTP devices is necessary to avoid
> crashes when booting mainline Linux.
>
> Signed-off-by: Guenter Roeck 

Reviewed-by: Peter Maydell 

thanks
-- PMM



[PATCH v2 7/8] hw/arm/fsl-imx7: Instantiate various unimplemented devices

2020-03-22 Thread Guenter Roeck
Instantiating PWM, CAN, CAAM, and OCOTP devices is necessary to avoid
crashes when booting mainline Linux.

Signed-off-by: Guenter Roeck 
---
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  = 0x3034,
 FSL_IMX7_IOMUXCn_SIZE = 0x1000,
 
+FSL_IMX7_OCOTP_ADDR   = 0x3035,
+FSL_IMX7_OCOTP_SIZE   = 0x1,
+
 FSL_IMX7_ANALOG_ADDR  = 0x3036,
 FSL_IMX7_SNVS_ADDR= 0x3037,
 FSL_IMX7_CCM_ADDR = 0x3038,
@@ -124,11 +127,24 @@ enum FslIMX7MemoryMap {
 FSL_IMX7_ADC2_ADDR= 0x3062,
 FSL_IMX7_ADCn_SIZE= 0x1000,
 
+FSL_IMX7_PWM1_ADDR= 0x3066,
+FSL_IMX7_PWM2_ADDR= 0x3067,
+FSL_IMX7_PWM3_ADDR= 0x3068,
+FSL_IMX7_PWM4_ADDR= 0x3069,
+FSL_IMX7_PWMn_SIZE= 0x1,
+
 FSL_IMX7_PCIE_PHY_ADDR= 0x306D,
 FSL_IMX7_PCIE_PHY_SIZE= 0x1,
 
 FSL_IMX7_GPC_ADDR = 0x303A,
 
+FSL_IMX7_CAAM_ADDR= 0x3090,
+FSL_IMX7_CAAM_SIZE= 0x4,
+
+FSL_IMX7_CAN1_ADDR= 0x30A0,
+FSL_IMX7_CAN2_ADDR= 0x30A1,
+FSL_IMX7_CANn_SIZE= 0x1,
+
 FSL_IMX7_I2C1_ADDR= 0x30A2,
 FSL_IMX7_I2C2_ADDR= 0x30A3,
 FSL_IMX7_I2C3_ADDR= 0x30A4,
-- 
2.17.1