Commit graph

1,412,066 commits

Author SHA1 Message Date
Shawn Lin
f63ea193a4 arm64: dts: rockchip: Fix rk356x PCIe range mappings
The pcie bus address should be mapped 1:1 to the cpu side MMIO address, so
that there is no same address allocated from normal system memory. Otherwise
it's broken if the same address assigned to the EP for DMA purpose.Fix it to
sync with the vendor BSP.

Fixes: 568a67e742 ("arm64: dts: rockchip: Fix rk356x PCIe register and range mappings")
Fixes: 66b51ea7d7 ("arm64: dts: rockchip: Add rk3568 PCIe2x1 controller")
Cc: stable@vger.kernel.org
Cc: Andrew Powers-Holmes <aholmes@omnom.net>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Link: https://patch.msgid.link/1767600929-195341-1-git-send-email-shawn.lin@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-22 19:41:40 +01:00
Chris Morgan
9e3f8ae040 arm64: dts: rockchip: Add Anbernic RG-DS
Add device tree for the Anbernic RG-DS, based on the Rockchip RK3568.
All hardware is currently working except for the accelerometer, the
speaker output, and one of the two battery gauges. A bug in the
Rockchip VOP2 driver is currently causing the device to pause for 30
seconds at boot and is being investigated.

The Anbernic RG-DS includes the following (supported) hardware:
 - 2 640x480 DSI display screens with touch.
 - 21 buttons.
 - 2 Analog joysticks.
 - 3 LEDs (red and green LED share the same housing).
 - 32GB eMMC, 1 SDMMC slot.
 - RTL8821CS WiFi/Bluetooth combo
 - 1 USB 2.0 port in host mode, 1 USB 2.0 port in peripheral mode.
 - 3.5mm headphone jack with play button support.
 - 4000mAH battery

The following hardware has incomplete driver support and is not yet
working:
 - An Invensense icm42607p accelerometer.
 - Two Awinic aw87391 speaker amplifiers.
 - A Cellwise cw2015 battery monitor, which appears to conflict with
   the rk817 charger driver at the moment.

