Commit graph

1,412,053 commits

Author SHA1 Message Date
Shawn Lin
a9c1acebfe arm64: dts: rockchip: Fix SD card support for RK3576 Nanopi R76s
When runtime suspend is enabled, the associated power domain is powered
off, which resets the registers, including the power control bit. As a result,
the card loses power during runtime suspend. The card should still be able
to process I/O with the help of mmc_blk_mq_rw_recovery(), which is suboptimal.
To address this issue, we must use vmmc-supply with a GPIO based method to
maintain power to the card and store valid tuning phases. Also, add cd-gpios
method to make hot-plug work correctly during idle periods.

Fixes: 7fee888827 ("arm64: dts: rockchip: Add devicetree for the FriendlyElec NanoPi R76S")
Cc: stable@vger.kernel.org
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Tested-by: Marco Schirrmeister <mschirrmeister@gmail.com>
Link: https://patch.msgid.link/1768524932-163929-6-git-send-email-shawn.lin@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-16 14:35:04 +01:00
Shawn Lin
7226664bf9 arm64: dts: rockchip: Fix SD card support for RK3576 EVB1
When runtime suspend is enabled, the associated power domain is powered
off, which resets the registers, including the power control bit. As a result,
the card loses power during runtime suspend. The card should still be able
to process I/O with the help of mmc_blk_mq_rw_recovery(), which is suboptimal.
To address this issue, we must use vmmc-supply with a GPIO based method to
maintain power to the card. Also, add cd-gpios method to make hot-plug work
correctly during idle periods.

Fixes: f135a1a073 ("arm64: dts: rockchip: Add rk3576 evb1 board")
Cc: stable@vger.kernel.org
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Link: https://patch.msgid.link/1768524932-163929-5-git-send-email-shawn.lin@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-16 14:35:03 +01:00
FUKAUMI Naoki
d813ddc0b3 arm64: dts: rockchip: Add Radxa CM3J on RPi CM4 IO Board
The Raspberry Pi Compute Module 4 IO Board is an application board for
the Compute Module 4. [1]

This patch adds support for the Radxa CM3J mounted on the RPi CM4 IO
Board.

Specification:
- 12V 5521 DC jack
- 2x full-size HDMI 2.0 connectors (only HDMI0 is supported with CM3J)
- Gigabit Ethernet RJ45 with PoE support
- 2x USB 2.0 connectors, with header for two more connectors
- Micro USB connector
- microSD card socket
- PCIe Gen 2 x1 socket
- 12V 4-pin PWM fan connector
- External power connector (+5V, +12V)
- 2x MIPI DSI connectors
- 2x MIPI CSI-2 connectors
- 40-pin GPIO header
- RTC with battery socket
- Red (power) and green (heartbeat) LEDs

[1] https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://patch.msgid.link/20260108113341.14037-3-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-13 14:58:32 +01:00
FUKAUMI Naoki
9103e21ee4 arm64: dts: rockchip: Add Radxa CM3J
The Radxa CM3J is a feature rich industrial compute module based on
the Rockchip RK3568J SoC. [1]

Specification:
- Quad-core Cortex-A55 CPU
- Mali-G52 2EE GPU
- 1TOPS NPU
- Up to 8GB LPDDR4x RAM
- Up to 32GB eMMC (optional)
- 16MB SPI flash (optional)
- Wi-Fi 5 / BT 5.0 with external antenna connector
- Gigabit Ethernet PHY
- RK809 PMIC
- Green (power) LED

[1] https://dl.radxa.com/cm3j/docs/hw/radxa_cm3j_schematic_v1.2_20250115.pdf

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://patch.msgid.link/20260108113341.14037-2-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-13 14:58:31 +01:00
FUKAUMI Naoki
90d88da849 dt-bindings: arm: rockchip: Add Radxa CM3J on RPi CM4 IO Board
The Radxa CM3J is a feature rich industrial compute module developed
by Radxa, based on the Rockchip RK3568 SoC. [1]

Add devicetree binding documentation for the Radxa CM3J on RPi CM4 IO
Board.

