diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/boards/imx.rst | 19 | ||||
-rw-r--r-- | Documentation/boards/imx/nxp-imx8mm-evk.rst | 11 | ||||
-rw-r--r-- | Documentation/boards/imx/nxp-imx8mn-evk.rst | 12 | ||||
-rw-r--r-- | Documentation/boards/imx/nxp-imx8mp-evk.rst | 12 | ||||
-rw-r--r-- | Documentation/boards/rockchip.rst | 1 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/barebox/barebox,environment.rst | 3 | ||||
-rw-r--r-- | Documentation/devicetree/index.rst | 22 | ||||
-rw-r--r-- | Documentation/user/booting-linux.rst | 10 |
8 files changed, 84 insertions, 6 deletions
diff --git a/Documentation/boards/imx.rst b/Documentation/boards/imx.rst index 6c16923340..5cc4676a96 100644 --- a/Documentation/boards/imx.rst +++ b/Documentation/boards/imx.rst @@ -86,8 +86,8 @@ The images can also always be started as second stage on the target: BootROM Reboot mode codes (bmode) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -For select SoCs, barebox supports communicating an alternative boot medium -that BootROM should select after a warm reset:: +For selected SoCs, barebox supports communicating an alternative boot medium +that the BootROM should select after a warm reset:: barebox@FSL i.MX8MM EVK board:/ devinfo gpr.reboot_mode Driver: syscon-reboot-mode @@ -107,10 +107,17 @@ that BootROM should select after a warm reset:: barebox@FSL i.MX8MM EVK board:/ gpr.reboot_mode.next=serial reset -w -This will cause barebox to fall into serial download mode on an i.MX8MM. +The example above will cause barebox to jump back into serial download mode on +an i.MX8MM by writing 0x10 into the *SRC_GPR9* register (offset 0x30390094) and +0x40000000 into the *SRC_GPR10* register (offset 0x30390098), and then issuing a +warm :ref:`reset <command_reset>`. Different SoCs may have more possible reboot modes available. -See the section on :ref:`Reboot modes<reboot_mode>` for more information. +Look for documentation of the *SRC_SBMR* and *SRC_GPR* registers in the +Reference Manual of your SoC; the values for the ``mode-*`` properties often +correspond directly to the boot fusemap settings. + +See the section on :ref:`Reboot modes<reboot_mode>` for general information. High Assurance Boot ^^^^^^^^^^^^^^^^^^^ @@ -161,13 +168,13 @@ keys/certificates are expected in these config variables (assuming HABv4): CONFIG_HABV4_IMG_CRT_PEM A CSF template is located in -``arch/arm/mach-imx/include/mach/habv4-imx6-gencsf.h`` which is preprocessed +``include/mach/imx/habv4-imx6-gencsf.h`` which is preprocessed by barebox. It must be included in the board's flash header: .. code-block:: none - #include <mach/habv4-imx6-gencsf.h> + #include <mach/imx/habv4-imx6-gencsf.h> Analogous to HABv4 options and a template exist for HABv3. diff --git a/Documentation/boards/imx/nxp-imx8mm-evk.rst b/Documentation/boards/imx/nxp-imx8mm-evk.rst index f0dfc53ed0..aa70419139 100644 --- a/Documentation/boards/imx/nxp-imx8mm-evk.rst +++ b/Documentation/boards/imx/nxp-imx8mm-evk.rst @@ -85,5 +85,16 @@ installation to the eMMC boot partition requires special handling: then afterwards, the newly written boot partition is activated (This is controlled by the barebox ``mmcX.boot`` variable). +The following steps are required to write the image to the QSPI NOR flash: + + - The 32KiB preamble MMC preamble must be stripped. + + - The QSPI NOR partition ``barebox`` must be erased before the stripped + image is written. The erase size depends on the stripped image size but + always start at offset 0. + + - Write the stripped barebox image to the QSPI NOR partition ``barebox`` + at offset 0. + The ``barebox_update`` command takes care of this and need just be supplied a barebox image as argument. diff --git a/Documentation/boards/imx/nxp-imx8mn-evk.rst b/Documentation/boards/imx/nxp-imx8mn-evk.rst index 177fc59c10..597db57eaf 100644 --- a/Documentation/boards/imx/nxp-imx8mn-evk.rst +++ b/Documentation/boards/imx/nxp-imx8mn-evk.rst @@ -80,5 +80,17 @@ installation to the eMMC boot partition requires special handling: start at an offset when booting from eMMC boot partitions, thus the first 32KiB must be stripped. +The following steps are required to write the image to the QSPI NOR flash: + + - Strip the 32KiB preamble, like it is done for the eMMC boot partition case + (see above). + + - The QSPI NOR partition ``barebox`` must be erased before the stripped + image is written. The erase size depends on the stripped image size but + always start at offset 0. + + - Write the stripped barebox image to the QSPI NOR partition ``barebox`` + at offset 0. + The ``barebox_update`` command takes care of this and need just be supplied a barebox image as argument. diff --git a/Documentation/boards/imx/nxp-imx8mp-evk.rst b/Documentation/boards/imx/nxp-imx8mp-evk.rst index 53cdd904ab..cfd1153e15 100644 --- a/Documentation/boards/imx/nxp-imx8mp-evk.rst +++ b/Documentation/boards/imx/nxp-imx8mp-evk.rst @@ -88,5 +88,17 @@ installation to the eMMC boot partition requires special handling: start at an offset when booting from eMMC boot partitions, thus the first 32KiB must be stripped. +The following steps are required to write the image to the QSPI NOR flash: + + - Strip the 32KiB preamble, like it is done for the eMMC boot partition case + (see above). + + - The QSPI NOR partition ``barebox`` must be erased before the stripped + image is written. The erase size depends on the stripped image size but + always start at offset 0. + + - Write the stripped barebox image to the QSPI NOR partition ``barebox`` + at offset 0. + The ``barebox_update`` command takes care of this and need just be supplied a barebox image as argument. diff --git a/Documentation/boards/rockchip.rst b/Documentation/boards/rockchip.rst index 0e8738bbf1..583b4f1720 100644 --- a/Documentation/boards/rockchip.rst +++ b/Documentation/boards/rockchip.rst @@ -60,6 +60,7 @@ Supported Boards - Rockchip RK3568 Bananapi R2 Pro - Pine64 Quartz64 Model A - Radxa ROCK3 Model A +- Radxa CM3 (RK3566) IO Board The steps described in the following target the RK3568 and the RK3568 EVB but generally apply to both SoCs and all boards. diff --git a/Documentation/devicetree/bindings/barebox/barebox,environment.rst b/Documentation/devicetree/bindings/barebox/barebox,environment.rst index 8a57bf1add..40239f424a 100644 --- a/Documentation/devicetree/bindings/barebox/barebox,environment.rst +++ b/Documentation/devicetree/bindings/barebox/barebox,environment.rst @@ -23,6 +23,9 @@ the path to the environment. Supported values for <type>: be the label for MTD partitions, the number for DOS partitions (beginning with 0) or the name for GPT partitions. +If the *environmnet* is located in a GPT partition, use +``6C3737F2-07F8-45D1-AD45-15D260AAB24D`` as partition type GUID. + The file-path is the name of a file located in a FAT filesystem on the device named in device-path. This filesystem will be mounted and the environment loaded from the file's location in the directory tree. diff --git a/Documentation/devicetree/index.rst b/Documentation/devicetree/index.rst index 36fa69058d..f85ce6608d 100644 --- a/Documentation/devicetree/index.rst +++ b/Documentation/devicetree/index.rst @@ -151,3 +151,25 @@ Contents: bindings/regulator/* bindings/rtc/* bindings/watchdog/* + +Automatic Boot Argument Fixups to the Devicetree +------------------------------------------------ + +barebox automatically fixes up some boot and system information in the device tree. + +In the device tree root, barebox fixes up + + * serial-number (if available) + * machine compatible (if overridden) + +In the ``chosen``-node, barebox fixes up + + * barebox-version + * reset-source + * reset-source-instance (if available) + * reset-source-device (node-path, only if available) + * bootsource + * boot-hartid (only on RISC-V) + +These values can be read from the booted linux system in ``/proc/device-tree/`` +or ``/sys/firmware/devicetree/base``. diff --git a/Documentation/user/booting-linux.rst b/Documentation/user/booting-linux.rst index 1a95f87e77..6fa8cd911e 100644 --- a/Documentation/user/booting-linux.rst +++ b/Documentation/user/booting-linux.rst @@ -19,8 +19,10 @@ architecture the bootm command handles different image types. On ARM the following images are supported: * ARM Linux zImage +* ARM64 Linux Image, plain or compressed * U-Boot uImage * barebox images +* FIT images, containing a zImage or Image The images can either be passed directly to the bootm command as argument or in the ``global.bootm.image`` variable: @@ -48,6 +50,14 @@ variable: global.bootm.image=/path/to/zImage bootm +FIT image configurations will be matched by comparing the ``compatible`` property +inside the configuration node with the barebox live tree's ``/compatible``. +It's also possible to select a specific configuration explicitly: + +.. code-block:: sh + + global.bootm.image=/dev/mmc0.fit@conf-imx8mm-evk.dtb + **NOTE:** it may happen that barebox is probed from the devicetree, but you have want to start a Kernel without passing a devicetree. In this case set the ``global.bootm.boot_atag`` variable to ``true``. |