Co-developed-by: Alexander Weinzerl <aweinzerl13@yahoo.com>
Signed-off-by: Alexander Weinzerl <aweinzerl13@yahoo.com>
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://patch.msgid.link/20260113195721.151205-7-macroalpha82@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-22 19:26:42 +01:00
Chris Morgan
3c8399d31c dt-bindings: input: touchscreen: goodix: Add "panel" property
Add a "panel" property to define a relationship between a touchscreen
and an associated panel when more than one of each exist in a device.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
[picked with the rest with Dmitry's Ack]
Link: https://patch.msgid.link/20260113195721.151205-6-macroalpha82@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-22 19:26:42 +01:00
Chris Morgan
84f42966b8 dt-bindings: arm: rockchip: Add Anbernic RG-DS
Add compatible string for the Anbernic RG-DS.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260113195721.151205-5-macroalpha82@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-22 19:26:42 +01:00
Alexey Charkov
79a3286e61 arm64: dts: rockchip: Explicitly request UFS reset pin on RK3576
Rockchip RK3576 UFS controller uses a dedicated pin to reset the connected
UFS device, which can operate either in a hardware controlled mode or as a
GPIO pin.

Power-on default is GPIO mode, but the boot ROM reconfigures it to a
hardware controlled mode if it uses UFS to load the next boot stage.

Given that existing bindings (and rk3576.dtsi) expect a GPIO-controlled
device reset, request the required pin config explicitly.

The pin is requested with pull-down enabled, which is in line with the
SoC power-on default and helps ensure that the attached UFS chip stays
in reset until the driver takes over the control of the respective
GPIO line.

This doesn't appear to affect Linux, but it does affect U-boot:

Before:
=> md.l 0x2604b398
2604b398: 00000011 00000000 00000000 00000000  ................
< ... snip ... >
=> ufs init
ufshcd-rockchip ufshc@2a2d0000: [RX, TX]: gear=[3, 3], lane[2, 2], pwr[FASTAUTO_MODE, FASTAUTO_MODE], rate = 2
=> md.l 0x2604b398
2604b398: 00000011 00000000 00000000 00000000  ................

After:
=> md.l 0x2604b398
2604b398: 00000011 00000000 00000000 00000000  ................
< ... snip ...>
=> ufs init
ufshcd-rockchip ufshc@2a2d0000: [RX, TX]: gear=[3, 3], lane[2, 2], pwr[FASTAUTO_MODE, FASTAUTO_MODE], rate = 2
=> md.l 0x2604b398
2604b398: 00000010 00000000 00000000 00000000  ................

(0x2604b398 is the respective pin mux register, with its BIT0 driving the
mode of UFS_RST: unset = GPIO, set = hardware controlled UFS_RST)

This helps ensure that GPIO-driven device reset actually fires when the
system requests it, not when whatever black box magic inside the UFSHC
decides to reset the flash chip.

Cc: stable@vger.kernel.org
Fixes: c75e5e010f ("scsi: arm64: dts: rockchip: Add UFS support for RK3576 SoC")
Reported-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://patch.msgid.link/20260121-ufs-rst-v3-1-35839bcb4ca7@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-22 18:59:56 +01:00
Andreas Kemnade
f1ebfaeee3 arm64: dts: rockchip: Add TPS65185 for PineNote
As the TPS65185 driver is now upsteram, add it to the PineNote devietrees.
This is based on https://ayakael.net/forge/linux-pinenote but modified to
the binding requirements.
Without any other out-of-tree materials applied, this enables the
hwmon temperature reporting and the interrupt counter increments
by one per reading.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Link: https://patch.msgid.link/20260121-rk-tps-v1-1-bc867e1dd200@kemnade.info
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-22 18:58:42 +01:00
Jun Yan
b18247f9da arm64: dts: rockchip: Do not enable hdmi_sound node on Pinebook Pro
Remove the redundant enabling of the hdmi_sound node in the Pinebook Pro
board dts file, because the HDMI output is unused on this device. [1][2]

This change also eliminates the following kernel log warning, which is
caused by the unenabled dependent node of hdmi_sound that ultimately
results in the node's probe failure:

  platform hdmi-sound: deferred probe pending: asoc-simple-card: parse error

[1] https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf
[2] https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf

Cc: stable@vger.kernel.org
Fixes: 5a65505a69 ("arm64: dts: rockchip: Add initial support for Pinebook Pro")
Signed-off-by: Jun Yan <jerrysteve1101@gmail.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
Link: https://patch.msgid.link/20260116151253.9223-1-jerrysteve1101@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-20 10:09:55 +01:00
Luis Garcia
6742b99816 arm64: dts: rockchip: Fix imx258 variant on pinephone pro
imx258 had the driver updated a while back and it introduced
two variants, the imx258 and imx258-pdaf. The pinephone pro
is using the pdaf variant so this switches it to the correct
variant and eliminates the pdaf pixels from the sensor output
resulting in a much cleaner image.

Signed-off-by: Luis Garcia <git@luigi311.com>
Link: https://patch.msgid.link/20260119010633.3447863-1-git@luigi311.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-20 10:08:19 +01:00
Heiko Stuebner
7f43ac104a arm64: dts: rockchip: Add the Video-Demo overlay for Lion Haikou
The video-demo adapter also works on the Lion SoM when running
on a Haikou baseboard, so add an overlay for it.

Tested-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Link: https://patch.msgid.link/20260114230707.4175162-6-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-16 14:47:29 +01:00
Heiko Stuebner
f03f3e0a77 arm64: dts: rockchip: Enable pwm1 on rk3368-lion-haikou
The pwm1 is exposed as BLT_CTRL signal on the MISC I/O pin header of the
haikou baseboard and the Qseven  standard specifies this signal is only
for PWM (either for a panel backlight or generic PWM).

So enable it in the Haikou baseboard for Lion.

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/20260114230707.4175162-5-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-16 14:47:29 +01:00
Heiko Stuebner
385430244e arm64: dts: rockchip: Enable HDMI output on RK3368-Lion-Haikou
Enable the VOP and HDMI controller on the Lion-Haikou board.

Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Link: https://patch.msgid.link/20260114230707.4175162-4-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-16 14:47:29 +01:00
Heiko Stuebner
6d60168c6d arm64: dts: rockchip: Add HDMI node to RK3368
Add the HDMI controller node to the main SoC devicetree and hook
it into the VOP.

Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Link: https://patch.msgid.link/20260114230707.4175162-3-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-16 14:47:28 +01:00
Heiko Stuebner
4f3df9abf4 arm64: dts: rockchip: Use phandle for i2c_lvds_blc on rk3368-lion haikou
i2c@0 on i2cmux2 does already have a phandle i2c_lvds_blc defined.

Use this one instead of replicating the hierarchy again, as this might
result in strange errors if the lion dtsi is changed at some point
in the future.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Link: https://patch.msgid.link/20260114230707.4175162-2-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2026-01-16 14:47:28 +01:00
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