[1] https://dl.radxa.com/cm3j/docs/hw/radxa_cm3j_product_brief_Revision_1.0.pdf

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260108113341.14037-1-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-13 14:58:31 +01:00
FUKAUMI Naoki
4ad1a75480 arm64: dts: rockchip: Make eeprom read-only for Radxa ROCK 3C/5A/5C
The BL24C16 EEPROM implemented on the Radxa ROCK 3C, 5A, and 5C [1]
[2] [3] is designed to have data written during factory programming
(regardless of whether data is actually written or not), and we at
Radxa permit users to read the data but not write to it. [4]
Therefore, we will add a read-only property to the eeprom node.

[1] https://dl.radxa.com/rock3/docs/hw/3c/v1400/radxa_rock_3c_v1400_schematic.pdf p.13
[2] https://dl.radxa.com/rock5/5a/docs/hw/radxa_rock5a_V1.1_sch.pdf p.19
[3] https://dl.radxa.com/rock5/5c/docs/hw/v1100/radxa_rock_5c_schematic_v1100.pdf p.18
[4] https://github.com/radxa/u-boot/blob/next-dev-v2024.10/drivers/misc/radxa-i2c-eeprom.c

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://patch.msgid.link/20260108034252.2713-1-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-13 14:54:37 +01:00
Heiko Stuebner
26cfaee297 arm64: dts: rockchip: Add TS133 variant of the QNAP NAS series
The TS133 is a one-bay NAS mostly similar to the other devices in the
series. The main difference is that it is build around the RK3566 SoC
instead of the RK3568 variant.

The RK3566/RK3568 are mostly similar with only slight variants in both
speed and some specific peripherals - the RK3568 has more.

The specific for the NAS series stay the same though.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260104191448.2693309-6-heiko@sntech.de
2026-01-13 14:51:34 +01:00
Heiko Stuebner
ae2208dfa2 dt-bindings: arm: rockchip: add TS133 to RK356x-based QNAP NAS devices
QNAP builds a number of variants of the RK356x-based NAS design.

Add the 1-bay TS133 variant.

This one is a tiny bit special as it is based around the RK3566 variant
of the mostly similar RK3566/RK3568 SoCs.

Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260104191448.2693309-5-heiko@sntech.de
2026-01-13 14:51:34 +01:00
Heiko Stuebner
a81a2d2113 arm64: dts: rockchip: Move copy-key to TSx33 board files
The copy-key is not present on all device variants, so move it to
the individual boards that have this key.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260104191448.2693309-4-heiko@sntech.de
2026-01-13 14:51:34 +01:00
Heiko Stuebner
5a16e131dd arm64: dts: rockchip: Fix the common combophy + SATA on QNAP TSx33 devices
The common used SATA controller on all TSx33 devices is actually SATA2.
So move the SATA controller + combophy enablement to their correct
position between shared dtsi and board devicetrees.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260104191448.2693309-3-heiko@sntech.de
2026-01-13 14:51:34 +01:00
Heiko Stuebner
f0761f6be5 arm64: dts: rockchip: Move SoC include to individual QNAP TSx33 boards
The TS133 while mostly similar, is based around the RK3566 variant, so
needs a different SoC include.

By moving the SoC include to the board devicetrees, we can still keep
the shared common setup, while supporting the different base SoCs.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260104191448.2693309-2-heiko@sntech.de
2026-01-13 14:51:34 +01:00
Detlev Casanova
da0de806d8 arm64: dts: rockchip: Add the vdpu383 Video Decoder on rk3576
Add the vdpu383 Video Decoder variant to the RK3576 device tree.

Also allow using the dedicated SRAM as a pool.

Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
Link: https://patch.msgid.link/20251020212009.8852-3-detlev.casanova@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-09 20:58:40 +01:00
Detlev Casanova
f61731bd60 arm64: dts: rockchip: Add the vdpu381 Video Decoders on RK3588
Add the vdpu381 Video Decoders to the rk3588-base devicetree.

