Update EasePi A2/R2 board configs and device trees for improved hardware support#9907
Update EasePi A2/R2 board configs and device trees for improved hardware support#9907ifroncy01 wants to merge 10 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughBoard configs for EasePi A2/R2 were refactored (vendor/maintainer updated). New BSP packages and systemd helpers for Bluetooth, IR, OLED, and network renaming were added. Device-tree edits prepend LinkEase compatible strings and reorganize A2 pinctrl/OTP/IR/NPU overrides. U-Boot defconfig for RK3588 EasePi-R2 updated. ChangesEasePi BSP, board configs, and device-tree updates
Estimated code review effort 🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsStopped waiting for pipeline failures after 30000ms. One of your pipelines takes longer than our 30000ms fetch window to run, so review may not consider pipeline-failure results for inline comments if any failures occurred after the fetch window. Increase the timeout if you want to wait longer or run a Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 5
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
patch/kernel/archive/rockchip64-7.0/dt/rk3568-easepi-a2.dts (1)
802-807:⚠️ Potential issue | 🟠 Major | ⚡ Quick winMissing
&sdio_pwrseqWL_REG_ONreset-gpiosoverride in kernel 7.0 WiFi power sequencingIn
patch/kernel/archive/rockchip64-7.0/dt/rk3568-easepi-a2.dts,sdio_pwrseq: sdio-pwrseqonly setspinctrl-0 = <&wifi_enable_h>and&sdmmc2references it viammc-pwrseq = <&sdio_pwrseq>;, but there is no&sdio_pwrseqoverride providingreset-gpios(andpost-power-on-delay-ms) like the 6.18 and 7.1 variants. Withoutreset-gpios,mmc-pwrseq-simplecan’t reliably drive WL_REG_ON for the WiFi module.🐛 Proposed fix: add WL_REG_ON override to match 6.18/7.1
&gmac1 { status = "disabled"; }; +// Configure WL_REG_ON pin +&sdio_pwrseq { + status = "okay"; + reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>; + post-power-on-delay-ms = <200>; +}; + // bluetooth - mainline kernel serdev on uart8 (GPIO2 pins = hardware connection) &uart8 {🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@patch/kernel/archive/rockchip64-7.0/dt/rk3568-easepi-a2.dts` around lines 802 - 807, The sdio pwrseq node lacks the WL_REG_ON reset-gpios (and post-power-on-delay-ms) override so mmc-pwrseq-simple cannot toggle WiFi power; update the existing sdio_pwrseq/sdio-pwrseq node referenced by &sdmmc2 (mmc-pwrseq = <&sdio_pwrseq>) to add a reset-gpios property that targets the WL_REG_ON GPIO and include the same post-power-on-delay-ms value used in the 6.18/7.1 variants so the WiFi module is reliably driven on during power sequencing.
🧹 Nitpick comments (1)
packages/bsp/easepi/easepi-r2/easepi-net-rename.service (1)
1-12: 💤 Low value
Wants=network-pre.targetis likely unnecessary.The
Before=network-pre.targetcorrectly ensures this service runs before networking starts. However,Wants=network-pre.targetcauses this service to try to pull in network-pre.target, which is typically unnecessary since network-pre.target is already wanted by network.target. TheWantedBy=sysinit.targetis sufficient to ensure this runs early in boot.Consider removing the
Wants=line for clarity:Suggested simplification
[Unit] Description=EasePi-R2 Network Interface Rename Before=network-pre.target -Wants=network-pre.target [Service] Type=oneshot ExecStart=/usr/local/sbin/easepi-net-rename.sh RemainAfterExit=yes [Install] WantedBy=sysinit.target🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/bsp/easepi/easepi-r2/easepi-net-rename.service` around lines 1 - 12, Remove the unnecessary Wants=network-pre.target unit dependency: keep Before=network-pre.target to ensure ordering and leave WantedBy=sysinit.target to ensure early boot activation, but delete the Wants=network-pre.target line so the service does not attempt to pull in network-pre.target.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/bsp/easepi/easepi-a2/bluetooth-hciattach.service`:
- Around line 1-10: The unit currently lacks ordering relative to BlueZ: update
the bluetooth-hciattach.service [Unit] section to ensure it is ordered before
BlueZ by adding a Before=bluetooth.service directive (and optionally
Wants=bluetooth.service if you want systemd to pull in BlueZ); modify the
bluetooth-hciattach.service unit (the same file containing Description,
After=network.target and ExecStart=/usr/local/sbin/bluetooth-hciattach.sh) to
include Before=bluetooth.service so systemd starts this unit prior to
bluetooth.service.
In `@packages/bsp/easepi/easepi-a2/ir-keymap.service`:
- Around line 1-10: The unit starts ir-setup.sh too early and can succeed before
RC devices exist; update the service to wait for RC device enumeration by adding
an ExecStartPre that polls for /sys/class/rc or /dev/lirc* (e.g.
ExecStartPre=/bin/sh -c 'for i in $(seq 1 30); do [ -e /sys/class/rc ] && [
"$(ls -A /sys/class/rc)" ] && exit 0 || sleep 1; done; exit 1') so ExecStart
(/usr/local/ir/ir-setup.sh) only runs after RC entries appear; keep Type=oneshot
and the existing ExecStart, and ensure the timeout/loop length suits boot
timing.
In `@packages/bsp/easepi/easepi-a2/ir-setup.sh`:
- Around line 1-16: The script currently treats failures from the two
/usr/bin/ir-keytable calls as non-fatal and always exits 0; update ir-setup.sh
to propagate errors by enabling strict failure handling (e.g., add "set -euo
pipefail" at the top) or explicitly check the exit status of the two commands
(the /usr/bin/ir-keytable -c -w /etc/rc_keymaps/easepi_remote and
/usr/bin/ir-keytable -p nec calls) inside the for loop and exit with a non-zero
status if either fails, ensuring the loop returns success only when both
commands succeed for a detected device.
In `@packages/bsp/easepi/easepi-a2/oled.service`:
- Around line 1-14: The unit currently uses ConditionPathExists=/dev/i2c-3 which
makes systemd skip the unit if the device is absent at activation; change the
unit to actually pull in the device so it starts when the I2C bus appears by
replacing ConditionPathExists with a dependency on the device unit: add
Wants=dev-i2c-3.device and After=dev-i2c-3.device (and optionally
BindsTo=dev-i2c-3.device if you want the service to stop when the device
disappears), leaving ExecStart=/usr/local/oled/oled --silent and Restart
settings intact so the service will be started automatically when /dev/i2c-3
appears.
In `@packages/bsp/easepi/easepi-r2/easepi-net-rename.sh`:
- Around line 19-33: In rename_only, quote all variable expansions passed to
rename_iface and fix the arithmetic expansion: replace calls like rename_iface
$toiface rename_tmp, rename_iface $iface $toiface, and rename_iface rename_tmp
$iface with quoted versions using "$toiface", "rename_tmp", and "$iface", and
change index=$(( $index + 1 )) to index=$((index + 1)); keep the function name
rename_only and the helper rename_iface unchanged so callers still match.
---
Outside diff comments:
In `@patch/kernel/archive/rockchip64-7.0/dt/rk3568-easepi-a2.dts`:
- Around line 802-807: The sdio pwrseq node lacks the WL_REG_ON reset-gpios (and
post-power-on-delay-ms) override so mmc-pwrseq-simple cannot toggle WiFi power;
update the existing sdio_pwrseq/sdio-pwrseq node referenced by &sdmmc2
(mmc-pwrseq = <&sdio_pwrseq>) to add a reset-gpios property that targets the
WL_REG_ON GPIO and include the same post-power-on-delay-ms value used in the
6.18/7.1 variants so the WiFi module is reliably driven on during power
sequencing.
---
Nitpick comments:
In `@packages/bsp/easepi/easepi-r2/easepi-net-rename.service`:
- Around line 1-12: Remove the unnecessary Wants=network-pre.target unit
dependency: keep Before=network-pre.target to ensure ordering and leave
WantedBy=sysinit.target to ensure early boot activation, but delete the
Wants=network-pre.target line so the service does not attempt to pull in
network-pre.target.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 5149c83c-b508-491e-840c-d13abfd04818
📒 Files selected for processing (29)
config/boards/easepi-a2.confconfig/boards/easepi-r2.confpackages/bsp/easepi/easepi-a2/bluetooth-hciattach.servicepackages/bsp/easepi/easepi-a2/bluetooth-hciattach.shpackages/bsp/easepi/easepi-a2/i2c-dev.confpackages/bsp/easepi/easepi-a2/infrared.confpackages/bsp/easepi/easepi-a2/ir-keymap.servicepackages/bsp/easepi/easepi-a2/ir-setup.shpackages/bsp/easepi/easepi-a2/oled.servicepackages/bsp/easepi/easepi-a2/oled_init.shpackages/bsp/easepi/easepi-fix-infrared.shpackages/bsp/easepi/easepi-r2/71-rndis-net.rulespackages/bsp/easepi/easepi-r2/bluetooth-hciattach.servicepackages/bsp/easepi/easepi-r2/bluetooth-hciattach.shpackages/bsp/easepi/easepi-r2/easepi-net-rename.servicepackages/bsp/easepi/easepi-r2/easepi-net-rename.shpackages/bsp/easepi/easepi-r2/eth_orderpackages/bsp/easepi/easepi-r2/infrared.confpackages/bsp/easepi/easepi-r2/ir-keymap.servicepackages/bsp/easepi/easepi_remotepatch/kernel/archive/rockchip64-6.18/dt/rk3568-easepi-a2.dtspatch/kernel/archive/rockchip64-6.18/dt/rk3588-easepi-r2.dtspatch/kernel/archive/rockchip64-7.0/dt/rk3568-easepi-a2.dtspatch/kernel/archive/rockchip64-7.0/dt/rk3588-easepi-r2.dtspatch/kernel/archive/rockchip64-7.1/dt/rk3568-easepi-a2.dtspatch/kernel/archive/rockchip64-7.1/dt/rk3588-easepi-r2.dtspatch/kernel/rk35xx-vendor-6.1/dt/rk3568-easepi-a2.dtspatch/kernel/rk35xx-vendor-6.1/dt/rk3588-easepi-r2.dtspatch/u-boot/legacy/u-boot-radxa-rk35xx/defconfig/easepi-r2-rk3588_defconfig
💤 Files with no reviewable changes (2)
- patch/kernel/rk35xx-vendor-6.1/dt/rk3568-easepi-a2.dts
- patch/kernel/rk35xx-vendor-6.1/dt/rk3588-easepi-r2.dts
✅ Files skipped from review due to trivial changes (4)
- packages/bsp/easepi/easepi-r2/71-rndis-net.rules
- packages/bsp/easepi/easepi-r2/bluetooth-hciattach.sh
- packages/bsp/easepi/easepi-r2/eth_order
- packages/bsp/easepi/easepi-r2/bluetooth-hciattach.service
🚧 Files skipped from review as they are similar to previous changes (2)
- patch/kernel/archive/rockchip64-7.0/dt/rk3588-easepi-r2.dts
- patch/kernel/archive/rockchip64-6.18/dt/rk3588-easepi-r2.dts
| [Unit] | ||
| Description=EasePi-A2 Bluetooth HCIAttach fix | ||
| After=network.target | ||
| StartLimitIntervalSec=0 | ||
| [Service] | ||
| Type=simple | ||
| ExecStart=/usr/local/sbin/bluetooth-hciattach.sh | ||
|
|
||
| [Install] | ||
| WantedBy=multi-user.target No newline at end of file |
There was a problem hiding this comment.
Order bluetooth-hciattach.service before bluetooth.service.
Vendor images enable both units independently, so systemd can start BlueZ before this script has created hci0. That leaves Bluetooth up without an adapter until something restarts bluetooth.service.
Suggested fix
[Unit]
Description=EasePi-A2 Bluetooth HCIAttach fix
-After=network.target
+Before=bluetooth.service
StartLimitIntervalSec=0📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| [Unit] | |
| Description=EasePi-A2 Bluetooth HCIAttach fix | |
| After=network.target | |
| StartLimitIntervalSec=0 | |
| [Service] | |
| Type=simple | |
| ExecStart=/usr/local/sbin/bluetooth-hciattach.sh | |
| [Install] | |
| WantedBy=multi-user.target | |
| [Unit] | |
| Description=EasePi-A2 Bluetooth HCIAttach fix | |
| Before=bluetooth.service | |
| StartLimitIntervalSec=0 | |
| [Service] | |
| Type=simple | |
| ExecStart=/usr/local/sbin/bluetooth-hciattach.sh | |
| [Install] | |
| WantedBy=multi-user.target |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/bsp/easepi/easepi-a2/bluetooth-hciattach.service` around lines 1 -
10, The unit currently lacks ordering relative to BlueZ: update the
bluetooth-hciattach.service [Unit] section to ensure it is ordered before BlueZ
by adding a Before=bluetooth.service directive (and optionally
Wants=bluetooth.service if you want systemd to pull in BlueZ); modify the
bluetooth-hciattach.service unit (the same file containing Description,
After=network.target and ExecStart=/usr/local/sbin/bluetooth-hciattach.sh) to
include Before=bluetooth.service so systemd starts this unit prior to
bluetooth.service.
| #!/bin/bash | ||
| # EasePi A2 IR device setup script | ||
|
|
||
| echo "Detecting IR devices..." | ||
|
|
||
| for dev in /dev/lirc* /sys/class/rc/*; do | ||
| if [ -e "$dev" ]; then | ||
| echo "Found IR device: $dev" | ||
| /usr/bin/ir-keytable -c -w /etc/rc_keymaps/easepi_remote | ||
| /usr/bin/ir-keytable -p nec | ||
| exit 0 | ||
| fi | ||
| done | ||
|
|
||
| echo "No IR device found (check device tree configuration)" | ||
| exit 0 No newline at end of file |
There was a problem hiding this comment.
Propagate ir-keytable failures instead of reporting success.
If either ir-keytable call fails, this script still reaches exit 0, so ir-keymap.service looks healthy while the remote stays unconfigured. Add strict error handling here.
Suggested fix
#!/bin/bash
+set -e
# EasePi A2 IR device setup scriptBased on learnings, in Armbian shell scripts failures should stop execution unless explicitly handled.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| #!/bin/bash | |
| # EasePi A2 IR device setup script | |
| echo "Detecting IR devices..." | |
| for dev in /dev/lirc* /sys/class/rc/*; do | |
| if [ -e "$dev" ]; then | |
| echo "Found IR device: $dev" | |
| /usr/bin/ir-keytable -c -w /etc/rc_keymaps/easepi_remote | |
| /usr/bin/ir-keytable -p nec | |
| exit 0 | |
| fi | |
| done | |
| echo "No IR device found (check device tree configuration)" | |
| exit 0 | |
| #!/bin/bash | |
| set -e | |
| # EasePi A2 IR device setup script | |
| echo "Detecting IR devices..." | |
| for dev in /dev/lirc* /sys/class/rc/*; do | |
| if [ -e "$dev" ]; then | |
| echo "Found IR device: $dev" | |
| /usr/bin/ir-keytable -c -w /etc/rc_keymaps/easepi_remote | |
| /usr/bin/ir-keytable -p nec | |
| exit 0 | |
| fi | |
| done | |
| echo "No IR device found (check device tree configuration)" | |
| exit 0 |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/bsp/easepi/easepi-a2/ir-setup.sh` around lines 1 - 16, The script
currently treats failures from the two /usr/bin/ir-keytable calls as non-fatal
and always exits 0; update ir-setup.sh to propagate errors by enabling strict
failure handling (e.g., add "set -euo pipefail" at the top) or explicitly check
the exit status of the two commands (the /usr/bin/ir-keytable -c -w
/etc/rc_keymaps/easepi_remote and /usr/bin/ir-keytable -p nec calls) inside the
for loop and exit with a non-zero status if either fails, ensuring the loop
returns success only when both commands succeed for a detected device.
| rename_only() { | ||
| local index=0 | ||
| local iface toiface | ||
| while [[ -n "$1" ]]; do | ||
| toiface="eth$index" | ||
| iface=$1 | ||
| if [[ -n "$iface" && "$iface" != "$toiface" ]]; then | ||
| rename_iface $toiface rename_tmp 2>/dev/null | ||
| rename_iface $iface $toiface | ||
| rename_iface rename_tmp $iface 2>/dev/null | ||
| fi | ||
| index=$(( $index + 1 )) | ||
| shift | ||
| done | ||
| } |
There was a problem hiding this comment.
Missing quotes around variable expansions in rename_only.
The function calls pass unquoted variables which could cause issues if interface names ever contain spaces or special characters. While unlikely for network interface names, proper quoting is a shell best practice.
Suggested fix with proper quoting
rename_only() {
local index=0
local iface toiface
while [[ -n "$1" ]]; do
toiface="eth$index"
iface=$1
if [[ -n "$iface" && "$iface" != "$toiface" ]]; then
- rename_iface $toiface rename_tmp 2>/dev/null
- rename_iface $iface $toiface
- rename_iface rename_tmp $iface 2>/dev/null
+ rename_iface "$toiface" rename_tmp 2>/dev/null
+ rename_iface "$iface" "$toiface"
+ rename_iface rename_tmp "$iface" 2>/dev/null
fi
- index=$(( $index + 1 ))
+ index=$(( index + 1 ))
shift
done
}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| rename_only() { | |
| local index=0 | |
| local iface toiface | |
| while [[ -n "$1" ]]; do | |
| toiface="eth$index" | |
| iface=$1 | |
| if [[ -n "$iface" && "$iface" != "$toiface" ]]; then | |
| rename_iface $toiface rename_tmp 2>/dev/null | |
| rename_iface $iface $toiface | |
| rename_iface rename_tmp $iface 2>/dev/null | |
| fi | |
| index=$(( $index + 1 )) | |
| shift | |
| done | |
| } | |
| rename_only() { | |
| local index=0 | |
| local iface toiface | |
| while [[ -n "$1" ]]; do | |
| toiface="eth$index" | |
| iface=$1 | |
| if [[ -n "$iface" && "$iface" != "$toiface" ]]; then | |
| rename_iface "$toiface" rename_tmp 2>/dev/null | |
| rename_iface "$iface" "$toiface" | |
| rename_iface rename_tmp "$iface" 2>/dev/null | |
| fi | |
| index=$(( index + 1 )) | |
| shift | |
| done | |
| } |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/bsp/easepi/easepi-r2/easepi-net-rename.sh` around lines 19 - 33, In
rename_only, quote all variable expansions passed to rename_iface and fix the
arithmetic expansion: replace calls like rename_iface $toiface rename_tmp,
rename_iface $iface $toiface, and rename_iface rename_tmp $iface with quoted
versions using "$toiface", "rename_tmp", and "$iface", and change index=$((
$index + 1 )) to index=$((index + 1)); keep the function name rename_only and
the helper rename_iface unchanged so callers still match.
refactor(easepi): unify BSP structure and simplify peripheral configs This commit consolidates recent EasePi BSP refactoring into a single coherent change: **Directory Structure Improvements:** - Moved shared IR components (easepi-fix-infrared.sh, easepi_remote) from root to common/ - Renamed easepi-net-rename.sh to easepi-eth-order.sh for clearer intent - Restructured common/ directory with clear separation of concerns **Network Interface Ordering:** - Created easepi-eth-order.sh: generic mechanism for reordering Ethernet interfaces - Created easepi-eth-order.service: systemd service for automatic ordering - Interface naming/ordering is now config-driven via eth_order file - Supports three sources: device tree, /etc/eth_order, or udev rules **OLED Simplification:** - Removed oled_init.sh diagnostic script (no longer needed) - Kept only oled.service + binary for clean runtime logic **Code Quality:** - Converted all Chinese comments to English - Added clear documentation in scripts explaining architecture - Updated board configs to reference new file locations **Device-Specific vs Common Separation:** - common/: universal components (BT, IR, ETH ordering) - easepi-a2/: A2-specific (OLED, BT params, I2C) - easepi-r2/: R2-specific (ETH order config, 4G modem rules) feat(easepi): unify IR and Bluetooth configs with shared BSP directory - Create packages/bsp/easepi/common/ for shared IR and Bluetooth files - Add per-board easepi-bt.conf to configure BT UART device - A2 uses /dev/ttyS8, R2 uses /dev/ttyS9 - Remove duplicate files from individual board directories - Improve maintainability with shared logic - Both boards keep their unique features (OLED, network rename, etc.) Co-authored-by: traeagent <traeagent@users.noreply.github.com>
Update board configuration files for EasePi A2 and R2 to reflect recent BSP refactoring and configuration changes. Summary: config/boards/easepi-a2.conf | 6 +----- config/boards/easepi-r2.conf | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) Changed files: config/boards/easepi-a2.conf config/boards/easepi-r2.conf
| if [ -n "$iface" ]; then | ||
| break | ||
| fi | ||
| sleep 0.5 |
There was a problem hiding this comment.
sleep is unnecessary because if a new interface is present, it will be handled by udev. This script only needs to correct the network interface name before the udev service starts.
- Rename BSP files to bt-*, ir-*, eth-* prefixes - Move common files out of 'common' directory - Simplify hook functions for both boards - Use PACKAGE_LIST_BOARD instead of add_packages_to_image hooks - Add OLED binary directly to easepi-a2 BSP - Consistent naming with easepi_a2/easepi_r2 underscore patterns - Reorganize hooks into modular sections (OLED, IR, BT, Ethernet) - Fix display_alert ordering in OLED install function - Clean up old files
- Remove incorrect BOOT_ENV_FILE='armbianEnv.txt' from both boards - The correct variable is BOOTENV_FILE, which is already set by family config to rk35xx.txt for rk3568/rk3588
Co-authored-by: Liangbin Lian <1129525450@qq.com>
Co-authored-by: Liangbin Lian <1129525450@qq.com>
Co-authored-by: Liangbin Lian <1129525450@qq.com>
- Remove unused custom properties (eth_order, kdebug, power-key-factory-reset) from device trees - Remove rockchip-system-monitor node from r2 device tree - Rename 71-rndis-net.rules to 71-net.rules and add Ethernet interface naming rules for r2 - Update eth-order.service to use After=systemd-udev-settle.service instead of Before/Wants network-pre.target
| chosen { | ||
| stdout-path = "serial2:1500000n8"; | ||
| power-key-factory-reset; | ||
| power-key-dbclick; |
| hwmodel_id = "A2"; | ||
| hw_support = "hdmi"; |
There was a problem hiding this comment.
| hwmodel_id = "A2"; | |
| hw_support = "hdmi"; |
Summary
This PR initializes and matures EasePi-A2 and EasePi-R2 support across board
configs, kernel DTS, boot configuration, peripherals, and BSP packaging.
It includes:
packages/bsp/easepi/layout
conflicts
Changes
1. Initialize EasePi-A2 and EasePi-R2 board support
.cscto.confBOARD_MAINTAINER="ifroncy01"2. Refine boot and package configuration
bootdelay=23. Improve peripheral support
lirc_devandlirc_i2chciattachsupport for both boards4. Refactor BSP packaging and board files
packages/bsp/easepi/config/boards/*.conf5. Add robust network rename solution for EasePi-R2
easepi-net-rename.serviceandeasepi-net-rename.sheth_order, sysfs, and/etc/eth_orderfallback
Affected files
Testing
Notes
This PR is focused on stabilizing EasePi board support, improving board
packaging, and replacing embedded config blocks with a maintainable BSP
structure.
Summary by CodeRabbit
Release Notes
New Features
Chores