Changes in v4: - split the SCMI pin controller driver and SCMI agent code - update i.MX95 SoC and clock related code, board basic support code and so on according to comments - move the function that loads ATF and tee.bin to spl_imx_container.c - add document for i.MX95 image container format
Signed-off-by: Alice Guo <alice....@nxp.com> --- Alice Guo (8): pinctrl: nxp: add a pin controller driver based on SCMI pin control protocol firmware: scmi: add pin control protocol support to SCMI agent 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 Peng Fan (6): mailbox: add i.MX95 Messaging Unit (MU) driver 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 scmi: add the macro SCMI_MSG 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 MAINTAINERS | 1 + arch/arm/dts/imx95-19x19-evk-u-boot.dtsi | 68 +++ 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 | 14 + 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 | 135 +++++ 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 | 827 ++++++++++++++++++++++++++ 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 | 90 +++ board/freescale/imx95_evk/imx95_evk.c | 54 ++ board/freescale/imx95_evk/spl.c | 72 +++ common/spl/Kconfig | 6 + common/spl/spl_imx_container.c | 41 +- configs/imx95_19x19_evk_defconfig | 177 ++++++ 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/sandbox-scmi_agent.c | 56 +- drivers/firmware/scmi/scmi_agent-uclass.c | 11 + drivers/firmware/scmi/smt.c | 3 + drivers/firmware/scmi/smt.h | 10 + drivers/mailbox/Kconfig | 7 + drivers/mailbox/Makefile | 1 + drivers/mailbox/imx-mailbox.c | 417 +++++++++++++ drivers/pinctrl/nxp/Kconfig | 13 + drivers/pinctrl/nxp/Makefile | 1 + drivers/pinctrl/nxp/pinctrl-imx.c | 7 +- drivers/pinctrl/nxp/pinctrl-imx.h | 11 + drivers/pinctrl/nxp/pinctrl-scmi.c | 136 +++++ include/configs/imx95_evk.h | 27 + include/imx8image.h | 19 +- include/scmi_agent-uclass.h | 2 + include/scmi_agent.h | 11 + include/scmi_protocols.h | 105 +++- tools/binman/entries.rst | 10 + tools/binman/etype/nxp_header_ddrfw.py | 32 + tools/binman/ftest.py | 11 + tools/binman/test/346_nxp_ddrfw_imx95.dts | 24 + tools/imx8image.c | 143 ++++- tools/imx9_image.sh | 8 + 56 files changed, 3390 insertions(+), 65 deletions(-) --- base-commit: d6da3dbaef57fc1d319b6b552efa009e2489d7d9 change-id: 20250114-imx95-ac8bbccd71e5 Best regards, -- Alice Guo <alice....@oss.nxp.com>