The RK3588 based SoCs all embed 2 vdpu381 decoders.
This also adds the dedicated IOMMU controllers.

Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
Link: https://patch.msgid.link/20251020212009.8852-2-detlev.casanova@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-09 20:58:40 +01:00
Laurent Pinchart
3cdaec4d5e arm64: dts: rockchip: Add rk3588s-orangepi-cm5-base device tree
The Orange Pi CM5 Base board is a carrier board for the Orange Pi CM5
compute module. It has 3 ethernet ports, 2 USB ports, one HDMI output
and 4 CSI-2 inputs.

The device tree is split in two files, a .dtsi for the compute module
and a .dts for the carrier board. All the devices present on the carrier
board are enabled and tested, with the exception of the IR receiver due
to missing support for input capture in the PWM device's DT binding (and
driver).

This work is based on a combination of the Orange Pi 5 device tree from
the upstream kernel and the Orange Pi CM5 device tree from the BSP
kernel. All nodes and properties have been carefully checked to the best
of my abilities against the schematics of the carrier board. The
schematics of the compute module is not available publicly, so the
configuration of the PMIC hasn't been double-checked.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patch.msgid.link/20251027215637.20715-3-laurent.pinchart@ideasonboard.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-09 20:36:09 +01:00
Laurent Pinchart
5d719a4703 dt-bindings: arm: rockchip: Add Orange Pi CM5 Base
The Orange Pi CM5 Base board is a carrier board for the Orange Pi CM5
compute module. It has 3 ethernet ports, 2 USB ports, one HDMI output
and 4 CSI-2 inputs.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20251027215637.20715-2-laurent.pinchart@ideasonboard.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-09 20:36:09 +01:00
David Petry
a770eb1f32 arm64: dts: rockchip: Enable second HDMI output on CM3588
Enable the second HDMI output port found on FriendlyElec CM3588 and CM3588 Plus

Signed-off-by: David Petry <petry103@gmail.com>
Link: https://patch.msgid.link/20251021160603.96934-1-petry103@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-09 20:29:19 +01:00
Chris Morgan
97a9b5edcd arm64: dts: rockchip: Add HDMI to Gameforce Ace
Add support for the HDMI port for the Gameforce Ace. The HDMI port
has no HPD pin present (the manufacturer's devicetree states the pin
is reused for an additional face button) so add the attribute of
no-hpd to poll for connected devices.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://patch.msgid.link/20251119225526.70588-4-macroalpha82@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-09 20:27:47 +01:00
Alexey Charkov
d8872b9dd9 arm64: dts: rockchip: Enable analog sound on RK3576 EVB1
Rockchip RK3576 EVB1 board uses the typical configuration with an ES8388
analog codec driven from built-in SAI I2S.

Add device tree nodes for it.

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://patch.msgid.link/20251229-rk3576-sound-v1-7-2f59ef0d19b1@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:28:04 +01:00
Alexey Charkov
f5c9549964 arm64: dts: rockchip: Enable HDMI sound on RK3576 EVB1
All RK3576 boards get their HDMI sound from SAI6, which is internally
connected to the HDMI codec. Enable this for Rockchip RK3576 EVB1

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://patch.msgid.link/20251229-rk3576-sound-v1-6-2f59ef0d19b1@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:28:04 +01:00
Alexey Charkov
87af764323 arm64: dts: rockchip: Enable HDMI sound on Luckfox Core3576
All RK3576 boards get their HDMI sound from SAI6, which is internally
connected to the HDMI codec. Enable this for Luckfox Core3576

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://patch.msgid.link/20251229-rk3576-sound-v1-5-2f59ef0d19b1@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:28:04 +01:00
Alexey Charkov
bde555926b arm64: dts: rockchip: Enable HDMI sound on FriendlyElec NanoPi M5
All RK3576 boards get their HDMI sound from SAI6, which is internally
connected to the HDMI codec. Enable this for FriendlyElec NanoPi M5.

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://patch.msgid.link/20251229-rk3576-sound-v1-4-2f59ef0d19b1@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:28:04 +01:00
Alexey Charkov
309598fca3 arm64: dts: rockchip: Use a readable audio card name on NanoPi M5
'simple-audio-card,name' ends up in user visible places such as ALSA mixer
names, so use a more human-readable name instead of realtek,rt5616-codec

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://patch.msgid.link/20251229-rk3576-sound-v1-3-2f59ef0d19b1@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:28:04 +01:00
Heiko Stuebner
843b912c72 arm64: dts: rockchip: enable NPU on rk3588-jaguar
Enable the NPU cores and their mmus and wire up the supply-regulator.
The regulator itself was already defined, but it does not need to be
always on - the npu can control it.

Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Tested-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/20250812085213.1071106-2-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:23:07 +01:00
Heiko Stuebner
8fd18d9b7b arm64: dts: rockchip: enable NPU on rk3588-tiger
Enable the NPU cores and their mmus and wire up the supply-regulator.
The regulator itself was already defined, but it does not need to be
always on - the npu can control it.

Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Tested-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/20250812085213.1071106-1-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:23:07 +01:00
FUKAUMI Naoki
fc808f80cf dt-bindings: arm: rockchip: fix description for Radxa CM5
"Radxa CM5" is the correct name[1], so fix the description. While at
it, move the CM5 entry after the CM3I.

