Group: Hardware/Computers/Single Board Computers/TBS2910 Matrix ARM mini PC

From LibrePlanet
< Group:Hardware‎ | Computers‎ | Single Board Computers
Revision as of 19:07, 11 January 2020 by GNUtoo (talk | contribs) (Boot settings)
Jump to: navigation, search

Introduction

The TBS2910 Matrix ARM mini PC is an I.MX6 Quad SBC.

Upstream support

u-boot: tbs2910_defconfig

Linux: imx6q-tbs2910.dts

Boot settings

The board I have has the following markings on the PCB: TBS-2910V23

The schematics don't seem to fully match as I've a switch component with 4 switches inside whereas the schematics have 8.

Hence my need to document the boot settings.

SRC_SBMR2 is at 0x020D801C according to the IMX6DQRM.pdf reference manual.

Matrix U-Boot> md.w 0x020D801C 2
020d801c: 0001 0200                                  ....

BMOD[1:0] are the bits 24 and 25 of that register, which are zero here.

BMOD is a register field that correspond to the BOOT_MODE settings, which are explained in the table below or the table in the "8.2.1 Boot mode pin settings" chapter of the reference manual.

BOOT_MODE[1:0] Boot Type
00 Boot From Fuses
01 Serial Downloader
10 Internal Boot
11 Reserved

So we are in "Boot From Fuses" mode.

Matrix U-Boot> md.w 0x020D801C 2
020d801c: 0001 0200                                  ....

The value of BT_FUSE_SEL3 is available SRC_SBMR2[4] so here it's 0, which doesn't make sense as the board is booting.

From the Reference manual

If set to Boot From Fuses, the boot flow is controlled by the BT_FUSE_SEL eFUSE
value. If BT_FUSE_SEL = 0, indicating that the boot device (for example, Flash, SD/
MMC) has not yet been programmed, the boot flow jumps directly to the Serial
Downloader. If BT_FUSE_SEL = 1, the normal boot flow is followed, where the ROM
attempts to boot from the selected boot device.