From: Alice Guo <alice....@nxp.com> Changes for v9: - remove the "firmware: scmi: smt: Interrupt communication enable" patch from this patch-set and sent it separately https://patchwork.ozlabs.org/project/uboot/patch/20250401075635.3802640-1-alice....@oss.nxp.com/ - use scmi_proto_driver_get() function to get SCMI protocol driver, which dependents on two patches which have not been applied https://patchwork.ozlabs.org/project/uboot/patch/20250322014444.174796-1-ma...@denx.de/ https://patchwork.ozlabs.org/project/uboot/patch/20250409075352.535194-1-alice....@oss.nxp.com/ - query SCMI clock management protocol version in .probe() once and cache the value in private data - explain u32 protocols[] in struct scmi_base_discover_list_protocols_out in commit log - make debug prints in read_auth_image() a bit more informative - keep the list of "config IMX8_ROMAPI" sorted - correct spelling errors in imx95_container.txt
Signed-off-by: Alice Guo <alice....@nxp.com> Alice Guo (11): firmware: scmi: use scmi_proto_driver_get() function to get SCMI protocol driver 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 cpu: imx95: add i.MX95 support 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 Ye Li (5): 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 imx: container: add V2X container support for i.MX95 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 | 188 +++++ 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 | 6 + 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 | 119 ++- arch/arm/mach-imx/imx9/Kconfig | 15 + arch/arm/mach-imx/imx9/Makefile | 9 +- arch/arm/mach-imx/imx9/scmi/Makefile | 6 + arch/arm/mach-imx/imx9/scmi/clock.c | 70 ++ 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 | 749 ++++++++++++++++++ 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 | 69 ++ 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 | 204 ++++- drivers/cpu/imx8_cpu.c | 2 + drivers/firmware/scmi/base.c | 24 +- drivers/firmware/scmi/sandbox-scmi_agent.c | 56 +- drivers/firmware/scmi/scmi_agent-uclass.c | 34 +- drivers/pinctrl/nxp/Kconfig | 13 + drivers/pinctrl/nxp/Makefile | 1 + drivers/pinctrl/nxp/pinctrl-imx-scmi.c | 162 ++++ drivers/power/domain/scmi-power-domain.c | 8 + drivers/power/regulator/scmi_regulator.c | 8 + drivers/reset/reset-scmi.c | 8 + include/configs/imx95_evk.h | 24 + include/imx8image.h | 19 +- include/scmi_agent-uclass.h | 2 + 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 | 147 +++- tools/imx9_image.sh | 8 + 52 files changed, 2916 insertions(+), 100 deletions(-) create mode 100644 arch/arm/dts/imx95-19x19-evk-u-boot.dtsi create mode 100644 arch/arm/dts/imx95-u-boot.dtsi create mode 100644 arch/arm/mach-imx/imx9/scmi/Makefile create mode 100644 arch/arm/mach-imx/imx9/scmi/clock.c create mode 100644 arch/arm/mach-imx/imx9/scmi/clock_scmi.c create mode 100644 arch/arm/mach-imx/imx9/scmi/container.cfg create mode 100644 arch/arm/mach-imx/imx9/scmi/imximage.cfg create mode 100644 arch/arm/mach-imx/imx9/scmi/soc.c create mode 100644 board/freescale/imx95_evk/Kconfig create mode 100644 board/freescale/imx95_evk/MAINTAINERS create mode 100644 board/freescale/imx95_evk/Makefile create mode 100644 board/freescale/imx95_evk/imx95_19x19_evk.env create mode 100644 board/freescale/imx95_evk/imx95_evk.c create mode 100644 board/freescale/imx95_evk/spl.c create mode 100644 configs/imx95_19x19_evk_defconfig create mode 100644 doc/board/nxp/imx95_evk.rst create mode 100644 doc/imx/imx95_container.txt create mode 100644 drivers/pinctrl/nxp/pinctrl-imx-scmi.c create mode 100644 include/configs/imx95_evk.h create mode 100644 tools/binman/etype/nxp_header_ddrfw.py create mode 100644 tools/binman/test/346_nxp_ddrfw_imx95.dts -- 2.43.0