[1] https://dl.radxa.com/cm5/radxa_cm5_product_brief.pdf

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251229045838.2917-2-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:19:39 +01:00
FUKAUMI Naoki
a1823b88d3 dt-bindings: arm: rockchip: fix description for Radxa CM3I
"Radxa CM3I" is the correct name[1], so fix the description.

[1] https://dl.radxa.com/cm3i/docs/hw/radxa_cm3i_product_brief.pdf

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251229045838.2917-1-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:19:39 +01:00
Rob Herring (Arm)
77712fe684 arm64: dts: rockchip: Add missing everest,es8388 supplies to rk3399-roc-pc-plus
The regulator supplies for everest,es8388 audio codec are missing and
are required. Add them based on the schematics found here:

https://personalbsd.org/download/Documents/SCH/ROC-RK3399-PC-PLUS-V20-20210809.pdf

With this, "regulator-always-on" should no longer be necessary for LDO5.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260105193245.3167500-1-robh@kernel.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:19:06 +01:00
Chukun Pan
f01f0e0700 arm64: dts: rockchip: Enable PCIe for ArmSoM Sige1
Enable the RTL8125 network controller and corresponding PHY
connected via PCIe on the ArmSoM Sige1.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Reviewed-by: Jonas Karlman <jonas@kwiboo.se>
Link: https://patch.msgid.link/20260106100000.225445-1-amadeus@jmu.edu.cn
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:18:45 +01:00
Ricardo Pardini
5360ad495b arm64: dts: rockchip: Enable the NPU on Turing RK1
Enable the NPU on Turing RK1.
The regulator vdd_npu_s0 was already in place; since
the NPU power domain supply is now described, remove the
regulator's always-on.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
Link: https://patch.msgid.link/20260101-arm64-dts-rockchip-rk3588-npu-enablements-v2-3-013cf5d5c39d@pardini.net
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:18:23 +01:00
Ricardo Pardini
628aea397d arm64: dts: rockchip: Enable the NPU on FriendlyElec CM3588
Enable the NPU on FriendlyElec CM3588.
The regulator vdd_npu_s0 was already in place; since
the NPU power domain supply is now described, remove the
regulator's always-on.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
Link: https://patch.msgid.link/20260101-arm64-dts-rockchip-rk3588-npu-enablements-v2-2-013cf5d5c39d@pardini.net
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:18:23 +01:00
Ricardo Pardini
7127b6d899 arm64: dts: rockchip: Enable the NPU on NanoPC T6/T6-LTS
Enable the NPU on FriendlyElec NanoPC T6/T6-LTS boards.
The regulator vdd_npu_s0 was already in place; since
the NPU power domain supply is now described, remove the
regulator's always-on.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
Link: https://patch.msgid.link/20260101-arm64-dts-rockchip-rk3588-npu-enablements-v2-1-013cf5d5c39d@pardini.net
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:18:23 +01:00
Alexey Charkov
cd50298ffc arm64: dts: rockchip: enable UFS controller on FriendlyElec NanoPi M5
The NanoPi M5 board supports pluggable UFS modules using the UFSHC
inside its Rockchip RK3576 SoC.

