From ff31cca71ef257f8da2d9bc647ddd53f080ce580 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Tue, 10 Aug 2021 09:03:18 -0700 Subject: fsl-imx6ul: Instantiate SAI1/2/3 and ASRC as unimplemented devices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instantiate SAI1/2/3 and ASRC as unimplemented devices to avoid random Linux kernel crashes, such as Unhandled fault: external abort on non-linefetch (0x808) at 0xd1580010 pgd = (ptrval) [d1580010] *pgd=8231b811, *pte=02034653, *ppte=02034453 Internal error: : 808 [#1] SMP ARM ... [] (regmap_mmio_write32le) from [] (regmap_mmio_write+0x3c/0x54) [] (regmap_mmio_write) from [] (_regmap_write+0x4c/0x1f0) [] (_regmap_write) from [] (_regmap_update_bits+0xe4/0xec) [] (_regmap_update_bits) from [] (regmap_update_bits_base+0x50/0x74) [] (regmap_update_bits_base) from [] (fsl_asrc_runtime_resume+0x1e4/0x21c) [] (fsl_asrc_runtime_resume) from [] (__rpm_callback+0x3c/0x108) [] (__rpm_callback) from [] (rpm_callback+0x60/0x64) [] (rpm_callback) from [] (rpm_resume+0x5cc/0x808) [] (rpm_resume) from [] (__pm_runtime_resume+0x60/0xa0) [] (__pm_runtime_resume) from [] (fsl_asrc_probe+0x2a8/0x708) [] (fsl_asrc_probe) from [] (platform_probe+0x58/0xb8) [] (platform_probe) from [] (really_probe.part.0+0x9c/0x334) [] (really_probe.part.0) from [] (__driver_probe_device+0xa0/0x138) [] (__driver_probe_device) from [] (driver_probe_device+0x30/0xc8) [] (driver_probe_device) from [] (__driver_attach+0x90/0x130) [] (__driver_attach) from [] (bus_for_each_dev+0x78/0xb8) [] (bus_for_each_dev) from [] (bus_add_driver+0xf0/0x1d8) [] (bus_add_driver) from [] (driver_register+0x88/0x118) [] (driver_register) from [] (do_one_initcall+0x7c/0x3a4) [] (do_one_initcall) from [] (kernel_init_freeable+0x198/0x22c) [] (kernel_init_freeable) from [] (kernel_init+0x10/0x128) [] (kernel_init) from [] (ret_from_fork+0x14/0x38) or Unhandled fault: external abort on non-linefetch (0x808) at 0xd19b0000 pgd = (ptrval) [d19b0000] *pgd=82711811, *pte=308a0653, *ppte=308a0453 Internal error: : 808 [#1] SMP ARM ... [] (regmap_mmio_write32le) from [] (regmap_mmio_write+0x3c/0x54) [] (regmap_mmio_write) from [] (_regmap_write+0x4c/0x1f0) [] (_regmap_write) from [] (regmap_write+0x3c/0x60) [] (regmap_write) from [] (fsl_sai_runtime_resume+0x9c/0x1ec) [] (fsl_sai_runtime_resume) from [] (__rpm_callback+0x3c/0x108) [] (__rpm_callback) from [] (rpm_callback+0x60/0x64) [] (rpm_callback) from [] (rpm_resume+0x5cc/0x808) [] (rpm_resume) from [] (__pm_runtime_resume+0x60/0xa0) [] (__pm_runtime_resume) from [] (fsl_sai_probe+0x2b8/0x65c) [] (fsl_sai_probe) from [] (platform_probe+0x58/0xb8) [] (platform_probe) from [] (really_probe.part.0+0x9c/0x334) [] (really_probe.part.0) from [] (__driver_probe_device+0xa0/0x138) [] (__driver_probe_device) from [] (driver_probe_device+0x30/0xc8) [] (driver_probe_device) from [] (__driver_attach+0x90/0x130) [] (__driver_attach) from [] (bus_for_each_dev+0x78/0xb8) [] (bus_for_each_dev) from [] (bus_add_driver+0xf0/0x1d8) [] (bus_add_driver) from [] (driver_register+0x88/0x118) [] (driver_register) from [] (do_one_initcall+0x7c/0x3a4) [] (do_one_initcall) from [] (kernel_init_freeable+0x198/0x22c) [] (kernel_init_freeable) from [] (kernel_init+0x10/0x128) [] (kernel_init) from [] (ret_from_fork+0x14/0x38) Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Guenter Roeck Message-id: 20210810160318.87376-1-linux@roeck-us.net Signed-off-by: Peter Maydell --- hw/arm/fsl-imx6ul.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'hw/arm/fsl-imx6ul.c') diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c index e0128d7..1d1a708 100644 --- a/hw/arm/fsl-imx6ul.c +++ b/hw/arm/fsl-imx6ul.c @@ -535,6 +535,13 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) create_unimplemented_device("sdma", FSL_IMX6UL_SDMA_ADDR, 0x4000); /* + * SAI (Audio SSI (Synchronous Serial Interface)) + */ + create_unimplemented_device("sai1", FSL_IMX6UL_SAI1_ADDR, 0x4000); + create_unimplemented_device("sai2", FSL_IMX6UL_SAI2_ADDR, 0x4000); + create_unimplemented_device("sai3", FSL_IMX6UL_SAI3_ADDR, 0x4000); + + /* * PWM */ create_unimplemented_device("pwm1", FSL_IMX6UL_PWM1_ADDR, 0x4000); @@ -543,6 +550,11 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) create_unimplemented_device("pwm4", FSL_IMX6UL_PWM4_ADDR, 0x4000); /* + * Audio ASRC (asynchronous sample rate converter) + */ + create_unimplemented_device("asrc", FSL_IMX6UL_ASRC_ADDR, 0x4000); + + /* * CAN */ create_unimplemented_device("can1", FSL_IMX6UL_CAN1_ADDR, 0x4000); -- cgit v1.1