diff options
| author | Tom Rini <[email protected]> | 2025-12-02 12:19:52 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-12-02 13:00:44 -0600 |
| commit | 30a9f675e562669de614b26956dcb1ec75837a64 (patch) | |
| tree | ff7a3d60c3536c417c0cf9242b24afcb15c7a9e2 /doc | |
| parent | c6ee44b5573a90b0a3a36cf858954e04439ae632 (diff) | |
| parent | 422b15bb5b693376e345d3f32d7cec4588f3bfba (diff) | |
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsung
- Assorted updates
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/board/samsung/exynos-mobile.rst | 45 | ||||
| -rw-r--r-- | doc/board/samsung/exynos-mobile/exynos7870.rst | 85 | ||||
| -rw-r--r-- | doc/board/samsung/index.rst | 1 |
3 files changed, 131 insertions, 0 deletions
diff --git a/doc/board/samsung/exynos-mobile.rst b/doc/board/samsung/exynos-mobile.rst new file mode 100644 index 00000000000..37718af1fea --- /dev/null +++ b/doc/board/samsung/exynos-mobile.rst @@ -0,0 +1,45 @@ +.. SPDX-License-Identifier: GPL-2.0+ +.. sectionauthor:: Kaustabh Chakraborty <[email protected]> + +Samsung Exynos Generic ARMv8 Boards (for mobile devices) +======================================================== + +Overview +-------- +This document describes how to build and run U-Boot for Samsung Exynos generic +boards. Boards are expected to boot with a primary bootloader, such as S-BOOT or +S-LK, which hands off control to U-Boot. Presently, only ARMv8 devices are +supported. + +The U-Boot image is built with all device tree blobs packed in a single FIT +image. During boot, it uses simple heuristics to detect the target board, and +subsequently the appropriate FDT is selected. + +Installation +------------ +Building +^^^^^^^^ +If a cross-compiler is required, install it and set it up like so: + +.. prompt:: bash $ + + export CROSS_COMPILE=aarch64-linux-gnu- + +Then, run the following commands to build U-Boot: + +.. prompt:: bash $ + + make O=.output exynos-mobile_defconfig + make O=.output -j$(nproc) + +If successful, the U-Boot binary will be present in ``.output/u-boot.bin``. + +Preparation and Flashing +^^^^^^^^^^^^^^^^^^^^^^^^ +Since U-Boot supports multiple boards, and devices have different requirements, +this step will vary depending on your target. + +.. toctree:: + :maxdepth: 1 + + exynos-mobile/exynos7870 diff --git a/doc/board/samsung/exynos-mobile/exynos7870.rst b/doc/board/samsung/exynos-mobile/exynos7870.rst new file mode 100644 index 00000000000..bbd857580b8 --- /dev/null +++ b/doc/board/samsung/exynos-mobile/exynos7870.rst @@ -0,0 +1,85 @@ +.. SPDX-License-Identifier: GPL-2.0+ +.. sectionauthor:: Kaustabh Chakraborty <[email protected]> + +Samsung Exynos 7870 Boards +========================== + +Preparation +----------- +Create the following device tree (named ``stub.dts``) + +.. code-block:: devicetree + + /dts-v1/; + + / { + compatible = "samsung,exynos7870"; + #address-cells = <2>; + #size-cells = <1>; + + model_info-chip = <7870>; + model_info-hw_rev = <0>; + model_info-hw_rev_end = <255>; + + chosen { + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x0 0x80000000 0x0>; + }; + + memory@100000000 { + device_type = "memory"; + reg = <0x1 0x00000000 0x0>; + }; + }; + +The chosen node and memory ranges are populated by S-BOOT. A certain device +model may have multiple variants, with differing amounts of RAM and storage. The +RAM capacity information is graciously provided by S-BOOT's device tree +overlays. + +Compile it to a device tree blob, then pack it in the QCDT format [1]_ using +``dtbTool-exynos`` [2]_ by issuing the following commands: + +.. prompt:: bash $ + + dtc -I dts -O dtb -o stub.dtb stub.dts + dtbTool-exynos -o stub-dt.img stub.dtb + +Finally, use ``mkbootimg`` by osm0sis [3]_ to generate the boot image: + +.. prompt:: bash $ + + mkbootimg -o u-boot.img \ + --kernel .output/u-boot.bin \ + --dt stub-dt.img + +Offsets are not provided to ``mkbootimg`` as S-BOOT ignores them. + +Flashing +-------- +If flashing for the first time, it must be done via Samsung's Download (Odin) +mode. Heimdall [4]_ can be used for flashing, like so: + +.. prompt:: bash $ + + heimdall flash --BOOT u-boot.img + +However, if U-Boot is already installed, you may also use its fastboot interface +for flashing. Boot into the boot menu by holding the volume down key. Enable +fastboot mode from there, connect the device to your host, then run: + +.. prompt:: bash $ + + fastboot flash boot u-boot.img + +To flash an OS image in internal storage, fastboot is a reliable option. + +References +---------- +.. [1] https://wiki.postmarketos.org/wiki/QCDT +.. [2] https://github.com/dsankouski/dtbtool-exynos +.. [3] https://github.com/osm0sis/mkbootimg +.. [4] https://git.sr.ht/~grimler/Heimdall diff --git a/doc/board/samsung/index.rst b/doc/board/samsung/index.rst index 1b92c9518a5..1fbe88130c0 100644 --- a/doc/board/samsung/index.rst +++ b/doc/board/samsung/index.rst @@ -8,4 +8,5 @@ Samsung axy17lte e850-96 + exynos-mobile n1 |