Enable the respective devicetree node and add its supply regulators.

Link: https://wiki.friendlyelec.com/wiki/images/9/97/NanoPi_M5_LP5_2411_SCH.pdf
Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://patch.msgid.link/20251230-nanopi-m5-ufs-v3-1-ed188ae34fdb@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:12:35 +01:00
Ondrej Jirman
a3e4bb6c9a arm64: dts: rockchip: Add light/proximity sensor to Pinephone Pro
Pinephone Pro uses STK3311 according to the schematics.

Tests:
~ $ monitor-sensor --light
    // When the sensor is exposed, it get's fluctating values such as
    Light changed: 1.800000 (lux)
    Light changed: 1.700000 (lux)
    Light changed: 1.800000 (lux)
    Light changed: 1.700000 (lux)
    Light changed: 1.600000 (lux)
    Light changed: 1.100000 (lux)
    // When covering the sensor, it prints a low value and stops printing
    Light changed: 0.200000 (lux)

~ $ monitor-sensor --proximity
    // When it goes away from an object
    Proximity value changed: 0
    // When it comes near an object
    Proximity value changed: 1

Co-developed-by: Martijn Braam <martijn@brixit.nl>
Signed-off-by: Martijn Braam <martijn@brixit.nl>
Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu>
Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
Link: https://patch.msgid.link/20251225-ppp_light_accel_mag_vol-down-v6-2-8c79a4e87001@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:11:40 +01:00
Ondrej Jirman
2b8cd99c8c arm64: dts: rockchip: Add magnetometer sensor to Pinephone Pro
Pinephone Pro uses AF8133J according to the schematic.

The mount-matrix was added by Leonardo on top of Ondrej's work of adding
the magnetometer. It was verified with Leonardo's compass app:

https://gitlab.com/lgtrombetta/compass

Co-developed-by: Leonardo G. Trombetta <lgtrombetta@gmx.com>
Signed-off-by: Leonardo G. Trombetta <lgtrombetta@gmx.com>
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
Link: https://patch.msgid.link/20251225-ppp_light_accel_mag_vol-down-v6-1-8c79a4e87001@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-06 19:11:40 +01:00
Joseph Kogut
51babf83f4 arm64: dts: rockchip: Add support for CM5 IO carrier
Specification:
- 1x HDMI
- 2x MIPI DSI
- 2x MIPI CSI
- 1x eDP
- 1x M.2 E key
- 1x USB 3.0 Host
- 1x USB 3.0 OTG
- 2x USB 2.0 Host
- Headphone jack w/ microphone
- Gigabit Ethernet w/ PoE
- microSD slot
- 40-pin expansion header
- 12V DC

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://patch.msgid.link/20251205120703.14721-4-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:52:09 +01:00
Joseph Kogut
36ee19ba42 arm64: dts: rockchip: Add rk3588 based Radxa CM5
Add initial support for the Radxa Compute Module 5 (CM5). The CM5 uses a
proprietary connector.

Specification:
- Rockchip RK3588
- Up to 32 GB LPDDR4X
- Up to 128 GB eMMC
- 1x HDMI TX up to 8k@60 hz
- 1x eDP TX up to 4k@60 hz
- Gigabit Ethernet PHY

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://patch.msgid.link/20251205120703.14721-3-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:52:09 +01:00
Joseph Kogut
7beae528dd dt-bindings: arm: rockchip: Add Radxa CM5 IO board
Add device tree binding for the Radxa CM5 IO board.

This board is based on the rk3588s.

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://patch.msgid.link/20251205120703.14721-2-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:52:09 +01:00
Raphaël Jakse
9c68a9483e arm64: dts: rockchip: Fix Bluetooth on the RockPro64 board
The RockPro64 board has an optional BCM4345C5 Bluetooth device on UART0.

