| .. SPDX-License-Identifier: GPL-2.0+ |
| |
| U-Boot for Anbernic RGxx3 Devices |
| ================================= |
| |
| This allows U-Boot to boot the following Anbernic devices: |
| |
| - Anbernic RG353M |
| - Anbernic RG353P |
| - Anbernic RG353PS |
| - Anbernic RG353V |
| - Anbernic RG353VS |
| - Anbernic RG503 |
| |
| The correct device is detected automatically by comparing ADC values |
| from ADC channel 1. In the event of an RG353V or RG353P, an attempt |
| is then made to probe for an eMMC and if it fails the device is assumed |
| to be an RG353VS or RG353PS. Based on the detected device, the |
| environment variables "board", "board_name", and "fdtfile" are set to |
| the correct values corresponding to the board which can be read by a |
| boot script to boot with the correct device tree. If the board detected |
| is not of type RG503 (which currently has only 1 panel revision) a |
| panel detect is then performed by probing a "dummy" display on the DSI |
| bus and then querying the display ID. The display ID is then compared |
| to a table to get the known compatible string for use in Linux, and |
| this string is saved as an environment variable of "panel". |
| |
| FDT fixups are performed in the event of an RG353M to change the device |
| name, or in the event the panel detected does not match the devicetree. |
| This allows Linux to load the correct panel driver without having to |
| know exactly which panel is used (as there is no user distingushable |
| way to tell). |
| |
| Building U-Boot |
| --------------- |
| |
| .. code-block:: bash |
| |
| $ export CROSS_COMPILE=aarch64-linux-gnu- |
| $ export BL31=../rkbin/bin/rk35/rk3568_bl31_v1.34.elf |
| $ export ROCKCHIP_TPL=../rkbin/bin/rk35/rk3568_ddr_1056MHz_v1.13.bin |
| $ make anbernic-rgxx3_defconfig |
| $ make |
| |
| This will build ``u-boot-rockchip.bin`` which can be written to an SD |
| card. |
| |
| Image installation |
| ------------------ |
| |
| Write the ``u-boot-rockchip.bin`` to an SD card offset 32kb from the |
| start. Please note that eMMC booting has not been tested at this time. |
| |
| .. code-block:: bash |
| |
| $ dd if=u-boot-rockchip.bin of=/dev/mmcblk0 bs=512 seek=64 |