From: Yucai Liu <yangyanglan718@gmail.com>
To: pbonzini@redhat.com, peter.maydell@linaro.org
Cc: jcd@tribudubois.net, qemu-devel@nongnu.org, qemu-arm@nongnu.org
Subject: [PATCH v3 2/2] hw/arm/fsl-imx6ul: Wire in the LCDIF device model
Date: Sun, 12 Apr 2026 19:02:40 +0800 [thread overview]
Message-ID: <20260412110240.93116-3-yangyanglan718@gmail.com> (raw)
In-Reply-To: <20260412110240.93116-1-yangyanglan718@gmail.com>
From: Yucai Liu <1486344514@qq.com>
Instantiate LCDIF as a child object of the i.MX6UL SoC in init and
realize it in the SoC realize path before MMIO/IRQ hookup.
Also make FSL_IMX6UL select CONFIG_IMX6UL_LCDIF and map the LCDIF
region with a 16 KiB size to match the SoC memory map.
Signed-off-by: Yucai Liu <1486344514@qq.com>
---
hw/arm/Kconfig | 1 +
hw/arm/fsl-imx6ul.c | 12 ++++++++++--
include/hw/arm/fsl-imx6ul.h | 4 +++-
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index c66c452737..6655f6c34e 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -641,6 +641,7 @@ config FSL_IMX6UL
imply I2C_DEVICES
select A15MPCORE
select IMX
+ select IMX6UL_LCDIF
select IMX_FEC
select IMX_I2C
select IMX_USBPHY
diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c
index 225e179126..1863558a0d 100644
--- a/hw/arm/fsl-imx6ul.c
+++ b/hw/arm/fsl-imx6ul.c
@@ -19,6 +19,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "hw/arm/fsl-imx6ul.h"
+#include "hw/display/imx6ul_lcdif.h"
#include "hw/misc/unimp.h"
#include "hw/usb/imx-usb-phy.h"
#include "hw/core/boards.h"
@@ -136,6 +137,11 @@ static void fsl_imx6ul_init(Object *obj)
object_initialize_child(obj, name, &s->usb[i], TYPE_CHIPIDEA);
}
+ /*
+ * LCDIF
+ */
+ object_initialize_child(obj, "lcdif", &s->lcdif, TYPE_IMX6UL_LCDIF);
+
/*
* SDHCIs
*/
@@ -656,8 +662,10 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp)
/*
* LCD
*/
- create_unimplemented_device("lcdif", FSL_IMX6UL_LCDIF_ADDR,
- FSL_IMX6UL_LCDIF_SIZE);
+ sysbus_realize(SYS_BUS_DEVICE(&s->lcdif), &error_abort);
+ sysbus_mmio_map(SYS_BUS_DEVICE(&s->lcdif), 0, FSL_IMX6UL_LCDIF_ADDR);
+ sysbus_connect_irq(SYS_BUS_DEVICE(&s->lcdif), 0,
+ qdev_get_gpio_in(gic, FSL_IMX6UL_LCDIF_IRQ));
/*
* CSU
diff --git a/include/hw/arm/fsl-imx6ul.h b/include/hw/arm/fsl-imx6ul.h
index 4e3209b25b..733553883f 100644
--- a/include/hw/arm/fsl-imx6ul.h
+++ b/include/hw/arm/fsl-imx6ul.h
@@ -33,6 +33,7 @@
#include "hw/net/imx_fec.h"
#include "hw/usb/chipidea.h"
#include "hw/usb/imx-usb-phy.h"
+#include "hw/display/imx6ul_lcdif.h"
#include "system/memory.h"
#include "cpu.h"
#include "qom/object.h"
@@ -84,6 +85,7 @@ struct FslIMX6ULState {
IMX2WdtState wdt[FSL_IMX6UL_NUM_WDTS];
IMXUSBPHYState usbphy[FSL_IMX6UL_NUM_USB_PHYS];
ChipideaState usb[FSL_IMX6UL_NUM_USBS];
+ IMX6ULLCDIFState lcdif;
MemoryRegion rom;
MemoryRegion caam;
MemoryRegion ocram;
@@ -143,7 +145,7 @@ enum FslIMX6ULMemoryMap {
FSL_IMX6UL_PXP_SIZE = (16 * KiB),
FSL_IMX6UL_LCDIF_ADDR = 0x021C8000,
- FSL_IMX6UL_LCDIF_SIZE = 0x100,
+ FSL_IMX6UL_LCDIF_SIZE = (16 * KiB),
FSL_IMX6UL_CSI_ADDR = 0x021C4000,
FSL_IMX6UL_CSI_SIZE = 0x100,
--
2.53.0
prev parent reply other threads:[~2026-04-12 11:03 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-12 11:02 [PATCH v3 0/2] i.MX6UL LCDIF device model and SoC wiring Yucai Liu
2026-04-12 11:02 ` [PATCH v3 1/2] hw/display: Add i.MX6UL LCDIF device model Yucai Liu
2026-04-12 11:02 ` Yucai Liu [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260412110240.93116-3-yangyanglan718@gmail.com \
--to=yangyanglan718@gmail.com \
--cc=jcd@tribudubois.net \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox