From patchwork Sat May 30 03:24:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis 'GNUtoo' Carikli X-Patchwork-Id: 246856 List-Id: U-Boot discussion From: GNUtoo at cyberdimension.org (Denis 'GNUtoo' Carikli) Date: Sat, 30 May 2020 05:24:19 +0200 Subject: [PATCHv5][ 1/7] board: tbs2910: disable loadb and loads commands Message-ID: <20200530032425.10670-1-GNUtoo@cyberdimension.org> The loadb and loads commands are not needed for booting. There are also more reliable and faster alternatives to loadb and loads that can be used with the current configuration. As that the resulting image is already very close to the size limit, removing the loadb and loads commands shouldn't hurt. With arm-linux-gnueabi-gcc 9.2.0-1 from the Parabola GNU/Linux distribution we have the following size reduction: - text: 6733 bytes - data: 116 bytes - bss: 1172 bytes - total: 8021 bytes Signed-off-by: Denis 'GNUtoo' Carikli Acked-by: Soeren Moch --- Changelog since v4: ------------------- - Fixed Acked-by location in the commit message as requested by Soeren Moch. --- configs/tbs2910_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig index 2ff0e160f7..2623eb73cd 100644 --- a/configs/tbs2910_defconfig +++ b/configs/tbs2910_defconfig @@ -28,6 +28,8 @@ CONFIG_SYS_MEMTEST_START=0x10000000 CONFIG_SYS_MEMTEST_END=0x2f400000 CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y +# CONFIG_CMD_LOADB is not set +# CONFIG_CMD_LOADS is not set CONFIG_CMD_MMC=y CONFIG_CMD_PART=y CONFIG_CMD_PCI=y From patchwork Sat May 30 03:24:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis 'GNUtoo' Carikli X-Patchwork-Id: 246855 List-Id: U-Boot discussion From: GNUtoo at cyberdimension.org (Denis 'GNUtoo' Carikli) Date: Sat, 30 May 2020 05:24:20 +0200 Subject: [PATCHv5][ 2/7] board: tbs2910: disable CONFIG_GZIP In-Reply-To: <20200530032425.10670-1-GNUtoo@cyberdimension.org> References: <20200530032425.10670-1-GNUtoo@cyberdimension.org> Message-ID: <20200530032425.10670-2-GNUtoo@cyberdimension.org> As that the resulting image is already very close to the size limit, and that CONFIG_GZIP is not strictly required, removing it shouldn't hurt. With arm-linux-gnueabi-gcc 9.2.0-1 from the Parabola GNU/Linux distribution we have the following size reduction: - text: 9752 - data: 0 - bss: 16 - total: 9768 Signed-off-by: Denis 'GNUtoo' Carikli Acked-by: Soeren Moch --- Changelog since v4: ------------------- - Added the following tag: Acked-by: Soeren Moch --- configs/tbs2910_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig index 2623eb73cd..cc459e6de6 100644 --- a/configs/tbs2910_defconfig +++ b/configs/tbs2910_defconfig @@ -88,5 +88,6 @@ CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_I2C_EDID=y CONFIG_VIDEO_IPUV3=y CONFIG_VIDEO=y +# CONFIG_GZIP is not set CONFIG_OF_LIBFDT_ASSUME_MASK=0xff # CONFIG_EFI_LOADER is not set From patchwork Sat May 30 03:24:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis 'GNUtoo' Carikli X-Patchwork-Id: 246860 List-Id: U-Boot discussion From: GNUtoo at cyberdimension.org (Denis 'GNUtoo' Carikli) Date: Sat, 30 May 2020 05:24:21 +0200 Subject: [PATCHv5][ 3/7] board: tbs2910: move CONFIG_BOOTCOMMAND from header to defconfig In-Reply-To: <20200530032425.10670-1-GNUtoo@cyberdimension.org> References: <20200530032425.10670-1-GNUtoo@cyberdimension.org> Message-ID: <20200530032425.10670-3-GNUtoo@cyberdimension.org> This doesn't affect the size of the image: with arm-linux-gnueabi-gcc 9.2.0-1 from the Parabola GNU/Linux distribution, the text, data, bss and total sizes remain unchanged. Signed-off-by: Denis 'GNUtoo' Carikli Reviewed-by: Soeren Moch --- Changelog since v4: ------------------- - Added the following tag: Acked-by: Soeren Moch --- configs/tbs2910_defconfig | 2 ++ include/configs/tbs2910.h | 8 -------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig index cc459e6de6..d14ff45615 100644 --- a/configs/tbs2910_defconfig +++ b/configs/tbs2910_defconfig @@ -10,6 +10,8 @@ CONFIG_PRE_CON_BUF_ADDR=0x7c000000 CONFIG_CMD_HDMIDETECT=y CONFIG_AHCI=y CONFIG_BOOTDELAY=3 +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="mmc rescan; if run bootcmd_up1; then run bootcmd_up2; else run bootcmd_mmc; fi" CONFIG_USE_PREBOOT=y CONFIG_PREBOOT="echo PCI:; pci enum; pci 1; usb start; if hdmidet; then run set_con_hdmi; else run set_con_serial; fi" CONFIG_PRE_CONSOLE_BUFFER=y diff --git a/include/configs/tbs2910.h b/include/configs/tbs2910.h index 7376b91f55..a230111251 100644 --- a/include/configs/tbs2910.h +++ b/include/configs/tbs2910.h @@ -100,12 +100,4 @@ "stdin=serial,usbkbd\0" \ "stdout=serial,vga\0" -#define CONFIG_BOOTCOMMAND \ - "mmc rescan; " \ - "if run bootcmd_up1; then " \ - "run bootcmd_up2; " \ - "else " \ - "run bootcmd_mmc; " \ - "fi" - #endif /* __TBS2910_CONFIG_H * */ From patchwork Sat May 30 03:24:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis 'GNUtoo' Carikli X-Patchwork-Id: 246859 List-Id: U-Boot discussion From: GNUtoo at cyberdimension.org (Denis 'GNUtoo' Carikli) Date: Sat, 30 May 2020 05:24:22 +0200 Subject: [PATCHv5][ 4/7] board: tbs2910_defconfig: Add support for booting general purpose distributions In-Reply-To: <20200530032425.10670-1-GNUtoo@cyberdimension.org> References: <20200530032425.10670-1-GNUtoo@cyberdimension.org> Message-ID: <20200530032425.10670-4-GNUtoo@cyberdimension.org> This is needed to enable distro_boot support later on. Adding the necessary configuration to enable booting general purpose distributions is typically done by enabling CONFIG_DISTRO_DEFAULTS. However the resulting image size is is already very close to the size limit and PXE isn't strictly needed, so instead we made sure that all the configuration selected by CONFIG_DISTRO_DEFAULTS were selected, with the exception of PXE related configuration (CONFIG_BOOTP_PXE and CONFIG_CMD_PXE) that are both disabled. With arm-linux-gnueabi-gcc 9.3.0-1 from the Parabola GNU/Linux distribution, we have the following size differences: - text: +7526 bytes - data: +28 bytes - bss: -12 bytes - total: +7542 bytes Signed-off-by: Denis 'GNUtoo' Carikli Reviewed-by: Soeren Moch --- Changelog since v4: ------------------- - As requested, I Added in the commit message the reason why the change is really needed as the short summary is not self explanatory enough. - Fixed a typo in the commit message (resultimg image instead of resulting image). - Switched to the use of CONFIG_CMD_SYSBOOT instead of CONFIG_DISTRO_BOOTCMD as suggested The only changes between the two resulting .config are the following: -CONFIG_DISTRO_DEFAULTS=y +# CONFIG_DISTRO_DEFAULTS is not set -CONFIG_BOOTP_PXE=y -CONFIG_BOOTP_PXE_CLIENTARCH=0x15 -CONFIG_CMD_PXE=y +# CONFIG_CMD_PXE is not set --- configs/tbs2910_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig index d14ff45615..fc9095c859 100644 --- a/configs/tbs2910_defconfig +++ b/configs/tbs2910_defconfig @@ -9,6 +9,7 @@ CONFIG_NR_DRAM_BANKS=1 CONFIG_PRE_CON_BUF_ADDR=0x7c000000 CONFIG_CMD_HDMIDETECT=y CONFIG_AHCI=y +CONFIG_ENV_VARS_UBOOT_CONFIG=y CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="mmc rescan; if run bootcmd_up1; then run bootcmd_up2; else run bootcmd_mmc; fi" @@ -43,6 +44,7 @@ CONFIG_CMD_MII=y CONFIG_CMD_PING=y CONFIG_CMD_CACHE=y CONFIG_CMD_TIME=y +CONFIG_CMD_SYSBOOT=y CONFIG_CMD_EXT2=y CONFIG_CMD_EXT4=y CONFIG_CMD_EXT4_WRITE=y From patchwork Sat May 30 03:24:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis 'GNUtoo' Carikli X-Patchwork-Id: 246858 List-Id: U-Boot discussion From: GNUtoo at cyberdimension.org (Denis 'GNUtoo' Carikli) Date: Sat, 30 May 2020 05:24:23 +0200 Subject: [PATCHv5][ 5/7] board: tbs2910: remove CONFIG_DHCP In-Reply-To: <20200530032425.10670-1-GNUtoo@cyberdimension.org> References: <20200530032425.10670-1-GNUtoo@cyberdimension.org> Message-ID: <20200530032425.10670-5-GNUtoo@cyberdimension.org> As that the resulting image is already very close to the size limit, and that CONFIG_DHCP is not strictly required, removing it shouldn't hurt. With arm-linux-gnueabi-gcc 9.3.0-1 from the Parabola GNU/Linux distribution, we have the following size differences: - text: -1708 bytes - data: -28 bytes - bss: -20 bytes - total: -1756 bytes Signed-off-by: Denis 'GNUtoo' Carikli --- Changelog since v4: ------------------- - I was requested to remove DHCP in the v3 review but I forgot about it in v4. This fixes it. --- configs/tbs2910_defconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig index fc9095c859..9b25dcff5e 100644 --- a/configs/tbs2910_defconfig +++ b/configs/tbs2910_defconfig @@ -39,7 +39,6 @@ CONFIG_CMD_PCI=y CONFIG_CMD_SATA=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y -CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y CONFIG_CMD_CACHE=y From patchwork Sat May 30 03:24:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis 'GNUtoo' Carikli X-Patchwork-Id: 246857 List-Id: U-Boot discussion From: GNUtoo at cyberdimension.org (Denis 'GNUtoo' Carikli) Date: Sat, 30 May 2020 05:24:24 +0200 Subject: [PATCHv5][ 6/7] board: tbs2910: Enable distro_boot support. In-Reply-To: <20200530032425.10670-1-GNUtoo@cyberdimension.org> References: <20200530032425.10670-1-GNUtoo@cyberdimension.org> Message-ID: <20200530032425.10670-6-GNUtoo@cyberdimension.org> This keeps the compatibility with the old bootcmd. The fdtfile environment variable also needed to be set to imx6q-tbs2910.dtb to enable booting mainline kernels otherwise with extlinux.conf it tries to load mx6-tbs2910.dtb instead. With arm-linux-gnueabi-gcc 9.2.0-1 from the Parabola GNU/Linux distribution, we have the following size differences: - text: +2041 bytes - data: 0 bytes - bss: 0 bytes - total: +2041 bytes Signed-off-by: Denis 'GNUtoo' Carikli Reviewed-by: Soeren Moch --- Changelog since v4: ------------------- - Sorted EXTRA_ENV_SETTINGS alphabetically as requested BOOTENV was also moved at the begining of EXTRA_ENV_SETTINGS like on include/configs/colibri-imx8x.h - Moved BOOT_TARGET_DEVICES at the end of the file as suggested --- configs/tbs2910_defconfig | 3 ++- include/configs/tbs2910.h | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig index 9b25dcff5e..df5013e87c 100644 --- a/configs/tbs2910_defconfig +++ b/configs/tbs2910_defconfig @@ -12,11 +12,12 @@ CONFIG_AHCI=y CONFIG_ENV_VARS_UBOOT_CONFIG=y CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTCOMMAND=y -CONFIG_BOOTCOMMAND="mmc rescan; if run bootcmd_up1; then run bootcmd_up2; else run bootcmd_mmc; fi" +CONFIG_BOOTCOMMAND="mmc rescan; if run bootcmd_up1; then run bootcmd_up2; else run bootcmd_mmc || run distro_bootcmd; fi" CONFIG_USE_PREBOOT=y CONFIG_PREBOOT="echo PCI:; pci enum; pci 1; usb start; if hdmidet; then run set_con_hdmi; else run set_con_serial; fi" CONFIG_PRE_CONSOLE_BUFFER=y CONFIG_SUPPORT_RAW_INITRD=y +CONFIG_DEFAULT_FDT_FILE="imx6q-tbs2910.dtb" CONFIG_BOUNCE_BUFFER=y CONFIG_BOARD_EARLY_INIT_F=y CONFIG_HUSH_PARSER=y diff --git a/include/configs/tbs2910.h b/include/configs/tbs2910.h index a230111251..17de122852 100644 --- a/include/configs/tbs2910.h +++ b/include/configs/tbs2910.h @@ -76,6 +76,7 @@ #define CONFIG_BOARD_SIZE_LIMIT 392192 /* (CONFIG_ENV_OFFSET - 1024) */ #define CONFIG_EXTRA_ENV_SETTINGS \ + BOOTENV \ "bootargs_mmc1=console=ttymxc0,115200 di0_primary console=tty1\0" \ "bootargs_mmc2=video=mxcfb0:dev=hdmi,1920x1080M at 60 " \ "video=mxcfb1:off video=mxcfb2:off fbmem=28M\0" \ @@ -92,6 +93,13 @@ "bootm 0x10800000 0x10d00000\0" \ "console=ttymxc0\0" \ "fan=gpio set 92\0" \ + "fdt_addr=0x13000000\0" \ + "fdt_addr_r=0x13000000\0" \ + "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ + "kernel_addr_r=0x10008000\0" \ + "pxefile_addr_r=0x10008000\0" \ + "ramdisk_addr_r=0x18000000\0" \ + "scriptaddr=0x14000000\0" \ "set_con_serial=setenv stdout serial; " \ "setenv stderr serial\0" \ "set_con_hdmi=setenv stdout serial,vga; " \ @@ -100,4 +108,14 @@ "stdin=serial,usbkbd\0" \ "stdout=serial,vga\0" +/* Enable distro boot */ +#define BOOT_TARGET_DEVICES(func) \ + func(MMC, mmc, 0) \ + func(MMC, mmc, 1) \ + func(MMC, mmc, 2) \ + func(SATA, sata, 0) \ + func(USB, usb, 0) + +#include + #endif /* __TBS2910_CONFIG_H * */ From patchwork Sat May 30 03:24:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis 'GNUtoo' Carikli X-Patchwork-Id: 246861 List-Id: U-Boot discussion From: GNUtoo at cyberdimension.org (Denis 'GNUtoo' Carikli) Date: Sat, 30 May 2020 05:24:25 +0200 Subject: [PATCHv5][ 7/7] board: tbs2910: add documentation In-Reply-To: <20200530032425.10670-1-GNUtoo@cyberdimension.org> References: <20200530032425.10670-1-GNUtoo@cyberdimension.org> Message-ID: <20200530032425.10670-7-GNUtoo@cyberdimension.org> This documents the u-boot installation procedure and the hardware in order to get started. Signed-off-by: Denis 'GNUtoo' Carikli --- Changelog since v4: ------------------- - Added dded information about SYSBOOT boot support as requested. - Fixed the switch positions as suggested. --- doc/board/index.rst | 1 + doc/board/tbs/index.rst | 9 ++ doc/board/tbs/tbs2910.rst | 191 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 201 insertions(+) create mode 100644 doc/board/tbs/index.rst create mode 100644 doc/board/tbs/tbs2910.rst diff --git a/doc/board/index.rst b/doc/board/index.rst index 01b233f737..bb4473152a 100644 --- a/doc/board/index.rst +++ b/doc/board/index.rst @@ -18,5 +18,6 @@ Board-specific doc rockchip/index sifive/index st/index + tbs/index toradex/index xilinx/index diff --git a/doc/board/tbs/index.rst b/doc/board/tbs/index.rst new file mode 100644 index 0000000000..b677bc624f --- /dev/null +++ b/doc/board/tbs/index.rst @@ -0,0 +1,9 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +TBS +=== + +.. toctree:: + :maxdepth: 2 + + tbs2910 diff --git a/doc/board/tbs/tbs2910.rst b/doc/board/tbs/tbs2910.rst new file mode 100644 index 0000000000..e97f2b6e61 --- /dev/null +++ b/doc/board/tbs/tbs2910.rst @@ -0,0 +1,191 @@ +TBS2910 Matrix ARM miniPC +========================= + +Building +-------- +To build u-boot for the TBS2910 Matrix ARM miniPC, you can use the following +procedure: + +First add the ARM toolchain to your PATH + +Then setup the ARCH and cross compilation environment variables. + +When this is done you can then build u-boot for the TBS2910 Matrix ARM miniPC +with the following commands: + +.. code-block:: none + + make mrproper + make tbs2910_defconfig + make + +Once the build is complete, you can find the resulting image as u-boot.imx in +the current directory. + +UART +---- +The UART voltage is at 3.3V and its settings are 115200bps 8N1 + +BOOT/UPDATE boot switch: +------------------------ +The BOOT/UPDATE switch (SW11) is connected to the BOOT_MODE0 and +BOOT_MODE1 SoC pins. It has "BOOT" and "UPDATE" markings both on +the PCB and on the plastic case. + +When set to the "UPDATE" position, the SoC will use the "Boot From Fuses" +configuration, and since BT_FUSE_SEL is 0, this makes the SOC jump to serial +downloader. + +When set in the "BOOT" position, the SoC will use the "Internal boot" +configuration, and since BT_FUSE_SEL is 0, it will then use the GPIO pins +for the boot configuration. + +SW6 binary DIP switch array on the PCB revision 2.1: +---------------------------------------------------- +On that PCB revision, SW6 has 8 positions. + +Switching a position to ON sets the corresponding +register to 1. + +See the following table for a correspondence between the switch positions and +registers: + +=============== ============ +Switch position Register +=============== ============ +1 BOOT_CFG2[3] +2 BOOT_CFG2[4] +3 BOOT_CFG2[5] +4 BOOT_CFG2[6] +5 BOOT_CFG1[4] +6 BOOT_CFG1[5] +7 BOOT_CFG1[6] +8 BOOT_CFG1[7] +=============== ============ + +For example: + + - To boot from the eMMC: 1:ON , 2:ON, 3:ON, 4:OFF, 5:OFF, 6:ON, 7:ON, 8:OFF + - To boot from the microSD slot: 1: ON, 2: OFF, 3: OFF, 4: OFF, 5:OFF, 6:OFF, + 7:ON, 8:OFF + - To boot from the SD slot: 1: OFF, 2: ON, 3: OFF, 4: OFF, 5:OFF, 6:OFF, 7:ON, + 8:OFF + - To boot from SATA: 1: OFF, 2: OFF, 3: OFF, 4: OFF, 5:OFF, 6:ON, 7:OFF, 8:OFF + +You can refer to the BOOT_CFG registers in the I.MX6Q reference manual for +additional details. + +SW6 binary DIP switch array on the PCB revision 2.3: +---------------------------------------------------- +On that PCB revision, SW6 has only 4 positions. + +Switching a position to ON sets the corresponding +register to 1. + +See the following table for a correspondence between the switch positions and +registers: + +=============== ============ +Switch position Register +=============== ============ +1 BOOT_CFG2[3] +2 BOOT_CFG2[4] +3 BOOT_CFG2[5] +4 BOOT_CFG1[5] +=============== ============ + +For example: + +- To boot from the eMMC: 1:ON, 2:ON, 3:ON, 4:ON +- To boot from the microSD slot: 1:ON, 2:OFF, 3:OFF, 4:OFF +- To boot from the SD slot: 1:OFF, 2:ON, 3:OFF, 4:OFF + +You can refer to the BOOT_CFG registers in the I.MX6Q reference manual for +additional details. + +Loading u-boot from USB: +------------------------ +If you need to load u-boot from USB, you can use the following instructions: + +First build imx_usb_loader, as we will need it to load u-boot from USB. This +can be done with the following commands: + +.. code-block:: none + + git clone git://github.com/boundarydevices/imx_usb_loader.git + cd imx_usb_loader + make + +This will create the resulting imx_usb binary. + +When this is done, you can copy the u-boot.imx image that you built earlier +in in the imx_usb_loader directory. + +You will then need to power off the TBS2910 Matrix ARM miniPC and make sure that +the boot switch is set to "UPDATE" + +Once this is done you can connect an USB cable between the computer that will +run imx_usb and the TBS2910 Matrix ARM miniPC. + +If you also need to access the u-boot console, you will also need to connect an +UART cable between the computer running imx_usb and the TBS2910 Matrix ARM +miniPC. + +Once everything is connected you can finally power on the TBS2910 Matrix ARM +miniPC. The SoC will then jump to the serial download and wait for you. + +Finlay, you can load u-boot through USB with with the following command: + +.. code-block:: none + + sudo ./imx_usb -v u-boot.imx + +The u-boot boot messages will then appear in the serial console. + +Install u-boot on the eMMC: +--------------------------- +To install u-boot on the eMMC, you first need to boot the TBS2910 Matrix ARM +miniPC. + +Once booted, you can flash u-boot.imx to mmcblk0boot0 with the +following commands: + +.. code-block:: none + + sudo echo 0 >/sys/block/mmcblk0boot0/force_ro + sudo dd if=u-boot.imx of=/dev/mmcblk0boot0 bs=1k seek=1; sync + +Note that the eMMC card node may vary, so adjust this as needed. + +Once the new u-boot version is installed, to boot on it you then need to power +off the TBS2910 Matrix ARM miniPC. + +Once it is off, you need make sure that the boot switch is set to "BOOT" and +that the SW6 switch is set to boot on the eMMC as described in the previous +sections. + +If you also need to access the u-boot console, you will also need to connect an +UART cable between the computer running imx_usb and the TBS2910 Matrix ARM +miniPC. + +You can then power up the TBS2910 Matrix ARM miniPC and U-Boot messages will +appear in the serial console. + +Booting a distribution: +----------------------- +When booting on the TBS2910 Matrix ARM miniPC, by default U-Boot will first try +to boot from hardcoded offsets from the start of the eMMC. This is for +compatibility with the stock GNU/Linux distribution. + +If that fails it will then try to boot from several interfaces using +'distro_bootcmd': It will first try to boot from the microSD slot, then the +SD slot, then the internal eMMC, then the SATA interface and finally the USB +interface. For more information on how to configure your distribution to boot, +see 'README.distro'. + +Links: +------ + - https://www.tbsdtv.com/download/document/tbs2910/TBS2910-Matrix-ARM-mini-PC-SCH_rev2.1.pdf + - The schematics for the revision 2.1 of the TBS2910 Matrix ARM miniPC. + - https://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf - The + SoC reference manual for additional details on the BOOT_CFG registers.