[PATCH v3 0/3] Add Luckfox Omni3576 Carrier Board support for RK3576

John Clark
2025-05-06T11:41:21Z

This series adds device tree support for the Luckfox Omni3576
Carrier Board with the Core3576 Module, powered by the Rockchip
RK3576 SoC (four Cortex-A72 cores, four Cortex-A53 cores, Mali-G52
MC3 GPU). It enables essential functionality for booting Linux and
basic connectivity, with plans for future support of peripherals
like WiFi, MIPI-DSI, HDMI, and Ethernet.

The series was first posted as v1 at:
https://lore.kernel.org/linux-rockchip/20250502205533.51744-1-inindev@gmail.com
v2 at:
https://lore.kernel.org/linux-rockchip/20250504102447.153551-1-inindev@gmail.com

Tested features (on Linux 6.15-rc4):
- UART: Serial console operational
- SD card: Mounts and reads/writes successfully
- PCIe: NVMe SSD detected, mounted, and fully functional
- USB 2.0: Host ports operational
- RTC: Timekeeping and wake-up tested
- LED: Heartbeat trigger functional
- eMMC: Enabled in device tree, not populated on tested hardware

The series includes three patches:
1. dt-bindings: vendor-prefixes: Add Luckfox vendor prefix
2. dt-bindings: arm: rockchip: Add Luckfox Omni3576 and Core3576 bindings
3. arm64: dts: rockchip: Add Luckfox Omni3576 board support

The device tree is covered by the existing ROCKCHIP ARCHITECTURE
entry in MAINTAINERS. I am aware of ongoing RK3576 upstreaming
efforts (e.g., by Collabora) and welcome feedback or collaboration
to align with mainline driver development.

Changes in v3:
- Addressed Jonas Karlman's feedback on patch 3/3
(Luckfox Omni3576 device tree):
- Added pinctrl for green LED GPIO (gpio1 RK_PD5) for proper
pin setup.
- Reordered regulator node properties for consistent sequence
(e.g., regulator-name, regulator-min-microvolt,
regulator-max-microvolt, etc.).
- Updated regulator nodes (vcc_3v3_pcie, vbus_5v0_typec,
vcc_5v0_host, vcc_5v0_hdmi) to use 'gpios' property instead
of deprecated 'gpio'.
- Removed pmic-power-off pinctrl state and pinctrl-1 from RK806
PMIC node, as they are vendor-specific and undocumented in
bindings.
- Removed pwrkey node from PMIC, as it lacks binding
documentation.
- Added blank line between properties and child nodes in i2c2
node for DT style compliance.
- Removed no-mmc property from sdmmc node to enable MMC
support, aligning with RK3576 SD v3.0 and MMC v4.51
capabilities, allowing TF card slot to support MMC devices
or eMMC via adapter.
- Removed Ethernet support (gmac0/gmac1 nodes) per Andrew Lunn's
feedback, as it relied on the generic PHY driver with incorrect
RGMII delay settings, which would break with the upcoming
MAE0621A driver.
- Addressed Rob Herring's DTB check warnings, other warnings
(e.g., VOP, PCIe, OTP, HDMI PHY) originate from rk3576.dtsi and
are outside this patchset scope.
- Added RNG node to pick up Nicolas Frattaroli's "add RK3576 RNG
node" patch

Changes in v2:
- Enabled HDMI node per feedback from Heiko Stuebner and Nicolas
Frattaroli; untested due to upstream driver issues.
- Enabled Ethernet 1 node per Heiko's device tree philosophy;
untested due to suspected PHY driver or configuration issues
(removed in v3 per Andrew Lunn).
- Clarified eMMC remains enabled but unpopulated on tested
board, per Heiko.

Signed-off-by: John Clark <inindev@gmail.com>
---
John Clark (3):
dt-bindings: vendor-prefixes: Add luckfox prefix
dt-bindings: arm: rockchip: Add Luckfox Omni3576 and Core3576 bindings
arm64: dts: rockchip: Add Luckfox Omni3576 Board support

.../devicetree/bindings/arm/rockchip.yaml | 10 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../dts/rockchip/rk3576-luckfox-core3576.dtsi | 683 ++++++++++++++++++
.../dts/rockchip/rk3576-luckfox-omni3576.dts | 53 ++
5 files changed, 749 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3576-luckfox-core3576.dtsi
create mode 100644 arch/arm64/boot/dts/rockchip/rk3576-luckfox-omni3576.dts

--
2.39.5