Skip to content

board: add Tomate MCD-125 (Allwinner H313 TV box)#17

Open
julivs wants to merge 1 commit intosicXnull:mainfrom
julivs:tomate-mcd125
Open

board: add Tomate MCD-125 (Allwinner H313 TV box)#17
julivs wants to merge 1 commit intosicXnull:mainfrom
julivs:tomate-mcd125

Conversation

@julivs
Copy link
Copy Markdown

@julivs julivs commented Mar 18, 2026

Description

Adds initial Armbian support for the Tomate MCD-125 TV box.

Hardware:

  • SoC: Allwinner H313 (sun50i-h313 / sun50iw9p1), same family as H616
  • RAM: 2GB LPDDR3 (Samsung eMCP, timing tuned)
  • Storage: 16GB eMMC + microSD slot
  • PMIC: X-Powers AXP313A (via R_I2C)
  • Boot: BROM uses TOC0 format (not eGON); open-boot with throwaway RSA key

What works:

  • Boot from SD card (TOC0 + LPDDR3 init + AXP313A PMIC)
  • USB host
  • HDMI output
  • UART (115200)
  • Ethernet via USB adapter

Known limitations (future work):

  • Boot from eMMC: SPL loads but fails to re-initialize MMC2 controller
  • Onboard EMAC1 (AC300 internal PHY): PHY not detected by current driver
  • Wi-Fi/BT (SSV6558): driver not available upstream

U-Boot patches included:

  • arm64-sun50i-h313-add-tomate-mcd125-lpddr3-defconfig.patch: board defconfig with LPDDR3 timings and
    CONFIG_MMC_SUNXI_SLOT_EXTRA=2
  • sunxi-toc0-auto-generate-key-for-open-boot.patch: auto-generate throwaway RSA key for TOC0 open-boot (H313 fuses not blown)
  • sunxi-h616-PC3-emmc-sel-pin-pull-down.patch: configure PC3 eMMC sel pin in SPL mmc_pinmux_setup() (ported from
    bigtreetech-cb1)
  • sunxi_mmc-dec-f_max-to-12MHz-to-get-emmc-reliable.patch: reduce MMC f_max for eMMC stability on H313

GitHub issue reference: N/A
Jira reference number: N/A

How Has This Been Tested?

Tested on physical Tomate MCD-125 hardware (board revision GYS_A7_V3.1):

  • Boot from SD card — confirmed via UART and SSH
  • DRAM init (2048 MiB) — confirmed via SPL output
  • PMIC init (AXP313A) — voltages stable
  • Kernel boots to login prompt
  • USB host — USB-Ethernet adapter functional (SSH access)
  • HDMI — output confirmed
  • UART — 115200 8N1 on PH0/PH1

Build command:

./compile.sh build BOARD=tomate-mcd125 BRANCH=current RELEASE=bookworm \
  BUILD_DESKTOP=no BUILD_MINIMAL=no KERNEL_CONFIGURE=no EXPERT=yes

Checklist:

- My code follows the style guidelines of this project
- I have performed a self-review of my own code
- I have commented my code, particularly in hard-to-understand areas                                                            
- My changes generate no new warnings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Hey @julivs! 👋

Thanks for submitting your first pull request to the Armbian project — we're excited to have you contributing! 🧡
Your effort doesn’t just improve Armbian — it benefits the entire community of users and developers.

If you'd like to stay informed about project updates or collaborate more closely with the team,
you can optionally share some personal contact preferences at armbian.com/update-data.
This helps us keep in touch without relying solely on GitHub notifications.

Also, don’t forget to ⭐ star the repo if you haven’t already — and welcome aboard! 🚀

@github-actions
Copy link
Copy Markdown

🚫 Missing required board assets

This PR adds new board configuration(s). Required assets must already exist in github/armbian/armbian.github.io.
They are required by Armbian Imager to ensure all boards are displayed with proper images.

  • Board images: board-images/<board>.png (1920x1080 px transparent)
  • Vendor logos: board-vendor-logos/<vendor>-logo.png (512x512 px transparent)

Missing items

  • Board image missing for tomate-mcd125

    • Expected: board-images/tomate-mcd125.png
    • Fix: add the file to armbian/armbian.github.io (folder board-images/)
  • Vendor logo missing for vendor tomate (used by board tomate-mcd125)

    • Expected: board-vendor-logos/tomate-logo.png
    • Fix: add the file to armbian/armbian.github.io (folder board-vendor-logos/)
    • Naming rules: lowercase, dashes (e.g. kobol-logo.png, not Kobol_logo.png)

Once the missing files are added (or a PR is opened in armbian/armbian.github.io), re-run this check.

@sicXnull
Copy link
Copy Markdown
Owner

Did you mean to push this to my repo? i believe you'd want to push this to the main armbian repo instead of this fork

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants