summaryrefslogtreecommitdiffstats
path: root/Documentation/boards
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2021-08-03 18:59:37 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2021-08-09 20:17:47 +0200
commitbdde03ece9ba29e381aa2f9dcd1bf7b6e62ebb37 (patch)
tree8db8aa6f2d723362834c49cad79b79965703c5b5 /Documentation/boards
parent47caa7d3676dac07d9807834827127db179cff7d (diff)
downloadbarebox-bdde03ece9ba29e381aa2f9dcd1bf7b6e62ebb37.tar.gz
barebox-bdde03ece9ba29e381aa2f9dcd1bf7b6e62ebb37.tar.xz
ARM: i.MX8MM: add reboot to serial download mode
The i.MX8MM reference manual follows long established tradition in not documenting BootROM magic reboot codes. For older i.MX variants, the values can be seen in the bmode tables of Freescale's U-Boot patches. There are no such patches for the i.MX8M, but testing shows that mw 0x30390094 0x10 ; mw 0x30390098 0x40000000 is one of the configurations that trigger serial download on next warm reset on an i.MX8MM. Describe this in the device tree, so gpr.reboot_mode.next=serial reset -r imxwd-warm does the right thing for that SoC. This all might work for other i.MX8M variants as well, but the dtsi can be genericized later on when tested. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210803165937.31608-2-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'Documentation/boards')
-rw-r--r--Documentation/boards/imx.rst29
1 files changed, 29 insertions, 0 deletions
diff --git a/Documentation/boards/imx.rst b/Documentation/boards/imx.rst
index 887b45c708..4ce9d9808c 100644
--- a/Documentation/boards/imx.rst
+++ b/Documentation/boards/imx.rst
@@ -83,6 +83,35 @@ The images can also always be started as second stage on the target:
barebox@Board Name:/ bootm /mnt/tftp/barebox-freescale-imx51-babbage.img
+BootROM Reboot mode codes (bmode)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+For select SoCs, barebox supports communicating an alternative boot medium
+that BootROM should select after a warm reset::
+
+ barebox@FSL i.MX8MM EVK board:/ devinfo gpr.reboot_mode
+ Driver: syscon-reboot-mode
+ Bus: platform
+ Parent: 30390000.reset-controller@30390000.of
+ Parameters:
+ next: normal (type: enum) (values: "normal", "serial")
+ prev: normal (type: enum) (values: "normal", "serial")
+ Device node: /soc@0/bus@30000000/reset-controller@30390000/reboot-mode
+ reboot-mode {
+ compatible = "barebox,syscon-reboot-mode";
+ offset = <0x94 0x98>;
+ mask = <0xffffffff 0x40000000>;
+ mode-normal = <0x0 0x0>;
+ mode-serial = <0x10 0x40000000>;
+ };
+
+ barebox@FSL i.MX8MM EVK board:/ gpr.reboot_mode.next=serial reset -r imxwd-warm
+
+This will cause barebox to fall into serial download mode on an i.MX8MM.
+
+Different SoCs may have more possible reboot modes available.
+See the section on :ref:`Reboot modes<reboot_mode>` for more information.
+
High Assurance Boot
^^^^^^^^^^^^^^^^^^^