aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2023-02-28 19:19:23 +0100
committerTom Rini <trini@konsulko.com>2023-03-29 11:58:26 -0400
commit352ed65df7be1c28a94d895f83429f16b858efe0 (patch)
tree59c6c5a4af2cc50e64a62adb30fa6fbddd07b9ec /doc
parented57c4078303b62bfce2c5d055a0561239ab899f (diff)
downloadu-boot-352ed65df7be1c28a94d895f83429f16b858efe0.zip
u-boot-352ed65df7be1c28a94d895f83429f16b858efe0.tar.gz
u-boot-352ed65df7be1c28a94d895f83429f16b858efe0.tar.bz2
iot2050: Add support for configuring M.2 connector
The M.2 slots of the related IOT2050 variant need to be configured according to the plugged cards. This tries to detect the card using the M.2 configuration pins of the B-key slot. If that fails, a U-Boot environment variable can be set to configure manually. This variable is write-permitted also in secure boot mode as it is not able to undermine the integrity of the booted system. The configuration is then applied to mux the serdes and to fix up the device tree passed to or loaded by the bootloader. The fix-ups are coming from device tree overlays that are embedded into the firmware image and there also integrity protected. The OS remains free to load a device tree to which they do not apply: U-Boot will not fail to boot in that case. Based on original patch by Chao Zeng. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/board/siemens/iot2050.rst18
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/board/siemens/iot2050.rst b/doc/board/siemens/iot2050.rst
index 442d2ca..074d6aa 100644
--- a/doc/board/siemens/iot2050.rst
+++ b/doc/board/siemens/iot2050.rst
@@ -145,3 +145,21 @@ Flash signed flash.bin
The signing has happen in-place in flash.bin, thus the flashing procedure
described above.
+
+M.2 slot configuration
+----------------------
+
+The M.2 variant of the IOT2050 comes with one B-keyed and one E-keyed slot.
+These are configured by U-Boot depending on the detected usage (auto
+configuration). The device tree loaded later on for the OS will be fixed up
+by U-Boot according to this configuration.
+
+For the case auto configuration does not work reliably, it is possible to set
+the U-Boot environment variable "m2_manual_config" to select the mode manually:
+
+"0" - B-key: PCIe x2, USB 2.0
+ E-key: USB 2.0
+"1" - B-key: PCIe, USB 2.0
+ E-key: PCIe, USB 2.0
+"2" - B-key: USB 3.0,
+ E-key: PCIe, USB 2.0