This patch fixes audio stutters by setting its correct max-speed and
compatible properties.

Signed-off-by: Raphaël Jakse <raphael.kernel@jakse.fr>
Link: https://patch.msgid.link/20251130161259.9828-1-raphael.kernel@jakse.fr
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:51:51 +01:00
Heiko Stuebner
1cb0958a26 arm64: dts: rockchip: Correctly describe the ethernet phy on rk3368-lion
So far, the board used the phy implicitly using the deprecated snps reset
properties. Improve that and describe the PHY correctly under the new
mdio node.

Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/20251020100757.3669681-4-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:47:49 +01:00
Heiko Stuebner
bce933a74b arm64: dts: rockchip: add mdio subnode to gmac on rk3368
This is needed to actually describe the per-board phys connected
to the gmac when needed.

Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/20251020100757.3669681-3-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:47:48 +01:00
Heiko Stuebner
396870f53c arm64: dts: rockchip: add gmac reset property to rk3368
Add the reset of the gmac controller block.

Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/20251020100757.3669681-2-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:47:48 +01:00
Shawn Lin
2d6fcdcaf4 arm64: dts: rockchip: add dma-coherent for pcie and gmac of RK3576
The RK3576 SoC employs ARM CCI for maintaining cache coherency
between the CPU cluster and high-speed peripherals including USB3,
SATA, GMAC, and PCIe controllers. While the USB3 and SATA controllers
were correctly marked as dma-coherent, the GMAC and PCIe nodes were
overlooked.

Without dma-coherent, the kernel falls back to software cache maintenance
for DMA operations, requiring explicit cache flushing and invalidating.
This adds significant overhead that degrades performance in high-throughput
workloads.

Add the missing dma-coherent properties to enable hardware coherency and
avoid unnecessary software cache management overhead.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Link: https://patch.msgid.link/1764313762-78063-1-git-send-email-shawn.lin@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:28:54 +01:00
FUKAUMI Naoki
e3b12fc333 arm64: dts: rockchip: Add EEPROMs for Radxa rk35xx boards
The BL24C16A EEPROM is found in the schematics for Radxa CM3I, Radxa
ROCK 3A, 3B, 5B+, and 5T. [1] [2] [3] [4] [5]

The BL24C16F EEPROM is found in the schematic for Radxa ROCK 4D. [6]

Add these eeprom nodes.

These are designed to have data written during factory programming
(regardless of whether data is actually written or not), and we at
Radxa permit users to read the data but not write to it. [8]
Therefore, we will add a read-only property to the eeprom node.

[1] https://dl.radxa.com/cm3i/docs/hw/radxa_cm3i_v1310_schematic.pdf p.8
[2] https://dl.radxa.com/rock3/docs/hw/3a/radxa_rock_3a_v1310_schematic.pdf p.7
[3] https://dl.radxa.com/rock3/docs/hw/3b/Radxa_ROCK_3B_V1.51_SCH.pdf p.35
[4] https://dl.radxa.com/rock5/5b+/docs/hw/radxa_rock5bp_v1.2_schematic.pdf p.29
[5] https://dl.radxa.com/rock5/5t/docs/hw/radxa_rock5t_schematic_v1.2_20250109.pdf p.36
[6] https://dl.radxa.com/rock4/4d/docs/hw/Radxa_ROCK_4D_SCH_V1.12.pdf p.23
[7] https://github.com/radxa/u-boot/blob/next-dev-v2024.10/drivers/misc/radxa-i2c-eeprom.c

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://patch.msgid.link/20251202084941.1785-4-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:28:54 +01:00
FUKAUMI Naoki
1b2d6b75e2 arm64: dts: rockchip: Add EEPROMs for Radxa ROCK 4 boards
The BL24C04A EEPROM is found in the schematics for Radxa ROCK Pi 4A+
and 4B+. [1] [2]

The BL24C16A EEPROM is found in the schematics for Radxa ROCK 4C+, 4SE,
Radxa ROCK Pi 4A, 4B, and 4C. [3] [4] [5] [6] [7]

