From: "Philippe Mathieu-Daudé" <philmd@oss.qualcomm.com>
To: qemu-devel@nongnu.org
Subject: [PULL 29/59] Kconfig: Extract dedicated config FSL_IMXx_CCM from config IMX
Date: Tue, 27 Oct 2026 20:23:10 +0100 [thread overview]
Message-ID: <20261027192341.9197-30-philmd@oss.qualcomm.com> (raw)
In-Reply-To: <20261027192341.9197-1-philmd@oss.qualcomm.com>
From: Bernhard Beschow <shentey@gmail.com>
Over time, QEMU has grown a number of i.MX boards and the monolithic
config IMX drags in unneeded dependencies into each SoC model. Extract
SoC-specific config FSL_IMXx_CCM to eventually eliminate config IMX.
Note that config IMX_CCM represents a base class for i.MX clock
control modules which is used in i.MX timers and FlexCAN.
Reviewed-by: Bin Meng <bin.meng@processmission.com>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-ID: <20261006083445.30362-25-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
---
hw/arm/Kconfig | 5 +++++
hw/misc/Kconfig | 25 +++++++++++++++++++++++++
hw/misc/meson.build | 14 ++++++--------
hw/net/Kconfig | 2 +-
4 files changed, 37 insertions(+), 9 deletions(-)
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index c01b1ea979bf..4d9279ca2c8e 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -479,6 +479,7 @@ config FSL_IMX25
default y
depends on TCG && ARM
imply I2C_DEVICES
+ select FSL_IMX25_CCM
select IMX
select IMX_AVIC
select IMX_FEC
@@ -493,6 +494,7 @@ config FSL_IMX31
default y
depends on TCG && ARM
imply I2C_DEVICES
+ select FSL_IMX31_CCM
select SERIAL_MM
select IMX
select IMX_AVIC
@@ -505,6 +507,7 @@ config FSL_IMX6
imply PCIE_DEVICES
imply I2C_DEVICES
select A9MPCORE
+ select FSL_IMX6_CCM
select FSL_IMX6_SRC
select FSL_IMX7_SNVS
select IMX
@@ -581,6 +584,7 @@ config FSL_IMX7
imply TEST_DEVICES
imply I2C_DEVICES
select A15MPCORE
+ select FSL_IMX7_CCM
select FSL_IMX7_GPR
select FSL_IMX7_SNVS
select FSL_IMX7_SRC
@@ -669,6 +673,7 @@ config FSL_IMX6UL
imply I2C_DEVICES
select A15MPCORE
select FSL_IMX6_SRC
+ select FSL_IMX6UL_CCM
select FSL_IMX7_SNVS
select IMX
select IMX6UL_LCDIF
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
index a69c56ecc69b..de95648f0b0b 100644
--- a/hw/misc/Kconfig
+++ b/hw/misc/Kconfig
@@ -91,15 +91,39 @@ config ECCMEMCTL
config IMX
bool
+ depends on IMX_CCM
select PTIMER
select SSI
+config IMX_CCM
+ bool
+
config IMX_RNG
bool
+config FSL_IMX25_CCM
+ bool
+ select IMX_CCM
+
+config FSL_IMX31_CCM
+ bool
+ select IMX_CCM
+
+config FSL_IMX6_CCM
+ bool
+ select IMX_CCM
+
config FSL_IMX6_SRC
bool
+config FSL_IMX6UL_CCM
+ bool
+ select IMX_CCM
+
+config FSL_IMX7_CCM
+ bool
+ select IMX_CCM
+
config FSL_IMX7_GPR
bool
@@ -114,6 +138,7 @@ config FSL_IMX8MP_ANALOG
config FSL_IMX8MP_CCM
bool
+ select IMX_CCM
config STM32_RCC
bool
diff --git a/hw/misc/meson.build b/hw/misc/meson.build
index f4a4bc1c482a..a859e704a5f0 100644
--- a/hw/misc/meson.build
+++ b/hw/misc/meson.build
@@ -62,21 +62,19 @@ system_ss.add(when: 'CONFIG_AXP2XX_PMU', if_true: files('axp2xx.c'))
system_ss.add(when: 'CONFIG_REALVIEW', if_true: files('arm_sysctl.c'))
system_ss.add(when: 'CONFIG_ECCMEMCTL', if_true: files('eccmemctl.c'))
system_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_pmu.c', 'exynos4210_clk.c', 'exynos4210_rng.c'))
+system_ss.add(when: 'CONFIG_FSL_IMX25_CCM', if_true: files('imx25_ccm.c'))
+system_ss.add(when: 'CONFIG_FSL_IMX31_CCM', if_true: files('imx31_ccm.c'))
+system_ss.add(when: 'CONFIG_FSL_IMX6_CCM', if_true: files('imx6_ccm.c'))
system_ss.add(when: 'CONFIG_FSL_IMX6_SRC', if_true: files('imx6_src.c'))
+system_ss.add(when: 'CONFIG_FSL_IMX6UL_CCM', if_true: files('imx6ul_ccm.c'))
+system_ss.add(when: 'CONFIG_FSL_IMX7_CCM', if_true: files('imx7_ccm.c'))
system_ss.add(when: 'CONFIG_FSL_IMX7_GPR', if_true: files('imx7_gpr.c'))
system_ss.add(when: 'CONFIG_FSL_IMX7_SNVS', if_true: files('imx7_snvs.c'))
system_ss.add(when: 'CONFIG_FSL_IMX7_SRC', if_true: files('imx7_src.c'))
system_ss.add(when: 'CONFIG_FSL_IMX8MP_ANALOG', if_true: files('imx8mp_analog.c'))
system_ss.add(when: 'CONFIG_FSL_IMX8MP_CCM', if_true: files('imx8mp_ccm.c'))
+system_ss.add(when: 'CONFIG_IMX_CCM', if_true: files('imx_ccm.c'))
system_ss.add(when: 'CONFIG_IMX_RNG', if_true: files('imx_rngc.c'))
-system_ss.add(when: 'CONFIG_IMX', if_true: files(
- 'imx25_ccm.c',
- 'imx31_ccm.c',
- 'imx6_ccm.c',
- 'imx6ul_ccm.c',
- 'imx7_ccm.c',
- 'imx_ccm.c',
-))
system_ss.add(when: 'CONFIG_MAX78000_AES', if_true: files('max78000_aes.c'))
system_ss.add(when: 'CONFIG_MAX78000_GCR', if_true: files('max78000_gcr.c'))
system_ss.add(when: 'CONFIG_MAX78000_ICC', if_true: files('max78000_icc.c'))
diff --git a/hw/net/Kconfig b/hw/net/Kconfig
index b56a173eed5e..4a2cacbcd2a9 100644
--- a/hw/net/Kconfig
+++ b/hw/net/Kconfig
@@ -160,5 +160,5 @@ config CAN_CTUCANFD_PCI
config CAN_FLEXCAN
bool
- depends on IMX
+ depends on IMX_CCM
select CAN_BUS
--
2.55.0
next prev parent reply other threads:[~2026-10-27 19:29 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-27 19:22 [PULL 00/59] Misc HW patches for 2026-10-27 Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 01/59] scripts/checkpatch.pl: Don't complain about spaces before Fixes tags Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 02/59] hw/sd/sdcard: Keep high-capacity memory blocks at 512 bytes Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 03/59] hw/watchdog/wdt_imx2: Preserve own locked bits in WCR Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 04/59] hw/watchdog/wdt_imx2: Fix handling of write one once WCR bits Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 05/59] hw/watchdog/wdt_imx2: Clear WDT lock on reset Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 06/59] hw/watchdog/wdt_imx2: Remove redundant attributes Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 07/59] hw/arm/imx8mm-evk: Fix reference count of SoC object Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 08/59] docs, tests/functional: Drop redundant CLI arguments in imx8m*-evk invocations Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 09/59] hw/arm/sabrelite: Have 4 CPUs and 1 GiB of RAM by default Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 10/59] tests/functional/arm: Add console test for `sabrelite` machine Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 11/59] hw/arm/mcimx6ul-evk: Have 512 MiB of RAM by default Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 12/59] hw/arm/mcimx7d-sabre: Have 2 CPUs and 2 GiB " Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 13/59] tests/functional/arm: Add console test for `mcimx7d-sabre` machine Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 14/59] hw/arm/fsl-imx25: Derive from TYPE_SYS_BUS_DEVICE Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 15/59] hw/arm/fsl-imx31: " Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 16/59] hw/arm/fsl-imx6: " Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 17/59] hw/arm/fsl-imx6ul: " Philippe Mathieu-Daudé
2026-10-27 19:22 ` [PULL 18/59] hw/arm/fsl-imx7: " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 19/59] hw/timer/imx_gpt: Wire clock control module via link property Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 20/59] hw/timer/imx_epit: " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 21/59] hw/arm/Kconfig: Select missing UNIMP in config FSL_IMX8MM Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 22/59] hw/misc/Kconfig: Remove redundant USB_EHCI_SYSBUS from config IMX Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 23/59] Kconfig: Extract config IMX_AVIC " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 24/59] Kconfig: Extract config IMX_GPCV2 " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 25/59] Kconfig: Extract config IMX_RNG " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 26/59] Kconfig: Extract config FSL_IMX7_GPR " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 27/59] Kconfig: Extract config FSL_IMX{6, 7}_SRC " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 28/59] Kconfig: Extract config FSL_IMX7_SNVS " Philippe Mathieu-Daudé
2026-10-27 19:23 ` Philippe Mathieu-Daudé [this message]
2026-10-27 19:23 ` [PULL 30/59] Kconfig: Extract config IMX_GPT " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 31/59] Kconfig: Extract config IMX_EPIT " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 32/59] Kconfig: Extract config GPIO_IMX " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 33/59] Kconfig: Extract config IMX_SPI " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 34/59] Kconfig: Extract config IMX_SERIAL " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 35/59] Kconfig: Remove " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 36/59] hw/vmapple/Kconfig: Remove unused GPIO_PWR dependency Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 37/59] hw/arm/fsl-imx8m: Fix typo Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 38/59] hw/misc/imx6_src: Avoid casting from void * Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 39/59] hw/char/imx_serial: " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 40/59] hw/intc/imx_avic: " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 41/59] hw/misc/imx*_ccm: " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 42/59] hw/usb/imx-usb-phy: " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 43/59] hw/net/imx_fec: Trace with QOM path where easily possible Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 44/59] hw/net/lan9118_phy: Trace with QOM path Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 45/59] hw/watchdog/wdt_imx2: " Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 46/59] hw/arm: remove pci-bridge/pci_expander_bridge.h from virt.c Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 47/59] MAINTAINERS: Update Gustavo's email address Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 48/59] hw/char/sh_serial: fix RDF flag clear on FIFO reset Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 49/59] hw/char/sh_serial: use rx_cnt for available FIFO space Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 50/59] hw/char/sh_serial: fix break detection flag Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 51/59] system: Remove deprecated 'debug-threads' option for -name Philippe Mathieu-Daudé
2026-10-28 1:01 ` Richard Henderson
2026-10-28 7:32 ` Philippe Mathieu-Daudé
2026-10-28 8:13 ` Richard Henderson
2026-10-28 9:47 ` Daniel P. Berrangé
2026-10-28 11:54 ` Peter Xu
2026-10-28 12:04 ` Daniel P. Berrangé
2026-10-27 19:23 ` [PULL 52/59] hw/pci-host/aspeed_pcie: Fix global MSI setting during class initialization Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 53/59] hw/net/can/flexcan: Fix FLEXCAN_CRCR_MBCRC definition Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 54/59] hw/net/cadence_gem: Check guest-provided queue numbers in screening registers Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 55/59] hw/misc/allwinner-h3-dramc: Avoid shift by negative amount Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 56/59] hw/display/xlnx_dp: Make assertions clearer Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 57/59] qemu/arch-defs: extract QEMU_ARCH_BIT for QEMU_ARCH_* enums Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 58/59] qemu/arch-defs: Use SYS_EMU_TARGET__MAX to define QEMU_ARCH_ALL Philippe Mathieu-Daudé
2026-10-27 19:23 ` [PULL 59/59] qemu/arch-defs: increase width of QEMU_ARCH_* masks enums to be 64 bits Philippe Mathieu-Daudé
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=20261027192341.9197-30-philmd@oss.qualcomm.com \
--to=philmd@oss.qualcomm.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.