Skip to content

This PR adds official Armbian support for two EasePi IoT gateway/NAS devices#9880

Open
ifroncy01 wants to merge 15 commits into
armbian:mainfrom
ifroncy01:main
Open

This PR adds official Armbian support for two EasePi IoT gateway/NAS devices#9880
ifroncy01 wants to merge 15 commits into
armbian:mainfrom
ifroncy01:main

Conversation

@ifroncy01
Copy link
Copy Markdown

@ifroncy01 ifroncy01 commented May 23, 2026

#Description

This PR adds official Armbian support for two EasePi IoT gateway/NAS devices:

  • EasePi-A2 (RK3568) — IoT gateway with OLED display, infrared receiver, AP6255 Bluetooth, PCIe 2.5G Ethernet
  • EasePi-R2 (RK3588) — 4-port 2.5G NAS with infrared receiver, AP6255 Bluetooth, SATA, HDMI IN/OUT

Changes (16 files):

  • Board configs for both devices (config/boards/easepi-a2.conf, config/boards/easepi-r2.conf)
  • Vendor kernel (6.1) DTS/DTSI files for both boards (patch/kernel/rk35xx-vendor-6.1/dt/)
  • Mainline kernel (6.18) DTS/DTSI files for both boards (patch/kernel/archive/rockchip64-6.18/dt/)
  • Legacy U-Boot patches for vendor branch (patch/u-boot/legacy/u-boot-radxa-rk35xx/)
  • Mainline U-Boot (v2025.10) defconfig and DTS files (patch/u-boot/v2025.10/)
  • Extension scripts for peripherals — OLED, IR, Bluetooth (extensions/easepi-a2-peripherals.sh, extensions/easepi-r2-peripherals.sh)
  • Go source for OLED display (https://github.com/ifroncy01/easepi-oled-daemon)
  • Vendor kernel config (config/kernel/linux-rk35xx-vendor.config)

Dependencies:

  • Extends existing rk35xx and rockchip-rk3588 board families
  • Mainline kernel uses rockchip64 LINUXFAMILY via rockchip64_common.inc
  • U-Boot mainline overrides default radxa U-Boot via board config post_family_config__ hook
  • Extracted the OLED Go source code into a dedicated repository

Documentation Summary

  • short description: Add board support for EasePi-A2 (RK3568) and EasePi-R2 (RK3588)
  • summary: Two new Rockchip boards for IoT gateway and NAS use cases. EasePi-A2 features OLED display, IR receiver, AP6255 Bluetooth/WiFi, and PCIe 2.5G Ethernet. EasePi-R2 features 4x 2.5G Ethernet, IR, Bluetooth, SATA, and HDMI IN/OUT. Both boards support vendor (6.1) and mainline (6.18) kernels.
  • example of usage: Build with ./compile.sh BOARD=easepi-a2 BRANCH=current or ./compile.sh BOARD=easepi-r2 BRANCH=vendor

How Has This Been Tested?

  • easepi-a2 vendor build — 451s, kernel 6.1.115, image generated
  • easepi-a2 current build — 1022s, kernel 6.18.33, image generated
  • easepi-r2 vendor build — 487s, kernel 6.1.115, image generated
  • easepi-r2 current build — 914s, kernel 6.18.33, image generated
  • Physical device testing (completed)

All builds: BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_CONFIGURE=no ARTIFACT_IGNORE_CACHE=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 (shellcheck passes all extension scripts)
  • Any dependent changes have been merged and published in downstream modules

File Statistics

Category Files
Board configs 2
Extensions + Go source -
Vendor kernel DTS/DTSI 2
Mainline kernel DTS/DTSI 2
Legacy U-Boot (vendor) 4
Mainline U-Boot (v2025.10) 6
Total 16

Summary by CodeRabbit

  • New Features
    • Added EasePi‑A2 (RK3568) and EasePi‑R2 (RK3588) board support.
    • On‑board peripherals: Bluetooth, Wi‑Fi SDIO, IR receiver (NEC), OLED display, NVMe storage, PCIe Ethernet, HDMI/audio, RTC, and fan control.
    • Includes image tooling to enable services (OLED, IR, Bluetooth) and an IR diagnostic/setup helper.
    • Adds required user utilities (i2c-tools, ir-keytable, fonts) and full U-Boot + Linux kernel/device-tree support for both boards.

Review Change Stack

ifroncy01 and others added 5 commits May 22, 2026 23:04
Add easepi-a2-rk3568_defconfig
Add easepi-r2-rk3588_defconfig
Add rk3568-easepi-a2-u-boot.dtsi
Add rk3588-easepi-r2-u-boot.dtsi
Add rk3568-easepi-a2.dts
Add rk3588-easepi-r2.dts
@EvilOlaf
Copy link
Copy Markdown
Member

Not much more from my side.
Keeping extension stuff in board config file is a sane suggestion as extensions should ideally work on all boards or a whole family at least.
once the pr at linux-rockchip was accepted you can remove the needless dts in this repo from the pr.

@ifroncy01
Copy link
Copy Markdown
Author

I will integrate the extensions into the board configuration and monitor the review status of the linux-rockchip PR.

- Move easepi-a2-peripherals extension into easepi-a2.conf
- Move easepi-r2-peripherals extension into easepi-r2.conf
- Remove standalone extension files
- Refactor rk3568-easepi-a2 device tree structure
- Fix OLED binary download and verification
- Clean up DTS patches and drop edge target
@ifroncy01
Copy link
Copy Markdown
Author

@EvilOlaf @HeyMeco
work done...Still monitor the review status of the linux-rockchip PR.

@github-actions
Copy link
Copy Markdown
Contributor

🚫 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 easepi-a2

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

    • Expected: board-vendor-logos/easepi-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)
  • Board image missing for easepi-r2

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

    • Expected: board-vendor-logos/easepi-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.

@armbian armbian deleted a comment from github-actions Bot May 25, 2026
@armbian armbian deleted a comment from github-actions Bot May 25, 2026
@armbian armbian deleted a comment from github-actions Bot May 25, 2026
@armbian armbian deleted a comment from github-actions Bot May 25, 2026
Comment thread config/boards/easepi-a2.conf
Comment thread config/boards/easepi-r2.conf
@github-actions
Copy link
Copy Markdown
Contributor

🚫 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 easepi-a2

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

    • Expected: board-vendor-logos/easepi-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)
  • Board image missing for easepi-r2

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

    • Expected: board-vendor-logos/easepi-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.

@ifroncy01
Copy link
Copy Markdown
Author

ifroncy01 commented May 26, 2026

Hi @EvilOlaf @HeyMeco

The issue regarding "Missing required board assets" has already been reviewed and is ready to merge in armbian/armbian.github.io#317.

However, this PR still has a failing check related to the ShellCheck error (SC2148) on the board config files. I noticed that other board configuration files have not addressed similar issues yet. Could you please advise on how we should proceed with this error? Should we add shebangs or shellcheck directives to all board config files, or is there another preferred solution?

Thank you for your guidance!

@EvilOlaf
Copy link
Copy Markdown
Member

It will fail until the pending PR with the assets is merged.

should we add shebangs or shellcheck directives to all board config files

No, that's slop

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

Labels

05 Milestone: Second quarter release Framework Framework components Hardware Hardware related like kernel, U-Boot, ... Needs review Seeking for review Patches Patches related to kernel, U-Boot, ... size/large PR with 250 lines or more

Development

Successfully merging this pull request may close these issues.

3 participants