imx-oei: add ccimx95 support

Add the ccimx95 platform cloned from mx95lp5. Provide DDR configuration,
configure the console on lpuart6, and update ccimx95-dvk.conf to select
the new board.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit is contained in:
Javier Viguera 2025-09-26 15:14:57 +02:00
parent 9140eabbd9
commit 4cdc7020b6
5 changed files with 54553 additions and 1 deletions

View File

@ -18,6 +18,7 @@ UBOOT_INSTALL_USB_INDEX = "0"
UBOOT_INSTALL_SD_INDEX = "1"
# imx-boot configurations
IMX_SOC_REV:${MACHINE} = "A0"
ATF_PLATFORM = "imx95"
IMX_BOOT_SOC_TARGET = "iMX95"
IMXBOOT_TARGETS = "flash_all flash_a55"
@ -28,7 +29,7 @@ SYSTEM_MANAGER_FIRMWARE_NAME ?= "${SYSTEM_MANAGER_FIRMWARE_BASENAME}-${SYSTE
OEI_CONFIGS = "ddr tcm"
OEI_CORE = "m33"
OEI_SOC = "mx95"
OEI_BOARD ?= "mx95lp5"
OEI_BOARD ?= "ccimx95"
DDR_TYPE ?= "lpddr5"
DDR_FIRMWARE_NAME = " \

View File

@ -0,0 +1,56 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Mon, 15 Sep 2025 11:38:55 +0200
Subject: [PATCH] ccimx95: configure console on LPUART6
Upstream-Status: Inappropriate [DEY specific]
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
---
boards/ccimx95/config_board.h | 2 +-
boards/ccimx95/pin_mux.c | 7 +++++++
devices/MIMX95/oei/soc_clock.c | 2 ++
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/boards/ccimx95/config_board.h b/boards/ccimx95/config_board.h
index 3095ebf1d8ce..ec97626a2a28 100644
--- a/boards/ccimx95/config_board.h
+++ b/boards/ccimx95/config_board.h
@@ -52,7 +52,7 @@
/* Defines */
/*! Config for UART instance */
-#define BOARD_DEBUG_UART_INSTANCE 2U
+#define BOARD_DEBUG_UART_INSTANCE 6U
/*! Config for UART baudrate */
#define BOARD_DEBUG_UART_BAUDRATE 115200U
diff --git a/boards/ccimx95/pin_mux.c b/boards/ccimx95/pin_mux.c
index a8c15513b578..3cb33909f740 100644
--- a/boards/ccimx95/pin_mux.c
+++ b/boards/ccimx95/pin_mux.c
@@ -29,5 +29,12 @@ void BOARD_InitPins(void)
IOMUXC_SetPinMux(IOMUXC_PAD_UART2_TXD__LPUART2_TX, 0);
IOMUXC_SetPinConfig(IOMUXC_PAD_UART2_TXD__LPUART2_TX, IOMUXC_PAD_DSE(0xFU));
+#elif (BOARD_DEBUG_UART_INSTANCE == 6U)
+ /* Configure LPUART 6 */
+ IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO05__LPUART6_RX, 0);
+ IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO05__LPUART6_RX, IOMUXC_PAD_PD(1U));
+
+ IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO04__LPUART6_TX, 0);
+ IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO04__LPUART6_TX, IOMUXC_PAD_DSE(0xFU));
#endif
}
diff --git a/devices/MIMX95/oei/soc_clock.c b/devices/MIMX95/oei/soc_clock.c
index 3421e3efe143..9205b9a12782 100644
--- a/devices/MIMX95/oei/soc_clock.c
+++ b/devices/MIMX95/oei/soc_clock.c
@@ -25,6 +25,8 @@ static struct clk_root_cfg clk_root_cfgs[] = {
{ CLOCK_ROOT_LPUART1, CLOCK_SRC_OSC24M, 1}, /* 24MHz */
#elif (BOARD_DEBUG_UART_INSTANCE == 2)
{ CLOCK_ROOT_LPUART2, CLOCK_SRC_OSC24M, 1}, /* 24MHz */
+#elif (BOARD_DEBUG_UART_INSTANCE == 6)
+ { CLOCK_ROOT_LPUART6, CLOCK_SRC_OSC24M, 1}, /* 24MHz */
#endif
#endif
};

View File

@ -0,0 +1,9 @@
# Copyright (C) 2025, Digi International Inc.
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
SRC_URI:append:dey = " \
file://0001-boards-ccimx95-add-platform-as-a-clone-of-mx95lp5.patch \
file://0002-ddr-add-DDR-configuration-file-for-ccimx95.patch \
file://0003-ccimx95-configure-console-on-LPUART6.patch \
"