Mo 62A Single Board Computer SDK User Guide¶
Document navigation¶
Contents¶
| Section | Topic |
|---|---|
| Section 1 Overview | Platform capabilities, SDK components, top-level directory layout |
| Section 2 Environment setup | Ubuntu host, dependencies, setup.sh, cross-toolchains |
| Section 3 U-Boot | Board-specific files, make u-boot*, staging outputs |
| Section 4 Linux kernel | defconfig, linux-dtbs, linux, linux_stage |
| Section 5 Flashing the SD card | Online write, offline .img, rootfs customization |
| Section 6 Partition layout | MBR, BOOT contents, and extlinux |
| Section 7 Hardware reference | Whole-board interface notes (from schematic documentation) |
Anchor resolution depends on the renderer. If a link does not jump correctly, use the sidebar outline or search for the heading text.
Task-oriented jumps¶
| Focus | Suggested reading |
|---|---|
| Prepare a build host | Section 2 Environment setup |
| Produce R5 SPL / A53 U-Boot | Section 3 U-Boot |
| Produce DTBs, images, FIT | Section 4 Linux kernel |
| Write an SD card, build an Etcher package | Section 5 Flashing the SD card |
| Boot parameters and partition structure | Section 6 Partition layout |
| Connectors, power, SoC and peripheral mapping | Section 7 Hardware reference |
Mo 62A single-board computer SDK, based on the TI AM62A7 platform, with up to 2 TOPS AI inference performance.
1. Overview¶
Mo 62A is a single-board computer based on the TI AM62A7 processor, designed for edge AI inference, machine vision, and industrial control applications. The AM62A7 integrates a quad-core Arm Cortex-A53 (up to 1.4 GHz), a single Cortex-R5F real-time processor, and a dedicated MMA (Matrix Multiplication Accelerator), delivering up to 2 TOPS of AI inference performance.
This SDK is built on TI Processor SDK Linux RT EdgeAI AM62A EVM 11.01.07.05 and provides full hardware customization support for the Mo 62A board. It includes the following components:
- U-Boot: Bootloader customized for Mo 62A, including R5 SPL and A53 U-Boot
- Linux kernel: Kernel and device trees customized for Mo 62A, based on the TI Linux RT kernel
- Build system: Unified Makefile-based build and staging workflow
- Flash tool: Supports direct SD card writes and offline balenaEtcher image creation
SDK directory structure overview:
2. Environment Setup¶
2.1 Host System Requirements¶
The following host environment has been verified for building this SDK:
| Item | Requirement |
|---|---|
| OS | Ubuntu 22.04 LTS (x86_64) |
| Kernel | 6.8.0 or later |
| Architecture | x86_64 |
Required host packages:
2.2 Clone This Repository¶
Clone the Mo 62A SDK to any directory on your host machine:
2.3 Initialize the environment with setup.sh¶
Run setup.sh from the SDK root to initialize the development host:
The script performs the following steps:
- Verifies the host OS (Ubuntu 22.04 LTS)
- Adds the current user to the
dialoutgroup (required for serial port access) - Installs required host packages — press
Yto install,nto skip if already installed - Writes
TI_SDK_PATHto~/.bashrcpointing to the cloned repository root, so the variable persists across terminal sessions - Creates a symlink at
/opt/ti-processor-sdk-linux-rt-edgeai-am62a-evm-11.01.07.05pointing to the cloned repository, required because the cross-compilation toolchain binaries have a hardcoded ELF interpreter path at that location
Example output:
Note: After
setup.shcompletes,TI_SDK_PATHis active in the current shell and will be automatically set in all future terminal sessions via~/.bashrc. Runningsetup.shagain is safe — it will update the symlink and theTI_SDK_PATHentry without creating duplicates.
2.4 Toolchain¶
Two cross-compilation toolchains are included in the SDK:
AArch64 toolchain — used for Linux kernel and A53 U-Boot:
| Item | Value |
|---|---|
| Path | linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/ |
| Prefix | aarch64-oe-linux- |
| GCC version | 13.4.0 |
| Target sysroot | linux-devkit/sysroots/aarch64-oe-linux/ |
ARMv7 R5 toolchain — used for R5 SPL (tiboot3):
| Item | Value |
|---|---|
| Path | k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/ |
| Prefix | arm-oe-eabi- |
| GCC version | 13.4.0 |
| Target sysroot | k3r5-devkit/sysroots/armv7at2hf-vfp-oe-eabi/ |
To verify both toolchains are available (run after setup.sh has completed):
Expected output:
Note: The toolchain binaries have a hardcoded ELF interpreter path pointing to
/opt/ti-processor-sdk-linux-rt-edgeai-am62a-evm-11.01.07.05/. The symlink created bysetup.shsatisfies this requirement regardless of where the repository is cloned. The toolchains are invoked automatically viaRules.makeand do not require manual PATH export.
3. U-Boot¶
3.1 Related Files¶
Mo 62A specific files added to the U-Boot source tree:
| File | Description |
|---|---|
board-support/ti-u-boot-2025.01+git/configs/am62ax_mo_62a_a53_defconfig |
A53 U-Boot defconfig |
board-support/ti-u-boot-2025.01+git/configs/am62ax_mo_62a_r5_defconfig |
R5 SPL defconfig |
board-support/ti-u-boot-2025.01+git/dts/upstream/src/arm64/ti/k3-am62a7-mo-62a.dts |
A53 main device tree |
board-support/ti-u-boot-2025.01+git/dts/upstream/src/arm64/ti/k3-am62a7-mo-62a-pinmux.dtsi |
Pin mux configuration |
board-support/ti-u-boot-2025.01+git/arch/arm/dts/k3-am62a7-r5-mo-62a.dts |
R5 SPL device tree |
board-support/ti-u-boot-2025.01+git/arch/arm/dts/k3-am62a7-mo-62a-u-boot.dtsi |
U-Boot specific DT additions |
board-support/ti-u-boot-2025.01+git/arch/arm/dts/k3-am62a7-mo-62a-binman.dtsi |
Binman packaging configuration |
board-support/ti-u-boot-2025.01+git/arch/arm/dts/k3-am62a7-mo-62a-lp4-4GB.dtsi |
LPDDR4 4GB memory configuration |
Prebuilt firmware required during the build (from TI, not modified):
| File | Description |
|---|---|
board-support/prebuilt-images/am62a-evm/bl31.bin |
Arm Trusted Firmware (TF-A) |
board-support/prebuilt-images/am62a-evm/bl32.bin |
OP-TEE OS |
board-support/prebuilt-images/am62a-evm/ti-dm/am62axx/dm_edgeai_mcu1_0_release_strip.out |
TI Device Manager firmware |
3.2 Build U-Boot¶
U-Boot is built in two separate passes — R5 SPL first, then A53 U-Boot. Both are invoked via the top-level make from the SDK root.
Build R5 SPL (tiboot3):
This configures the R5 build with am62ax_mo_62a_r5_defconfig and compiles using the ARMv7 R5 toolchain (arm-oe-eabi-). The output is placed in board-support/u-boot-build/r5/.
Build A53 U-Boot:
This configures the A53 build with am62ax_mo_62a_a53_defconfig and compiles using the AArch64 toolchain (aarch64-oe-linux-), incorporating bl31.bin, bl32.bin, and the TI Device Manager firmware via binman. The output is placed in board-support/u-boot-build/a53/.
Build both in one step:
3.3 Stage Build Artifacts¶
After a successful build, copy the output binaries to board-support/built-images/:
3.4 Build Output¶
After staging, the following files are available in board-support/built-images/:
| File | Size | Source | Description |
|---|---|---|---|
tiboot3-am62ax-gp-mo-62a.bin |
~318 KB | R5 build | R5 SPL for GP (General Purpose) devices |
tiboot3-am62ax-hs-fs-mo-62a.bin |
~320 KB | R5 build | R5 SPL for HS-FS (High Security, Field Securable) devices |
tiboot3-am62ax-hs-mo-62a.bin |
~320 KB | R5 build | R5 SPL for HS (High Security) devices |
tiboot3.bin |
~320 KB | R5 build | Default tiboot3 (HS-FS, used by flash tool) |
tispl.bin |
~1.7 MB | A53 build | TI SPL — loads OP-TEE, TF-A, and A53 U-Boot |
u-boot.img |
~1.2 MB | A53 build | A53 U-Boot FIT image |
Note: The appropriate
tiboot3-*.binvariant depends on the device security state. Most production Mo 62A boards ship as HS-FS, which usestiboot3-am62ax-hs-fs-mo-62a.bin. The flash tool usestiboot3.bin(a copy of the HS-FS variant) by default.
4. Linux Kernel¶
4.1 Related Files¶
Mo 62A specific files added to the Linux kernel source tree:
| File | Description |
|---|---|
board-support/ti-linux-kernel-6.12.35+git-ti-rt/arch/arm64/configs/am62ax_mo_62a_defconfig |
Mo 62A base kernel defconfig |
board-support/ti-linux-kernel-6.12.35+git-ti-rt/arch/arm64/boot/dts/ti/k3-am62a7-mo-62a.dts |
Mo 62A main device tree |
board-support/ti-linux-kernel-6.12.35+git-ti-rt/arch/arm64/boot/dts/ti/k3-am62a7-mo-62a-pinmux.dtsi |
Pin mux configuration |
The following kernel config fragments are applied on top of the defconfig during the build:
| Fragment | Location | Purpose |
|---|---|---|
ti_arm64_prune.config |
kernel/configs/ |
Removes non-TI ARM64 platform support to reduce build size |
ti_rt.config |
kernel/configs/ |
Enables PREEMPT_RT real-time kernel patches |
4.2 Build DTBs¶
Build all device tree blobs (62 DTBs and DTBOs in total):
This configures the kernel with am62ax_mo_62a_defconfig + ti_arm64_prune.config + ti_rt.config, then builds all DTBs matching the prefix patterns defined in Rules.make:
Output is placed in board-support/ti-linux-kernel-6.12.35+git-ti-rt/arch/arm64/boot/dts/.
4.3 Build Kernel¶
Build the kernel image, modules, and FitImage:
This performs the following steps in order:
- Builds DTBs (calls
linux-dtbsautomatically) - Builds U-Boot (calls
u-bootautomatically, required for FitImage signing key) - Compiles
ImageandImage.gz - Compiles kernel modules
- Packages a signed
fitImageusingmkimagewith the U-Boot signing key and the ITS template fromboard-support/prebuilt-images/am62a-evm/ - Rebuilds U-Boot A53 (binman) to embed the Mo 62A DTB into
tispl.bin
4.4 Stage Build Artifacts¶
Copy kernel and DTB outputs to board-support/built-images/:
4.5 Build Output¶
After staging, the following files are added to board-support/built-images/:
| File | Size | Description |
|---|---|---|
Image |
~18 MB | Uncompressed kernel image |
Image.gz |
~7.0 MB | Compressed kernel image |
fitImage |
~7.3 MB | Signed FIT image (kernel + DTBs), used for verified boot |
dtb/ti/*.dtb / dtb/ti/*.dtbo |
— | 62 device tree blobs and overlays |
Note:
fitImageis signed with thecustMpkkey from the U-Boot source tree. The signing step also triggers a rebuild oftispl.binso it embeds the Mo 62A DTB (k3-am62a7-mo-62a.dtb) in the A53 SPL. This meansmake linuxwill always update bothfitImageandtispl.bininbuilt-images/.
5. Flashing the SD Card¶
The unified flash tool bin/mo-62a-flash.sh supports two output targets:
- Online flashing — write directly to a physical SD card
- Offline image creation — create a
.imgfile for use with balenaEtcher
Both modes create identical partition layouts and content.
5.1 Prerequisites¶
Required host packages (installed by setup.sh):
Ensure the following are ready before running the flash tool:
- Built images staged — run
make u-boot_stageandmake linux_stage(ormake all_stage) so thatboard-support/built-images/contains the required files - Rootfs tarball present — place a
.tar.xzor.tar.gzrootfs tarball underfilesystem/ - SD card inserted (online mode only) — the tool automatically detects
/dev/sdXand/dev/mmcblkNblock devices
5.2 Launch the Flash Tool¶
The flash tool is interactive and must be run as root:
On launch, it prompts you to choose the output target:
5.3 Online Flashing (Write Directly to SD Card)¶
Select [1] for online mode. The tool will enumerate all detected block devices:
Then choose the operation mode:
| Mode | Description |
|---|---|
full |
Full write: wipe and repartition, format, copy boot files, extract rootfs, install kernel modules |
partition |
Partitioning only: wipe and recreate MBR, format partitions — no content written |
boot |
Overwrite BOOT partition only — re-flashes bootloader and kernel without touching rootfs |
rootfs |
Overwrite rootfs partition only — re-extracts the rootfs without touching the BOOT partition |
For a fresh SD card, select full. The tool will ask for confirmation (Type YES to continue), then proceed automatically:
- Unmounts any existing partitions on the selected device
- Wipes the old partition table
- Creates MBR partition table: BOOT (FAT32, 256 MiB) + rootfs (ext4, remaining space)
- Formats both partitions
- Copies boot artifacts to the BOOT partition:
tiboot3.bin,tispl.bin,u-boot.img,Image, DTBs,extlinux/ - Asks which rootfs tarball to use (if multiple are present under
filesystem/) - Extracts the rootfs tarball to the rootfs partition
- Installs kernel modules (
make modules_install) into the rootfs - Builds and installs any external applications from
board-support/extra-applications/
Example session (full mode):
After flashing, insert the SD card into the Mo 62A board and power on. Boot messages appear on the serial console at ttyS2 (115200 8N1).
5.4 Offline Image Creation (balenaEtcher)¶
Select [2] for image mode. The tool prompts for image parameters:
| Parameter | Description |
|---|---|
| Output directory | Where to write the .img and checksum files |
| Image base name | Filename prefix; output will be <name>.img (and <name>.img.zip etc.) |
| Image size (GiB) | Total image size. Must be large enough to hold the rootfs; 8 GiB is sufficient for the default rootfs |
| Compression | zip (recommended for balenaEtcher), xz (smaller file, slower), none (no compression) |
The tool creates a sparse .img file, partitions and formats it via a loopback device, fills it with the same content as online mode, detaches the loop device, then compresses the result.
Output files:
To flash the image with balenaEtcher:
- Open balenaEtcher
- Click Flash from file and select
mo-62a.img.zip(balenaEtcher accepts compressed images directly) - Select the target SD card
- Click Flash
Note: Image size must be at least as large as the expanded rootfs. The default
8GiB is sufficient for the provided Debian rootfs (~6.9 GiB extracted). When using a custom rootfs, adjust the size accordingly.
5.5 Customising the Rootfs Tarball (Adding apt Packages)¶
The flash tool extracts the rootfs tarball as-is. Additional Debian packages (e.g. frei0r-plugins required by imx219-preview.sh) must be pre-installed into the tarball before flashing so that they are available after both online and offline flashing without network access on the target.
The standard workflow is:
- Install prerequisite tools on the host (once, x86-64 Ubuntu/Debian):
- Extract the tarball to a temporary directory:
- Copy the
qemubinary into the extracted rootfs:
- Bind-mount pseudo-filesystems and enter the chroot:
- Inside the chroot, install the required packages:
- Clean up bind mounts and the
qemubinary:
- Repack the tarball:
Packages pre-installed through this workflow:
| Package | Required by | Purpose |
|---|---|---|
frei0r-plugins |
imx219-preview.sh |
White balance via the frei0r-filter-white-balance GStreamer element |
System configuration changes applied inside the chroot:
- Disable DPMS and blanking:
- Disable the X server screensaver via lightdm:
6. Partition Layout¶
Both online flashing and offline image creation produce identical partition layouts:
| Partition | Number | Filesystem | Size | Label | Contents |
|---|---|---|---|---|---|
| BOOT | 1 | FAT32 (LBA) | 256 MiB | BOOT |
Bootloader, kernel image, DTBs, extlinux config |
| rootfs | 2 | ext4 | Remaining | rootfs |
Root filesystem, kernel modules |
Partition table type: MBR (Master Boot Record)
6.1 BOOT partition contents¶
After flashing, the BOOT partition contains:
6.2 Boot configuration¶
U-Boot uses the extlinux boot flow to load the kernel. Default extlinux/extlinux.conf:
Kernel command line parameters:
- Serial console:
ttyS2, 115200 baud - Root device:
/dev/mmcblk1p2(second partition on the SD/MMC device) - Root filesystem type:
ext4
To apply a device tree overlay, uncomment the fdtoverlays line and specify the .dtbo path relative to the BOOT partition root.
7. Hardware Reference¶
7.1 Block Diagram Overview¶
The Mo 62A is built around the TI AM62A74 SoC. The top-level block diagram connects the following subsystems:
| Subsystem | Key IC | SoC Interface |
|---|---|---|
| Power Management | TPS65931211 (PMIC) | SOC_I2C0 |
| eMMC Storage | — | MMC0 |
| LPDDR4 Memory | MT53E1G32D2FW-046 | DDR32 (32-bit) |
| Micro SD Card | — | MMC1 |
| RGB-to-HDMI Transmitter | SiI9022ACNU | RGB888 + MCASP0 + SOC_I2C1 |
| Gigabit Ethernet PHY | DP83867IR | RGMII1 + MDIO |
| USB Hub (4-port) | USB2514 | USB1 |
| Wi-Fi / BT | FG6221ASRC-0L | MMC2 (SDIO) + SOC_UART6 |
| RTC | PCF85263ATL | SOC_I2C0 |
| Audio Codec | TLV320AIC3106 | MCASP1 + SOC_I2C1 |
| EEPROM | BL24C02 (M24M02E) | SOC_I2C1 |
| CSI Camera | — | CSI0 (4-lane MIPI) + SOC_I2C2 |
| 40-Pin Expansion | — | GPIO / I2C / SPI / UART / PWM / MCASP |
| Fan Controller | TXB0104RUTR (voltage translation) | PWM + TIMER |
| Debug UART | SN74LVC2G24DCUR (isolation) | SOC_UART0 |
7.2 Power System¶
Input: USB Type-C, 5 V, maximum 6.38 A total.
Power rails and distribution:
| Rail | Source | Typical Current | Consumers |
|---|---|---|---|
| VCC_3V3_MAIN | DCDC 6 A (TPS62A63RLR) | 6 A max | System 3.3 V backbone |
| VCC_3V3_SYS | LDSW 4 A (TPS22965) | 957 mA | USB Hub, Wi-Fi/BT, Audio Codec, Ethernet PHY, HDMI TX, RTC |
| VSYS_3V3_EXP | Load Switch 4 A (TPS22965) | — | 40-pin, CSI FPC, Micro SD |
| VDD_CORE | PMIC Buck (3.5 A) | — | SoC core |
| VDD_LPDDR4 | PMIC Buck (3.5 A) | — | LPDDR4 |
| SOC_DVDD1V8 | PMIC Buck (4 A) | — | SoC 1.8 V I/O |
| VCC1V8_SYS_SW | PMIC Buck (2 A) | 200 mA | LPDDR4 auxiliary |
| VDD_2V5 | LDO (TPS74801DRCR, 1.5 A) | 325 mA | Ethernet PHY VDDA2P5 |
| VDD_1V0 | LDO (TLV75510PDQN) | 108 mA | Ethernet PHY VDD1P0 |
| VDD_1V2 | LDO (TLV75512PDQN) | 80 mA | HDMI TX VDD1P2 |
| VDD_CANUART | LDO (FLV70S07SYP) | 10 mA | CAN / UART I/O |
Status LEDs (driven by MCU GPIO):
| LED | Color | GPIO Signal |
|---|---|---|
| POWER | Red | B9 / MCU_GPIO0_16 / PWR_LED |
| STATUS | Green | D7 / MCU_GPIO0_15 / ACT_LED |
7.3 I2C Device Map¶
| SoC Bus | Device | Address(es) |
|---|---|---|
| SOC_I2C0 | PMIC TPS65931211 | 0x48 / 0x49 / 0x5A / 0x5B |
| SOC_I2C0 | RTC PCF85263ATL | 0x51 |
| SOC_I2C1 | Audio Codec TLV320AIC3106 | 0x1B |
| SOC_I2C1 | HDMI TX SiI9022ACNU | 0x3B / 0x3F / 0x62 |
| SOC_I2C1 | EEPROM BL24C02 | 0x50 |
| SOC_I2C2 | CSI FPC | — |
| SOC_I2C2 | EXP 40-Pin (SDA1/SCL1) | — |
| MCU_I2C0 | PMIC (secondary I2C) | — |
7.4 Memory¶
LPDDR4 (MT53E1G32D2FW-046)
| Item | Value |
|---|---|
| Bus width | 32-bit |
| Configuration | Single channel, 32-bit |
| SoC interface | DDR0 (full 32-bit data bus) |
| Power | VDD_LPDDR4 (1.1 V), SOC_DVDD1V8 |
| Reset pull-down | R120, 10 kΩ (populated) |
EEPROM (BL24C02F)
| Item | Value |
|---|---|
| Package | SOT23-5 |
| Interface | I2C (SOC_I2C1) |
| Address | 0x50 |
| Write protect | GPIO: C19/GPIO0_17/EEP_WC |
7.5 Storage¶
eMMC
- Interface: MMC0 (8-bit, JEDEC eMMC electrical standard v5.1 / JESD84-B51)
- I/O voltage: 1.8 V (VDDSHV4)
Micro SD Card
- Interface: MMC1 (4-bit, UHS-I capable with 3.3 V / 1.8 V switching)
- I/O voltage: 3.3 V (VDDSHV5) / 1.8 V switched
- Load switch with reset logic for UHS-I voltage switching
- Connector: Micro SD (MUF-MB4)
7.6 Display — Micro HDMI¶
RGB-to-HDMI Transmitter: SiI9022ACNU
| Item | Value |
|---|---|
| SoC video interface | VOUT0_DATA[0..15], VOUT0_PCLK, VSYNC, HSYNC, DE (parallel RGB) |
| SoC audio interface | MCASP0 (ACLKX, AFSX, AXR2) |
| I2C control | SOC_I2C1 (0x3B / 0x3F / 0x62) |
| Reset GPIO | AA19/GPIO0_89/HDMI_RSTn |
| Output connector | Micro HDMI (J7) |
| ESD protection | ESD7304D (×2 groups) |
| Power | VDD_1V2 (1.2 V), VCC_3V3_SYS |
7.7 Networking — Gigabit Ethernet¶
Ethernet PHY: DP83867CSRGZR
| Item | Value |
|---|---|
| Interface | RGMII1 (1 Gbps) |
| PHY address | 0x00 |
| Auto-negotiation | Enabled, Auto-MDI-X |
| TX clock skew | 0 ns |
| RX clock skew | 2 ns |
| MDIO | SoC_RGMII_MDC / MDO |
| Crystal | Y8, 25 MHz / 2016 / 30 ppm / 12 pF |
| Power | VDDA2P5 = 2.5 V, VDD1P0 = 1.0 V, VDD1P2 = 1.2 V |
| Connector | RJ45 with integrated magnetics (LPJG4928HENL) |
| PoE header | J5 (2×2, 2.54 mm pitch) |
| Link LED | Left (green) |
| Activity LED | Right (yellow) |
7.8 USB¶
USB Hub: USB2514 (USB2514BQFN36)
| Item | Value |
|---|---|
| Upstream port | 1× USB 2.0 (from SoC USB1) |
| Downstream ports | 4× USB 2.0 Type-A |
| Power switch | TPS2561DRC, Ilimit = 2800 mA |
| VBUS supply | VBUS_5V0_TYPEA (from 5 V input via SW 2 A) |
| Current per port | Up to 2 A total for all 4 ports |
USB Type-C (J31)
- USB 2.0 only (USB0)
- Powers the board (VIN-5V)
- ESD protection: TVS05000RV
7.9 Wireless — Wi-Fi / Bluetooth¶
Module: FG6221ASRC-0L (6221A-SRC)
| Item | Value |
|---|---|
| Wi-Fi interface | MMC2 (SDIO 4-bit, 1.8 V) |
| BT interface | SOC_UART6 (with CTS/RTS, 1.8 V) |
| Enable — Wi-Fi | EN_WLAN (F22/GPIO0_71/WLAN_EN/1V8) |
| Enable — BT | EN_BT (K22/GPIO0_1/BT_EN/1V8) |
| Interrupt | INT_WLAN (E21/GPIO0_72/WLAN_IRQ/1V8) |
| Antenna connector | U.FL × 1 (CON1) |
| Supply | SOC_DVDD1V8 (1.8 V), VCC_3V3_SYS (3.3 V) |
7.10 Audio¶
Audio Codec: TLV320AIC3106IRGZ
| Item | Value |
|---|---|
| I2S interface | MCASP1 (ACLKX_BUF, AFSX_BUF, AXR0_BUF, AXR2_BUF) |
| I2C control | SOC_I2C1, address 0x1B |
| MCLK | 12.288 MHz crystal oscillator (25 ppm, 3.3 V) |
| Reset GPIO | W18/GPIO0_1/AUD_RSTn |
| Headphone output | HPLOUT / HPROUT (stereo) |
| Microphone input | MIC_IN (LINE IN) |
| 3.5 mm jack (J8) | Pin 1: L — Pin 2: MIC — Pin 3: GND — Pin 4/5: HPROUT/HPLOUT |
| Wiring standard | National standard (CTIA): L / R / GND / MIC |
7.11 RTC¶
RTC IC: PCF85263ATL
| Item | Value |
|---|---|
| Interface | SOC_I2C0, I2C 7-bit address 0x51 (0b0101001) |
| Crystal | Y1, SSP-T7-F, 32.768 kHz, 20 ppm, 12.5 pF load |
| Battery connector | J2 (SH1.0-2p, 3 V button cell) |
7.12 Expansion Interfaces¶
7.12.1 40-Pin Header (J9 — USER EXPN)¶
The 40-pin expansion header (silk: USER EXPN) exposes the following SoC signals:
| Function | SoC Signal(s) |
|---|---|
| GPIO | GPIO0..21 (multiple) |
| I2C | SOC_I2C2 (SDA/SCL) — also accessible as EXP40 pin 3/6 |
| UART | SOC_UART5 × 2 (TX/RX) |
| SPI | SOC_SPI0 (CLK/D0/D1/CS0/CS1) |
| PWM | PWM × 3 |
| I2S | MCASP2 (ACLKX, AFSX, AXR) |
| WAKEUP I2C | WKUP_I2C0 |
7.12.2 FPC 22-Pin CSI Camera (JP1)¶
| Item | Value |
|---|---|
| Connector | FPC22 / 0.5 mm pitch (JP1) |
| Standard | Raspberry Pi Camera connector, 4-lane MIPI CSI-2 |
| Lanes | CSI0_RXP/N[0..3] + CSI0_RXCLKP/N |
| I2C | CSI_I2C2_SDA/SCL (from SOC_I2C2) |
| Power | VSYS_3V3_EXP |
| Enable / Power-down | CSI0_PWDN (Y19/GPIO0_87) |
| Calibration | CSI0_RXRCALIB (499 Ω to GND) |
7.12.3 Fan Connector (J6)¶
| Item | Value |
|---|---|
| Connector | SH1.0-4p |
| PWM control | FAN_PWM (via TXB0104RUTR voltage translation) |
| Tach feedback | FAN_TACH |
| SoC signals | PWM (D18/TIMER_IO7), TACH (D1/ID1_10/EHRPWM1_B) |
7.13 Debug Interface¶
Debug UART (J4 — SH1.0-3p)
UART0 is the MPU debug UART. A SN74LVC2G24DCUR provides voltage isolation.
| Pin | Signal |
|---|---|
| 1 | UART0_RXD |
| 2 | GND |
| 3 | UART0_TXD |
Baud rate: 115200 8N1 (matches kernel console on ttyS2).
7.14 Boot Configuration¶
The Mo 62A uses a fixed resistor boot mode configuration (BOOTMODE[15:0]).
Configured boot modes:
| Priority | Mode | Description |
|---|---|---|
| Primary | SD CARD (MMC1) | 4-bit MMC SD card boot |
| Backup | Ethernet | Network boot fallback |
BOOTMODE register settings (as configured by resistors):
| Bits | Value | Meaning |
|---|---|---|
| BOOTMODE[2:0] | 011 | 25 MHz PLL input frequency |
| MCU_BOOTMODE[6:3] | 1000 | Primary boot = MMCSD (SD Card) |
| MCU_BOOTMODE[9:7] | B8=1, B7=0 | MMC Port 1, 4-bit width |
| MCU_BOOTMODE[12:10] | 100 | Backup boot = Ethernet |
All supported boot modes (per silicon):
- OSPI
- MMC1 — SD Card
- UART
- eMMC
- Ethernet
- USB0 DFU
- USB0 MS
7.15 JTAG Interface¶
| Signal | Description |
|---|---|
| SoC_EMU0 / SoC_EMU1 | Emulation pins |
| SoC_TCK | JTAG clock |
| SoC_TMS | JTAG mode select |
| SoC_TDI | JTAG data in |
| SoC_TDO | JTAG data out |
| SoC_TRSTN | JTAG reset |
Pull-up resistors: 4.7 kΩ to VCC_3V3_SYS.
7.16 Hardware Revision Straps¶
Three hardware revision pins (HW_REV0, HW_REV1, HW_REV2) are routed to the OSPI interface page (sheet 9). These PCB strap resistors (DNF by default) allow encoding the PCB revision and DDR model in hardware for software detection.