This series adds support for the NXP i.MX93 SoC along with board support for the TQ TQMa93xxCA board. Currently supported are: - Pinctrl - GPIO - clock - watchdog - UART - I2C - SPI - FEC ethernet DDR support is not part of this series, I'll send it shortly in a separate series. Sascha Sascha Hauer (25): ARM: initial i.MX9 support ARM: i.MX: Add i.MX93 s4mu support ARM: i.MX: Add i.MX93 trdc support scripts: Add imx9image tool scripts: imx9image: Add PBL size option clk: Add i.MX93 clock support clk: imx: clk-fracn-gppll: make usable from PBL gpio-vf610: Add i.MX93 support iomux: Add i.MX93 support watchdog: Add ULP wdog support I2c: Add i2c_8bit_addr_from_msg() i2c: Add lpi2c support ARM: Add imx93.dtsi for USB serial: Add lpuart32 driver ARM: i.MX: add i.MX9 debug_ll support ARM: Add TQ MBA9XXXCA board support ARM: i.MX93: Add DDR size read support ARM: i.MX: romapi: rename functions to *romapi* ARM: i.MX: romapi: Implement i.MX93 support ARM: i.MX: atf: add imx93_load_and_start_image_via_tfa() imx-usb-loader: Add i.MX9 support spi: spi-nxp-fspi: Enable for i.MX9 usb: i.MX chipidea: Enable usbmisc driver for i.MX9 ARM: Update imx_v8_defconfig ARM: multi_v8_defconfig: enable i.MX9 boards arch/arm/boards/Makefile | 1 + arch/arm/boards/tqmba9xxxca/Makefile | 2 + arch/arm/boards/tqmba9xxxca/board.c | 58 + arch/arm/boards/tqmba9xxxca/lowlevel.c | 43 + .../tqmba9xxxca/lpddr4x_tqma93xxca_timing.c | 1480 +++++++++++ arch/arm/configs/imx_v8_defconfig | 9 +- arch/arm/configs/multi_v8_defconfig | 7 + arch/arm/dts/Makefile | 1 + arch/arm/dts/imx93-tqma9352-mba93xxca.dts | 826 +++++++ arch/arm/dts/imx93.dtsi | 62 + arch/arm/mach-imx/Kconfig | 26 + arch/arm/mach-imx/Makefile | 6 +- arch/arm/mach-imx/atf.c | 38 +- arch/arm/mach-imx/cpu_init.c | 42 + arch/arm/mach-imx/esdctl.c | 42 + arch/arm/mach-imx/imx-bbu-internal.c | 5 + arch/arm/mach-imx/imx93-s4mu.c | 97 + arch/arm/mach-imx/imx93-trdc.c | 364 +++ arch/arm/mach-imx/romapi.c | 166 +- common/Kconfig | 5 + drivers/clk/imx/Makefile | 1 + drivers/clk/imx/clk-composite-93.c | 216 ++ drivers/clk/imx/clk-fracn-gppll.c | 297 +++ drivers/clk/imx/clk-gate-93.c | 186 ++ drivers/clk/imx/clk-imx93.c | 331 +++ drivers/clk/imx/clk.h | 16 + drivers/gpio/Kconfig | 3 +- drivers/gpio/gpio-vf610.c | 78 +- drivers/i2c/busses/Kconfig | 7 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-imx-lpi2c.c | 518 ++++ drivers/pinctrl/imx-iomux-v3.c | 2 + drivers/serial/Kconfig | 4 + drivers/serial/Makefile | 1 + drivers/serial/serial_lpuart32.c | 185 ++ drivers/spi/Kconfig | 2 +- drivers/usb/imx/imx-usb-misc.c | 2 +- drivers/watchdog/Kconfig | 6 + drivers/watchdog/Makefile | 1 + drivers/watchdog/imxulp-wdt.c | 161 ++ firmware/Kconfig | 3 + firmware/Makefile | 1 + images/Makefile.imx | 11 + include/i2c/i2c.h | 4 + include/mach/imx/atf.h | 2 + include/mach/imx/bbu.h | 9 + include/mach/imx/debug_ll.h | 13 + include/mach/imx/generic.h | 1 + include/mach/imx/imx9-regs.h | 24 + include/mach/imx/romapi.h | 5 +- include/mach/imx/xload.h | 1 + include/serial/lpuart32.h | 168 ++ include/soc/imx/clk-fracn-gppll.h | 144 ++ include/soc/imx9/flash_header.h | 88 + include/soc/imx9/mu_hal.h | 12 + include/soc/imx9/s400_api.h | 124 + include/soc/imx9/trdc.h | 11 + scripts/Kconfig | 7 + scripts/Makefile | 1 + scripts/imx/imx-usb-loader.c | 29 + scripts/imx9image.c | 2179 +++++++++++++++++ 61 files changed, 8110 insertions(+), 25 deletions(-) create mode 100644 arch/arm/boards/tqmba9xxxca/Makefile create mode 100644 arch/arm/boards/tqmba9xxxca/board.c create mode 100644 arch/arm/boards/tqmba9xxxca/lowlevel.c create mode 100644 arch/arm/boards/tqmba9xxxca/lpddr4x_tqma93xxca_timing.c create mode 100644 arch/arm/dts/imx93-tqma9352-mba93xxca.dts create mode 100644 arch/arm/dts/imx93.dtsi create mode 100644 arch/arm/mach-imx/imx93-s4mu.c create mode 100644 arch/arm/mach-imx/imx93-trdc.c create mode 100644 drivers/clk/imx/clk-composite-93.c create mode 100644 drivers/clk/imx/clk-fracn-gppll.c create mode 100644 drivers/clk/imx/clk-gate-93.c create mode 100644 drivers/clk/imx/clk-imx93.c create mode 100644 drivers/i2c/busses/i2c-imx-lpi2c.c create mode 100644 drivers/serial/serial_lpuart32.c create mode 100644 drivers/watchdog/imxulp-wdt.c create mode 100644 include/mach/imx/imx9-regs.h create mode 100644 include/serial/lpuart32.h create mode 100644 include/soc/imx/clk-fracn-gppll.h create mode 100644 include/soc/imx9/flash_header.h create mode 100644 include/soc/imx9/mu_hal.h create mode 100644 include/soc/imx9/s400_api.h create mode 100644 include/soc/imx9/trdc.h create mode 100644 scripts/imx9image.c -- 2.39.2