[PATCH v9 00/20] imx: add i.MX95 support

Alice Guo (OSS) alice.guo at oss.nxp.com
Fri Apr 11 10:06:43 CEST 2025


From: Alice Guo <alice.guo at 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.guo@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-marex@denx.de/
 https://patchwork.ozlabs.org/project/uboot/patch/20250409075352.535194-1-alice.guo@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.guo at 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



More information about the U-Boot mailing list