This adds support for the Kontron i.MX8MP OSM-S size system-on-module +
eval board.
CPU: NXP i.MX8MP @ 1600MHz (quad-core A53)
Memory: 4 (up to 8) GByte LPDDR4-RAM
Storage: 32 (up to 128) GByte eMMC + microSD slot
Ethernet: 2x 1 Gbit/s IEEE (1x with TSN)
UART: 1x UART console output on the Mini-B USB Debug Port
(signals are really UART on this Mini-B USB port!!!, there is
an adapter with ftdi available from Kontron)
1x RS232, 1x RS485
USB: 2x USB 2.0 Type-A, 1x USB 3.0 Type-C DRP
Misc: 8 (up to 128) kByte EEPROM (at24), RTC, 2x CAN, HDMI, 1x PCIe
This will create an SD card image for the board.
To use this image you have to bring the board to the recovery boot mode
(normal boot mode is eMMC). At the time of writing, the SoM (or the SoC)
has a bug that the FORCE_RECOVERY signal (switch S1 on the eval board)
doesn't work as long as the eMMC boot0 partition contains data.
Therefore you have to wipe this boot0 partition to be able to boot from
SD card. To do this call the following commands at uboot:
mmc dev 0 1
mmc erase 0 0x2000
After that, the system will try to boot from SD card.
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
90 lines
2.6 KiB
Diff
90 lines
2.6 KiB
Diff
From f1b27d420b6ff0feed64208e28b033d7b931ceb1 Mon Sep 17 00:00:00 2001
|
|
From: Annette Kobou <annette.kobou@kontron.de>
|
|
Date: Mon, 21 Jul 2025 12:05:41 +0200
|
|
Subject: arm64: dts: imx8mp-kontron: Fix CAN_ADDR0 and CAN_ADDR1 GPIOs
|
|
|
|
Some signal assignments were modified between hardware revisions
|
|
1 and 2:
|
|
|
|
Revision 1:
|
|
|
|
- SPI_A_WP -> CAN_ADDR0
|
|
- SPI_A_HOLD -> CAN_ADDR1
|
|
|
|
Revision 2 and later:
|
|
|
|
- SPI_A_SDI -> CAN_ADDR0
|
|
- SPI_A_SDO -> CAN_ADDR1
|
|
|
|
Fix the labels and add the missing pinctrls.
|
|
|
|
Signed-off-by: Annette Kobou <annette.kobou@kontron.de>
|
|
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
|
|
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
|
---
|
|
.../boot/dts/freescale/imx8mp-kontron-bl-osm-s.dts | 31 +++++++++++++++++++---
|
|
1 file changed, 27 insertions(+), 4 deletions(-)
|
|
|
|
--- a/arch/arm64/boot/dts/freescale/imx8mp-kontron-bl-osm-s.dts
|
|
+++ b/arch/arm64/boot/dts/freescale/imx8mp-kontron-bl-osm-s.dts
|
|
@@ -123,14 +123,12 @@
|
|
|
|
/*
|
|
* Rename SoM signals according to board usage:
|
|
- * SPI_A_WP -> CAN_ADDR0
|
|
- * SPI_A_HOLD -> CAN_ADDR1
|
|
* GPIO_B_0 -> DIO1_OUT
|
|
* GPIO_B_1 -> DIO2_OUT
|
|
*/
|
|
&gpio3 {
|
|
gpio-line-names = "PCIE_WAKE", "PCIE_CLKREQ", "PCIE_A_PERST", "SDIO_B_D5",
|
|
- "SDIO_B_D6", "SDIO_B_D7", "CAN_ADDR0", "CAN_ADDR1",
|
|
+ "SDIO_B_D6", "SDIO_B_D7", "SPI_A_WP", "SPI_A_HOLD",
|
|
"UART_B_RTS", "UART_B_CTS", "SDIO_B_D0", "SDIO_B_D1",
|
|
"SDIO_B_D2", "SDIO_B_D3", "SDIO_B_WP", "SDIO_B_D4",
|
|
"PCIE_SM_ALERT", "SDIO_B_CLK", "SDIO_B_CMD", "DIO1_OUT",
|
|
@@ -159,6 +157,24 @@
|
|
"GPIO_A_7", "CARRIER_PWR_EN", "I2S_A_DATA_IN", "I2S_LRCLK";
|
|
};
|
|
|
|
+/*
|
|
+ * Rename SoM signals according to board usage:
|
|
+ * SPI_A_SDI -> CAN_ADDR0
|
|
+ * SPI_A_SDO -> CAN_ADDR1
|
|
+ */
|
|
+&gpio5 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&pinctrl_gpio5>;
|
|
+ gpio-line-names = "I2S_BITCLK", "I2S_A_DATA_OUT", "I2S_MCLK", "PWM_2",
|
|
+ "PWM_1", "PWM_0", "SPI_A_SCK", "CAN_ADDR1",
|
|
+ "CAN_ADDR0", "SPI_A_CS0", "SPI_B_SCK", "SPI_B_SDO",
|
|
+ "SPI_B_SDI", "SPI_B_CS0", "I2C_A_SCL", "I2C_A_SDA",
|
|
+ "I2C_B_SCL", "I2C_B_SDA", "PCIE_SMCLK", "PCIE_SMDAT",
|
|
+ "I2C_CAM_SCL", "I2C_CAM_SDA", "UART_A_RX", "UART_A_TX",
|
|
+ "UART_C_RX", "UART_C_TX", "UART_CON_RX", "UART_CON_TX",
|
|
+ "UART_B_RX", "UART_B_TX";
|
|
+};
|
|
+
|
|
&hdmi_pvi {
|
|
status = "okay";
|
|
};
|
|
@@ -297,9 +313,16 @@
|
|
>;
|
|
};
|
|
|
|
+ pinctrl_gpio5: gpio5grp {
|
|
+ fsl,pins = <
|
|
+ MX8MP_IOMUXC_ECSPI1_MOSI__GPIO5_IO07 0x46 /* CAN_ADR0 */
|
|
+ MX8MP_IOMUXC_ECSPI1_MISO__GPIO5_IO08 0x46 /* CAN_ADR1 */
|
|
+ >;
|
|
+ };
|
|
+
|
|
pinctrl_usb_hub: usbhubgrp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x46
|
|
>;
|
|
};
|
|
-};
|
|
+};
|
|
\ No newline at end of file
|