However, newer boards/batches should have the BL24C16A, but older ones
may have the BL24C04A. (the ROCK Pi 4B+ I own has a 16Kb EEPROM)

For the ROCK Pi 4s (except the relatively new ROCK 4SE), add the
BL24C04A eeprom node for backward compatibility.
For the ROCK 4SE, add the BL24C16A eeprom node.

These are designed to have data written during factory programming
(regardless of whether data is actually written or not), and we at
Radxa permit users to read the data but not write to it. [8]
Therefore, we will add a read-only property to the eeprom node.

[1] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/4ap/radxa_rock_4ap_v1730_schematic.pdf p.17
[2] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/4bp/radxa_rock_4bp_v1730_schematic.pdf p.17
[3] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/ROCK-4C+-V1.411-SCH.pdf p.22
[4] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/ROCK-4-SE-V1.53-SCH.pdf p.17
[5] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/4a/ROCK_4A_V1.52_SCH.pdf p.17
[6] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/4b/ROCK_4B_v1.52_SCH.pdf p.17
[7] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/rockpi4c_v12_sch_20200620.pdf p.17
[8] https://github.com/radxa/u-boot/blob/next-dev-v2024.10/drivers/misc/radxa-i2c-eeprom.c

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://patch.msgid.link/20251202084941.1785-3-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:28:54 +01:00
Shawn Lin
f8a1d7d136 arm64: dts: rockchip: Add PCIe clkreq stuff for RK3588 EVB1
Add supports-clkreq and pinmux for PCIe ASPM L1 substates.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Acked-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Hans Zhang <hans.zhang@cixtech.com>
Link: https://patch.msgid.link/1764809428-183623-1-git-send-email-shawn.lin@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:28:54 +01:00
Chukun Pan
3025d360f0 arm64: dts: rockchip: enable saradc for ArmSoM Sige5
Add ADC support to ArmSoM Sige5 board.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://patch.msgid.link/20251220100010.26643-3-amadeus@jmu.edu.cn
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:28:54 +01:00
Chukun Pan
341735d92f arm64: dts: rockchip: fix hp-det pin for ArmSoM Sige5
Although the hp_det pin is not used, according to the schematic,
the headphone detection pin is GPIO4_B0. Fix the incorrect pin.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://patch.msgid.link/20251220100010.26643-2-amadeus@jmu.edu.cn
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:28:48 +01:00
Chukun Pan
3fc7029d30 arm64: dts: rockchip: remove rtc regulator for ArmSoM Sige5
According to the schematic, RTC is powered by vcc_3v3_s3.
The vcc_3v3_rtc_s5 regulator does not exist, remove it.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://patch.msgid.link/20251220100010.26643-1-amadeus@jmu.edu.cn
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-22 14:28:04 +01:00
Ondrej Jirman
abd9bb7ad5 arm64: dts: rockchip: Add accelerometer sensor to Pinephone Pro
Pinephone Pro uses mpu6500 according to the schematic. This was verified
via `monitor-sensor --accel`. While rotating the device, the output was
correct (eg. when it was face up, left edge was up, vertical, etc.).

Co-developed-by: Martijn Braam <martijn@brixit.nl>
Signed-off-by: Martijn Braam <martijn@brixit.nl>
Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu>
Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
Link: https://patch.msgid.link/20251124-ppp_light_accel_mag_vol-down-v5-2-f9a10a0a50eb@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-15 12:40:54 +01:00
Torsten Duwe
2cc30da80a arm64: dts: rockchip: Enable SPDIF audio on Rock 5 ITX
The Rock5 ITX has an S/PDIF (TOSLINK) socket in its I/O-shield, whose
TX signal is wired to GPIO4 C1. Activate SPDIF TX unit 1 and select
the proper pinmux (M2).

Signed-off-by: Torsten Duwe <duwe@lst.de>
Link: https://patch.msgid.link/20251124183056.B853068C4E@verein.lst.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-12-15 12:26:09 +01:00