[PATCH v7 00/19] imx: add i.MX95 support

Alice Guo (OSS)
2025-03-05T13:28:53Z

Changes for v7:
- separate i.MX Messaging Unit driver patch from this patch set
- add U_BOOT_SCMI_PROTO_DRIVER() to avoid putting i.MX related code in scmi_agent-uclass.c.
- update drivers/clk/clk_scmi.c according to comment
- dynamically allocate the size of struct scmi_base_discover_list_protocols_out

Signed-off-by: Alice Guo <alice.guo@nxp.com>
---
Alice Guo (9):
pinctrl: nxp: add a pin controller driver based on SCMI pin control protocol
firmware: scmi_agent: add SCMI pin control protocol support
clk: scmi: check the clock state/parent/rate control permissions
sandbox: add SCMI clock control permissions to sandbox
imx: Kconfig: IMX8_ROMAPI is not configured for i.MX95
binman: add a new entry type for packing DDR PHY firmware images
tools: imx8image: add i.MX95 support
doc: imx: add document for i.MX95 Image Container Format
Makefile: add some files to CLEAN_FILES

Peng Fan (4):
scmi_protocols: add SCMI misc protocol protocol_id and message_id for getting the ROM passover data
scmi_protocols: add SCMI Performance domain management protocol message IDs
clk: scmi: add the command CLOCK_PARENT_SET
imx9: scmi: add i.MX95 SoC and clock related code

Teo Hall (1):
imx: add V2X container support on i.MX95

Viorel Suman (1):
firmware: scmi: smt: Interrupt communication enable

Ye Li (4):
scmi_protocols: update struct scmi_base_discover_list_protocols_out
spl: imx: use trampoline buffer to load images to secure region
imx9: add i.MX95 Kconfig and Makefile
imx95_evk: add i.MX95 19x19 EVK board basic support

Makefile | 3 +-
arch/arm/dts/imx95-19x19-evk-u-boot.dtsi | 62 ++
arch/arm/dts/imx95-u-boot.dtsi | 157 +++++
arch/arm/include/asm/arch-imx/cpu.h | 2 +
arch/arm/include/asm/arch-imx9/clock.h | 10 +
arch/arm/include/asm/arch-imx9/imx-regs.h | 5 +
arch/arm/include/asm/arch-imx9/sys_proto.h | 1 +
arch/arm/include/asm/mach-imx/sys_proto.h | 39 ++
arch/arm/mach-imx/Kconfig | 2 +-
arch/arm/mach-imx/image-container.c | 63 +-
arch/arm/mach-imx/imx9/Kconfig | 16 +
arch/arm/mach-imx/imx9/Makefile | 9 +-
arch/arm/mach-imx/imx9/scmi/Makefile | 6 +
arch/arm/mach-imx/imx9/scmi/clock.c | 105 ++++
arch/arm/mach-imx/imx9/scmi/clock_scmi.c | 133 +++++
arch/arm/mach-imx/imx9/scmi/container.cfg | 10 +
arch/arm/mach-imx/imx9/scmi/imximage.cfg | 15 +
arch/arm/mach-imx/imx9/scmi/soc.c | 806 ++++++++++++++++++++++++++
arch/sandbox/include/asm/scmi_test.h | 4 +-
board/freescale/imx95_evk/Kconfig | 12 +
board/freescale/imx95_evk/MAINTAINERS | 6 +
board/freescale/imx95_evk/Makefile | 11 +
board/freescale/imx95_evk/imx95_19x19_evk.env | 91 +++
board/freescale/imx95_evk/imx95_evk.c | 36 ++
board/freescale/imx95_evk/spl.c | 72 +++
common/spl/Kconfig | 6 +
common/spl/spl_imx_container.c | 41 +-
configs/imx95_19x19_evk_defconfig | 152 +++++
doc/board/nxp/imx95_evk.rst | 114 ++++
doc/board/nxp/index.rst | 1 +
doc/imx/imx95_container.txt | 136 +++++
drivers/clk/clk_scmi.c | 191 +++++-
drivers/firmware/scmi/Kconfig | 6 +
drivers/firmware/scmi/base.c | 24 +-
drivers/firmware/scmi/sandbox-scmi_agent.c | 56 +-
drivers/firmware/scmi/scmi_agent-uclass.c | 25 +
drivers/firmware/scmi/smt.c | 13 +
drivers/pinctrl/nxp/Kconfig | 13 +
drivers/pinctrl/nxp/Makefile | 1 +
drivers/pinctrl/nxp/pinctrl-imx-scmi.c | 159 +++++
include/configs/imx95_evk.h | 24 +
include/imx8image.h | 19 +-
include/scmi_agent-uclass.h | 17 +
include/scmi_protocols.h | 104 +++-
tools/binman/entries.rst | 10 +
tools/binman/etype/nxp_header_ddrfw.py | 29 +
tools/binman/ftest.py | 11 +
tools/binman/test/346_nxp_ddrfw_imx95.dts | 24 +
tools/imx8image.c | 143 ++++-
tools/imx9_image.sh | 8 +
50 files changed, 2930 insertions(+), 73 deletions(-)
---
base-commit: 986ab810fa2cb095f5617349baa5c88d83cffc46
change-id: 20250305-imx95-085eabfda6bc

Best regards,
--
Alice Guo <alice.guo@oss.nxp.com>