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>
63 lines
2.4 KiB
Diff
63 lines
2.4 KiB
Diff
From 39e4189d9d63a0b6fc15458ce0136e99ecdfb1b8 Mon Sep 17 00:00:00 2001
|
|
From: Frieder Schrempf <frieder.schrempf@kontron.de>
|
|
Date: Wed, 18 Dec 2024 16:27:32 +0100
|
|
Subject: arm64: dts: imx8mp-kontron: Add support for reading SD_VSEL signal
|
|
|
|
This fixes the LDO5 regulator handling of the pca9450 driver by
|
|
taking the status of the SD_VSEL into account to determine which
|
|
configuration register is used for the voltage setting.
|
|
|
|
Even without this change there is no functional issue, as the code
|
|
for switching the voltage in sdhci.c currently switches both, the
|
|
VSELECT/SD_VSEL signal and the regulator voltage at the same time
|
|
and doesn't run into an invalid corner case.
|
|
|
|
We should still make sure, that we always use the correct register
|
|
when controlling the regulator. At least in U-Boot this fixes an
|
|
actual bug where the wrong IO voltage is used and it makes sure
|
|
that the correct voltage can be read from sysfs.
|
|
|
|
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
|
|
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
|
---
|
|
arch/arm64/boot/dts/freescale/imx8mp-kontron-osm-s.dtsi | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
--- a/arch/arm64/boot/dts/freescale/imx8mp-kontron-osm-s.dtsi
|
|
+++ b/arch/arm64/boot/dts/freescale/imx8mp-kontron-osm-s.dtsi
|
|
@@ -311,6 +311,7 @@
|
|
regulator-name = "NVCC_SD (LDO5)";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
+ sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
};
|
|
@@ -808,7 +809,7 @@
|
|
MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 /* SDIO_A_D1 */
|
|
MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 /* SDIO_A_D2 */
|
|
MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 /* SDIO_A_D3 */
|
|
- MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x1d0
|
|
+ MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x400001d0
|
|
>;
|
|
};
|
|
|
|
@@ -820,7 +821,7 @@
|
|
MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 /* SDIO_A_D1 */
|
|
MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 /* SDIO_A_D2 */
|
|
MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 /* SDIO_A_D3 */
|
|
- MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x1d0
|
|
+ MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x400001d0
|
|
>;
|
|
};
|
|
|
|
@@ -832,7 +833,7 @@
|
|
MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 /* SDIO_A_D1 */
|
|
MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 /* SDIO_A_D2 */
|
|
MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 /* SDIO_A_D3 */
|
|
- MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x1d0
|
|
+ MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x400001d0
|
|
>;
|
|
};
|
|
|