* [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support
@ 2026-07-31 14:09 Mikhail Bessonov
2026-07-31 14:09 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 1/2] config: enable PSCI idle and additional 8250 UARTs Mikhail Bessonov
` (2 more replies)
0 siblings, 3 replies; 15+ messages in thread
From: Mikhail Bessonov @ 2026-07-31 14:09 UTC (permalink / raw)
To: devel-kernel
Add initial support for the RK3588-based Repka Pi 5 to the ALT Linux
kernel-image-6.18 package.
Patch 1 enables the generic and ARM64 configuration options required to
expose UART9 and use PSCI CPU idle states. Patch 2 adds the board device
tree and registers its DTB in the Rockchip build.
The series was tested on a Repka Pi 5 with kernel 6.18.40-alt1. Boot,
Ethernet, HDMI, SDIO Wi-Fi and UART Bluetooth were exercised. The AIC8801
controller registered as Bluetooth 5.2, completed BR/EDR and LE discovery,
and reported no RX or TX errors. No related Oops or kernel panic was
observed. Testing was performed without KASAN.
This is a downstream ALT series restricted to config, config-aarch64 and
the Rockchip DTS files. The repka,pi5 compatible and the repka vendor
prefix are not yet documented in upstream DT schemas. A future upstream
submission must add those bindings before the DTS patch.
Mikhail Bessonov (2):
config: enable PSCI idle and additional 8250 UARTs
arm64: dts: rockchip: add Repka Pi 5 board
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../boot/dts/rockchip/rk3588-repka-pi5.dts | 773 ++++++++++++++++++
config | 2 +-
config-aarch64 | 2 +-
4 files changed, 776 insertions(+), 2 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
base-commit: 9f5b467564e4caa741e1cae66e39acfd2a798ac9
--
2.55.0
^ permalink raw reply [flat|nested] 15+ messages in thread
* [d-kernel] [PATCH kernel-image-6.18/sisyphus 1/2] config: enable PSCI idle and additional 8250 UARTs
2026-07-31 14:09 [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support Mikhail Bessonov
@ 2026-07-31 14:09 ` Mikhail Bessonov
2026-08-03 9:45 ` Ivan A. Melnikov
2026-08-03 17:45 ` Ivan A. Melnikov
2026-07-31 14:09 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 2/2] arm64: dts: rockchip: add Repka Pi 5 board Mikhail Bessonov
2026-08-05 13:43 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support Ivan A. Melnikov
2 siblings, 2 replies; 15+ messages in thread
From: Mikhail Bessonov @ 2026-07-31 14:09 UTC (permalink / raw)
To: devel-kernel
The RK3588 serial aliases expose the Repka Pi 5 Bluetooth controller as
serial9. The current runtime limit only creates ttyS0 through ttyS7,
leaving ttyS9 unavailable even when UART9 is enabled in the device tree.
Raise the runtime 8250 limit to 16 while keeping the maximum at 192.
Enable the ARM PSCI CPU idle driver so RK3588 CPUs can use
firmware-described idle states.
Keep the platform-independent serial setting in config and the
ARM64-specific idle setting in config-aarch64.
Signed-off-by: Mikhail Bessonov <heliumium1997@gmail.com>
---
config | 2 +-
config-aarch64 | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/config b/config
index 20abb3e74..91856585b 100644
--- a/config
+++ b/config
@@ -4354,7 +4354,7 @@ CONFIG_SERIAL_8250_EXAR=y
CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_MEN_MCB is not set
CONFIG_SERIAL_8250_NR_UARTS=192
-CONFIG_SERIAL_8250_RUNTIME_UARTS=8
+CONFIG_SERIAL_8250_RUNTIME_UARTS=16
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
diff --git a/config-aarch64 b/config-aarch64
index 8a73a3fa4..5ae5e0146 100644
--- a/config-aarch64
+++ b/config-aarch64
@@ -131,7 +131,7 @@ CONFIG_CPU_PM=y
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
CONFIG_DT_IDLE_STATES=y
CONFIG_ARM_CPUIDLE=y
-# CONFIG_ARM_PSCI_CPUIDLE is not set
+CONFIG_ARM_PSCI_CPUIDLE=y
CONFIG_CPUFREQ_DT=m
CONFIG_CPUFREQ_DT_PLATDEV=y
CONFIG_ACPI_CPPC_CPUFREQ=m
--
2.55.0
^ permalink raw reply [flat|nested] 15+ messages in thread
* [d-kernel] [PATCH kernel-image-6.18/sisyphus 2/2] arm64: dts: rockchip: add Repka Pi 5 board
2026-07-31 14:09 [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support Mikhail Bessonov
2026-07-31 14:09 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 1/2] config: enable PSCI idle and additional 8250 UARTs Mikhail Bessonov
@ 2026-07-31 14:09 ` Mikhail Bessonov
2026-08-04 14:02 ` Ivan A. Melnikov
2026-08-05 13:43 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support Ivan A. Melnikov
2 siblings, 1 reply; 15+ messages in thread
From: Mikhail Bessonov @ 2026-07-31 14:09 UTC (permalink / raw)
To: devel-kernel
ALT Linux has no in-tree device tree for the RK3588-based Repka Pi 5.
Installations therefore depend on a separately supplied vendor DTB and
cannot receive the complete board description with normal kernel updates.
Use the vendor Repka OS board description as the hardware reference:
https://gitflic.ru/project/npo_rbs/repka-os_linux-rockchip
Adapt the description to the interfaces available in mainline 6.18.
Add the board device tree with its regulators, storage controllers,
Ethernet, HDMI, USB, analog audio, cooling fan, SDIO Wi-Fi and UART9
Bluetooth connection. Register the resulting DTB in the Rockchip build.
Tested on Repka Pi 5 with kernel 6.18.40-alt1. The board boots
successfully, Ethernet and HDMI operate, Wi-Fi remains connected, and the
UART Bluetooth controller registers as an error-free Bluetooth 5.2 HCI
device.
Signed-off-by: Mikhail Bessonov <heliumium1997@gmail.com>
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../boot/dts/rockchip/rk3588-repka-pi5.dts | 773 ++++++++++++++++++
2 files changed, 774 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index ad684e383..ae12dc2ef 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -181,6 +181,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-max.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-plus.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-ultra.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-quartzpro64.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-repka-pi5.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-roc-rt.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5-itx.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts b/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
new file mode 100644
index 000000000..4e4207108
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
@@ -0,0 +1,773 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/soc/rockchip,vop2.h>
+#include "rk3588.dtsi"
+
+/ {
+ model = "Repka Pi 5";
+ compatible = "repka,pi5", "rockchip,rk3588";
+
+ aliases {
+ ethernet0 = &gmac1;
+ mmc0 = &sdmmc;
+ mmc1 = &sdhci;
+ mmc2 = &sdio;
+ };
+
+ chosen {
+ stdout-path = "serial2:1500000n8";
+ };
+
+ analog_sound: analog-sound {
+ compatible = "simple-audio-card";
+ pinctrl-names = "default";
+ pinctrl-0 = <&hp_det>;
+ simple-audio-card,name = "Repka Pi 5 ES8388";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,hp-det-gpios =
+ <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,routing =
+ "Headphones", "LOUT1",
+ "Headphones", "ROUT1",
+ "LINPUT1", "Headset Mic",
+ "RINPUT1", "Headset Mic";
+ simple-audio-card,widgets =
+ "Headphone", "Headphones",
+ "Microphone", "Headset Mic";
+
+ simple-audio-card,cpu {
+ sound-dai = <&i2s0_8ch>;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&es8388>;
+ system-clock-frequency = <12288000>;
+ };
+ };
+
+ hdmi0_con: hdmi0-connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi0_con_in: endpoint {
+ remote-endpoint = <&hdmi0_out_con>;
+ };
+ };
+ };
+
+ fan: pwm-fan {
+ compatible = "pwm-fan";
+ cooling-levels = <0 80 120 180 255>;
+ fan-supply = <&vcc5v0_sys>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <RK_PA7 IRQ_TYPE_EDGE_FALLING>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&fan_tach>;
+ pulses-per-revolution = <2>;
+ pwms = <&pwm13 0 40000 0>;
+ #cooling-cells = <2>;
+ };
+
+ vcc5v0_sys: regulator-vcc5v0-sys {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc5v0_sys";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ vcc5v0_usb: regulator-vcc5v0-usb {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc5v0_usb";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&vcc5v0_sys>;
+ };
+
+ sdio_pwrseq: sdio-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_enable_h>;
+ post-power-on-delay-ms = <200>;
+ reset-gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&combphy2_psu {
+ status = "okay";
+};
+
+&cpu_l0 {
+ cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&cpu_l1 {
+ cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&cpu_l2 {
+ cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&cpu_l3 {
+ cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&gmac1 {
+ clock_in_out = "output";
+ phy-handle = <&rgmii_phy1>;
+ /* The PCB adds no RX clock delay; let the PHY add it. */
+ phy-mode = "rgmii-rxid";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gmac1_miim
+ &gmac1_tx_bus2
+ &gmac1_rx_bus2
+ &gmac1_rgmii_clk
+ &gmac1_rgmii_bus>;
+ rx_delay = <0x00>;
+ tx_delay = <0x42>;
+ status = "okay";
+};
+
+&gpu {
+ mali-supply = <&vdd_gpu_s0>;
+ status = "okay";
+};
+
+&hdmi0 {
+ status = "okay";
+};
+
+&hdmi0_in {
+ hdmi0_in_vp0: endpoint {
+ remote-endpoint = <&vp0_out_hdmi0>;
+ };
+};
+
+&hdmi0_out {
+ hdmi0_out_con: endpoint {
+ remote-endpoint = <&hdmi0_con_in>;
+ };
+};
+
+&hdmi0_sound {
+ status = "okay";
+};
+
+&hdptxphy0 {
+ status = "okay";
+};
+
+&i2c3 {
+ clock-frequency = <400000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c3m0_xfer>;
+ status = "okay";
+
+ es8388: audio-codec@11 {
+ compatible = "everest,es8388", "everest,es8328";
+ reg = <0x11>;
+ AVDD-supply = <&vcc_3v3_s0>;
+ DVDD-supply = <&vcc_1v8_s0>;
+ HPVDD-supply = <&vcc_3v3_s0>;
+ PVDD-supply = <&vcc_1v8_s0>;
+ clocks = <&cru I2S0_8CH_MCLKOUT>;
+ assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
+ assigned-clock-rates = <12288000>;
+ #sound-dai-cells = <0>;
+ };
+};
+
+&i2c6 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c6m0_xfer>;
+ status = "okay";
+
+ hym8563: rtc@51 {
+ compatible = "haoyu,hym8563";
+ reg = <0x51>;
+ #clock-cells = <0>;
+ clock-output-names = "hym8563";
+ interrupt-parent = <&gpio0>;
+ interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&hym8563_int>;
+ status = "okay";
+ };
+};
+
+&i2s0_8ch {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s0_lrck
+ &i2s0_mclk
+ &i2s0_sclk
+ &i2s0_sdi0
+ &i2s0_sdo0>;
+ status = "okay";
+};
+
+&i2s5_8ch {
+ status = "okay";
+};
+
+&mdio1 {
+ rgmii_phy1: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ reset-assert-us = <20000>;
+ reset-deassert-us = <100000>;
+ reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&package_thermal {
+ polling-delay = <1000>;
+
+ trips {
+ package_fan0: package-fan0 {
+ temperature = <55000>;
+ hysteresis = <2000>;
+ type = "active";
+ };
+
+ package_fan1: package-fan1 {
+ temperature = <65000>;
+ hysteresis = <2000>;
+ type = "active";
+ };
+ };
+
+ cooling-maps {
+ map0 {
+ cooling-device = <&fan THERMAL_NO_LIMIT 1>;
+ trip = <&package_fan0>;
+ };
+
+ map1 {
+ cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
+ trip = <&package_fan1>;
+ };
+ };
+};
+
+&pinctrl {
+ fan {
+ fan_tach: fan-tach {
+ rockchip,pins = <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+
+ hym8563 {
+ hym8563_int: hym8563-int {
+ rockchip,pins =
+ <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+
+ sound {
+ hp_det: hp-det {
+ rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ wifi {
+ wifi_enable_h: wifi-enable-h {
+ rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+};
+
+&pwm13 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm13m1_pins>;
+ status = "okay";
+};
+
+&saradc {
+ vref-supply = <&vcc_1v8_s0>;
+ status = "okay";
+};
+
+&sdhci {
+ bus-width = <8>;
+ cap-mmc-highspeed;
+ max-frequency = <200000000>;
+ mmc-hs200-1_8v;
+ mmc-hs400-1_8v;
+ mmc-hs400-enhanced-strobe;
+ no-sd;
+ no-sdio;
+ non-removable;
+ vmmc-supply = <&vcc_3v3_s3>;
+ vqmmc-supply = <&vcc_1v8_s3>;
+ status = "okay";
+};
+
+&sdio {
+ bus-width = <4>;
+ cap-sd-highspeed;
+ cap-sdio-irq;
+ disable-wp;
+ keep-power-in-suspend;
+ max-frequency = <25000000>;
+ mmc-pwrseq = <&sdio_pwrseq>;
+ no-mmc;
+ no-sd;
+ non-removable;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdiom0_pins>;
+ wakeup-source;
+ status = "okay";
+};
+
+&sdmmc {
+ broken-cd;
+ bus-width = <4>;
+ cap-sd-highspeed;
+ disable-wp;
+ max-frequency = <50000000>;
+ no-mmc;
+ no-sdio;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
+ vmmc-supply = <&vcc_3v3_s3>;
+ vqmmc-supply = <&vccio_sd_s0>;
+ status = "okay";
+};
+
+&spi2 {
+ assigned-clocks = <&cru CLK_SPI2>;
+ assigned-clock-rates = <200000000>;
+ num-cs = <1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
+ status = "okay";
+
+ pmic@0 {
+ compatible = "rockchip,rk806";
+ reg = <0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
+ <&rk806_dvs2_null>, <&rk806_dvs3_null>;
+ spi-max-frequency = <1000000>;
+ system-power-controller;
+
+ vcc1-supply = <&vcc5v0_sys>;
+ vcc2-supply = <&vcc5v0_sys>;
+ vcc3-supply = <&vcc5v0_sys>;
+ vcc4-supply = <&vcc5v0_sys>;
+ vcc5-supply = <&vcc5v0_sys>;
+ vcc6-supply = <&vcc5v0_sys>;
+ vcc7-supply = <&vcc5v0_sys>;
+ vcc8-supply = <&vcc5v0_sys>;
+ vcc9-supply = <&vcc5v0_sys>;
+ vcc10-supply = <&vcc5v0_sys>;
+ vcc11-supply = <&vcc_2v0_pldo_s3>;
+ vcc12-supply = <&vcc5v0_sys>;
+ vcc13-supply = <&vdd2_ddr_s3>;
+ vcc14-supply = <&vdd2_ddr_s3>;
+ vcca-supply = <&vcc5v0_sys>;
+
+ rk806_dvs1_null: dvs1-null-pins {
+ pins = "gpio_pwrctrl1";
+ function = "pin_fun0";
+ };
+
+ rk806_dvs2_null: dvs2-null-pins {
+ pins = "gpio_pwrctrl2";
+ function = "pin_fun0";
+ };
+
+ rk806_dvs3_null: dvs3-null-pins {
+ pins = "gpio_pwrctrl3";
+ function = "pin_fun0";
+ };
+
+ regulators {
+ vdd_gpu_s0: dcdc-reg1 {
+ regulator-name = "vdd_gpu_s0";
+ regulator-boot-on;
+ regulator-enable-ramp-delay = <400>;
+ regulator-min-microvolt = <550000>;
+ regulator-max-microvolt = <950000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_cpu_lit_s0: dcdc-reg2 {
+ regulator-name = "vdd_cpu_lit_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <550000>;
+ regulator-max-microvolt = <950000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_log_s0: dcdc-reg3 {
+ regulator-name = "vdd_log_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <675000>;
+ regulator-max-microvolt = <825000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <750000>;
+ };
+ };
+
+ vdd_vdenc_s0: dcdc-reg4 {
+ regulator-name = "vdd_vdenc_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <550000>;
+ regulator-max-microvolt = <825000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_ddr_s0: dcdc-reg5 {
+ regulator-name = "vdd_ddr_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <675000>;
+ regulator-max-microvolt = <900000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <850000>;
+ };
+ };
+
+ vdd2_ddr_s3: dcdc-reg6 {
+ regulator-name = "vdd2_ddr_s3";
+ regulator-always-on;
+ regulator-boot-on;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ };
+ };
+
+ vcc_2v0_pldo_s3: dcdc-reg7 {
+ regulator-name = "vdd_2v0_pldo_s3";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <2000000>;
+ regulator-max-microvolt = <2000000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <2000000>;
+ };
+ };
+
+ vcc_3v3_s3: dcdc-reg8 {
+ regulator-name = "vcc_3v3_s3";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <3300000>;
+ };
+ };
+
+ vddq_ddr_s0: dcdc-reg9 {
+ regulator-name = "vddq_ddr_s0";
+ regulator-always-on;
+ regulator-boot-on;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vcc_1v8_s3: dcdc-reg10 {
+ regulator-name = "vcc_1v8_s3";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ avcc_1v8_s0: pldo-reg1 {
+ regulator-name = "avcc_1v8_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vcc_1v8_s0: pldo-reg2 {
+ regulator-name = "vcc_1v8_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ avdd_1v2_s0: pldo-reg3 {
+ regulator-name = "avdd_1v2_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vcc_3v3_s0: pldo-reg4 {
+ regulator-name = "vcc_3v3_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vccio_sd_s0: pldo-reg5 {
+ regulator-name = "vccio_sd_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ pldo6_s3: pldo-reg6 {
+ regulator-name = "pldo6_s3";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vdd_0v75_s3: nldo-reg1 {
+ regulator-name = "vdd_0v75_s3";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <750000>;
+ regulator-max-microvolt = <750000>;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <750000>;
+ };
+ };
+
+ vdd_ddr_pll_s0: nldo-reg2 {
+ regulator-name = "vdd_ddr_pll_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <850000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <850000>;
+ };
+ };
+
+ avdd_0v75_s0: nldo-reg3 {
+ regulator-name = "avdd_0v75_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <825000>;
+ regulator-max-microvolt = <825000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_0v85_s0: nldo-reg4 {
+ regulator-name = "vdd_0v85_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <850000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_0v75_s0: nldo-reg5 {
+ regulator-name = "vdd_0v75_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <750000>;
+ regulator-max-microvolt = <750000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+ };
+ };
+};
+
+&tsadc {
+ status = "okay";
+};
+
+&u2phy0 {
+ status = "okay";
+};
+
+&u2phy0_otg {
+ phy-supply = <&vcc5v0_usb>;
+ status = "okay";
+};
+
+&u2phy1 {
+ status = "okay";
+};
+
+&u2phy1_otg {
+ phy-supply = <&vcc5v0_usb>;
+ status = "okay";
+};
+
+&u2phy2 {
+ status = "okay";
+};
+
+&u2phy2_host {
+ phy-supply = <&vcc5v0_usb>;
+ status = "okay";
+};
+
+&u2phy3 {
+ status = "okay";
+};
+
+&u2phy3_host {
+ phy-supply = <&vcc5v0_usb>;
+ status = "okay";
+};
+
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart2m0_xfer>;
+ status = "okay";
+};
+
+&uart9 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart9m0_xfer &uart9m0_ctsn>;
+ status = "okay";
+};
+
+&usbdp_phy0 {
+ status = "okay";
+};
+
+&usbdp_phy1 {
+ status = "okay";
+};
+
+&usb_host0_ehci {
+ status = "okay";
+};
+
+&usb_host0_ohci {
+ status = "okay";
+};
+
+&usb_host0_xhci {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb_host1_ehci {
+ status = "okay";
+};
+
+&usb_host1_ohci {
+ status = "okay";
+};
+
+&usb_host1_xhci {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb_host2_xhci {
+ status = "okay";
+};
+
+&vop {
+ status = "okay";
+};
+
+&vop_mmu {
+ status = "okay";
+};
+
+&vp0 {
+ vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
+ reg = <ROCKCHIP_VOP2_EP_HDMI0>;
+ remote-endpoint = <&hdmi0_in_vp0>;
+ };
+};
--
2.55.0
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [d-kernel] [PATCH kernel-image-6.18/sisyphus 1/2] config: enable PSCI idle and additional 8250 UARTs
2026-07-31 14:09 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 1/2] config: enable PSCI idle and additional 8250 UARTs Mikhail Bessonov
@ 2026-08-03 9:45 ` Ivan A. Melnikov
2026-08-03 9:59 ` Gleb Fotengauer-Malinovskiy
2026-08-04 14:36 ` Ivan A. Melnikov
2026-08-03 17:45 ` Ivan A. Melnikov
1 sibling, 2 replies; 15+ messages in thread
From: Ivan A. Melnikov @ 2026-08-03 9:45 UTC (permalink / raw)
To: Mikhail Bessonov; +Cc: devel-kernel
On Fri, Jul 31, 2026 at 06:09:29PM +0400, Mikhail Bessonov wrote:
> CONFIG_ARM_CPUIDLE=y
> -# CONFIG_ARM_PSCI_CPUIDLE is not set
> +CONFIG_ARM_PSCI_CPUIDLE=y
Давайте рассмотрим отдельно включение этого конфига. В целом, у
большинства других дистрибутивов он включен, и я не возражаю,
чтобы включить его и у нас, но у меня есть несколько вопросов.
Вопрос 1, к автороу. Это правда необходимо для работы Repka Pi 5, настолько,
что "без этого вообще не работает"?
Вопрос 2, к glebfm@. CONFIG_ARM_PSCI_CPUIDLE был выключен достаточно давно:
https://git.altlinux.org/gears/k/kernel-image-un-def.git?a=commitdiff;h=311d302c9057948fdaa6d05e938449d3de42504a
а в config-armh он выключен с самого начала. Глеб, не вспомнишь, почему?
Вопрос 3, не ясно к кому. Не ломает ли его включение, например, работу
Baikal-M, известного своей своебразной реализацией power management?
Попробую организовать тестирование.
Воброс 4, ко всей аудитории. Драйвер cpuidle-psci работает, в том числе
в ядрах, собранных с PREEMPT_RT. Можем ли мы смело включать его в
kernel-image-rt, возможно, документировав где-то, что при применении этого
ядра для realtime задач нужно поэкспериментировать с параметром ядра
`cpuidle.off=1` и/или `/sys/devices/system/cpu/cpu*/cpuidle/state*/`, или
этот параметр вообще не стоит там включать?
--
wbr,
iv m.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [d-kernel] [PATCH kernel-image-6.18/sisyphus 1/2] config: enable PSCI idle and additional 8250 UARTs
2026-08-03 9:45 ` Ivan A. Melnikov
@ 2026-08-03 9:59 ` Gleb Fotengauer-Malinovskiy
2026-08-04 14:36 ` Ivan A. Melnikov
1 sibling, 0 replies; 15+ messages in thread
From: Gleb Fotengauer-Malinovskiy @ 2026-08-03 9:59 UTC (permalink / raw)
To: Mikhail Bessonov, devel-kernel, Maksim Baltaev
[-- Attachment #1: Type: text/plain, Size: 543 bytes --]
On Mon, Aug 03, 2026 at 01:45:10PM +0400, Ivan A. Melnikov wrote:
> Вопрос 2, к glebfm@. CONFIG_ARM_PSCI_CPUIDLE был выключен достаточно давно:
>
> https://git.altlinux.org/gears/k/kernel-image-un-def.git?a=commitdiff;h=311d302c9057948fdaa6d05e938449d3de42504a
>
> а в config-armh он выключен с самого начала. Глеб, не вспомнишь, почему?
Увы, без шансов вспомнить, что я мог иметь в виду тогда.
--
glebfm
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [d-kernel] [PATCH kernel-image-6.18/sisyphus 1/2] config: enable PSCI idle and additional 8250 UARTs
2026-07-31 14:09 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 1/2] config: enable PSCI idle and additional 8250 UARTs Mikhail Bessonov
2026-08-03 9:45 ` Ivan A. Melnikov
@ 2026-08-03 17:45 ` Ivan A. Melnikov
1 sibling, 0 replies; 15+ messages in thread
From: Ivan A. Melnikov @ 2026-08-03 17:45 UTC (permalink / raw)
To: Mikhail Bessonov; +Cc: devel-kernel
[-- Attachment #1: Type: text/plain, Size: 1015 bytes --]
On Fri, Jul 31, 2026 at 06:09:29PM +0400, Mikhail Bessonov wrote:
> CONFIG_SERIAL_8250_NR_UARTS=192
> -CONFIG_SERIAL_8250_RUNTIME_UARTS=8
> +CONFIG_SERIAL_8250_RUNTIME_UARTS=16
Это значение было поднято с умолчательных 4 до 8 не так давно:
https://git.altlinux.org/gears/k/kernel-image-6.10.git?a=commitdiff;h=886eba6c270d1763112e8eaa250d8dec2f7137fc
И вот опять его надо увеличивать.
Предлагаю увеличить его сразу до 32, как это было сделано в большинстве
дистрибутивов, просто чтобы два раза не бегать. К тому же похоже
на это не ведёт к значимому увеличению потребляемых ресурсов.
Предлагаю применить такое изменение ко всем поддерживаемым
ядрам начиная с 6.18.
--
wbr,
iv m.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 870 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [d-kernel] [PATCH kernel-image-6.18/sisyphus 2/2] arm64: dts: rockchip: add Repka Pi 5 board
2026-07-31 14:09 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 2/2] arm64: dts: rockchip: add Repka Pi 5 board Mikhail Bessonov
@ 2026-08-04 14:02 ` Ivan A. Melnikov
0 siblings, 0 replies; 15+ messages in thread
From: Ivan A. Melnikov @ 2026-08-04 14:02 UTC (permalink / raw)
To: Mikhail Bessonov; +Cc: devel-kernel
[-- Attachment #1: Type: text/plain, Size: 2606 bytes --]
On Fri, Jul 31, 2026 at 06:09:30PM +0400, Mikhail Bessonov wrote:
> ALT Linux has no in-tree device tree for the RK3588-based Repka Pi 5.
> Installations therefore depend on a separately supplied vendor DTB and
> cannot receive the complete board description with normal kernel updates.
>
> Use the vendor Repka OS board description as the hardware reference:
> https://gitflic.ru/project/npo_rbs/repka-os_linux-rockchip
> Adapt the description to the interfaces available in mainline 6.18.
>
> Add the board device tree with its regulators, storage controllers,
> Ethernet, HDMI, USB, analog audio, cooling fan, SDIO Wi-Fi and UART9
> Bluetooth connection. Register the resulting DTB in the Rockchip build.
>
> Tested on Repka Pi 5 with kernel 6.18.40-alt1. The board boots
> successfully, Ethernet and HDMI operate, Wi-Fi remains connected, and the
> UART Bluetooth controller registers as an error-free Bluetooth 5.2 HCI
> device.
>
> Signed-off-by: Mikhail Bessonov <heliumium1997@gmail.com>
> ---
> arch/arm64/boot/dts/rockchip/Makefile | 1 +
> .../boot/dts/rockchip/rk3588-repka-pi5.dts | 773 ++++++++++++++++++
> 2 files changed, 774 insertions(+)
> create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
>
> diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
> index ad684e383..ae12dc2ef 100644
> --- a/arch/arm64/boot/dts/rockchip/Makefile
> +++ b/arch/arm64/boot/dts/rockchip/Makefile
> @@ -181,6 +181,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-max.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-plus.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-ultra.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-quartzpro64.dtb
> +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-repka-pi5.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-roc-rt.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5-itx.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b.dtb
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts b/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
> new file mode 100644
> index 000000000..4e4207108
> --- /dev/null
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
[...]
По оформлению ни у меня, ни у dtc вопросов нет, и в целом всё
выглядит логично. К тому же, если dts работает -- а она работает,
я видел -- то она скорее всего хороша.
Reviewed-by: Ivan A. Melnikov <iv@altlinux.org>
--
wbr,
iv m.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 870 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [d-kernel] [PATCH kernel-image-6.18/sisyphus 1/2] config: enable PSCI idle and additional 8250 UARTs
2026-08-03 9:45 ` Ivan A. Melnikov
2026-08-03 9:59 ` Gleb Fotengauer-Malinovskiy
@ 2026-08-04 14:36 ` Ivan A. Melnikov
1 sibling, 0 replies; 15+ messages in thread
From: Ivan A. Melnikov @ 2026-08-04 14:36 UTC (permalink / raw)
To: Mikhail Bessonov, devel-kernel, Maksim Baltaev
On Mon, Aug 03, 2026 at 01:45:10PM +0400, Ivan A. Melnikov wrote:
> Вопрос 3, не ясно к кому. Не ломает ли его включение, например, работу
> Baikal-M, известного своей своебразной реализацией power management?
> Попробую организовать тестирование.
Данил Гнусарев проверил на Baikal-M ядро с включенным CONFIG_ARM_PSCI_CPUIDLE,
ничего плохого замечено не было.
> Воброс 4, ко всей аудитории. Драйвер cpuidle-psci работает, в том числе
> в ядрах, собранных с PREEMPT_RT. Можем ли мы смело включать его в
> kernel-image-rt, возможно, документировав где-то, что при применении этого
> ядра для realtime задач нужно поэкспериментировать с параметром ядра
> `cpuidle.off=1` и/или `/sys/devices/system/cpu/cpu*/cpuidle/state*/`, или
> этот параметр вообще не стоит там включать?
Думаю, включить и документировать -- правильный подход, тем более что наши
kernel-image-rt пока не перешли на 6.18+. Я вынес контент, связаный
с kernel-image-rt c https://www.altlinux.org/Realtime на отдельную
страницу, https://www.altlinux.org/Kernel-image-rt. Думаю там уместно
будет написать рекомендации по настройке, в том числе и эту.
--
wbr,
iv m.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support
2026-07-31 14:09 [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support Mikhail Bessonov
2026-07-31 14:09 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 1/2] config: enable PSCI idle and additional 8250 UARTs Mikhail Bessonov
2026-07-31 14:09 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 2/2] arm64: dts: rockchip: add Repka Pi 5 board Mikhail Bessonov
@ 2026-08-05 13:43 ` Ivan A. Melnikov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 0/3] " Mikhail Bessonov
` (3 more replies)
2 siblings, 4 replies; 15+ messages in thread
From: Ivan A. Melnikov @ 2026-08-05 13:43 UTC (permalink / raw)
To: Mikhail Bessonov; +Cc: devel-kernel
On Fri, Jul 31, 2026 at 06:09:28PM +0400, Mikhail Bessonov wrote:
> Add initial support for the RK3588-based Repka Pi 5 to the ALT Linux
> kernel-image-6.18 package.
[...]
Попробуем подытожить.
> Mikhail Bessonov (2):
> config: enable PSCI idle and additional 8250 UARTs
Этот патч в текущем виде я забирать не хочу.
Этот патч предлагает два независимых изменения. Хотелось
бы чтобы это были два отдельных патча, это было бы удобнее.
Также я предлагаю применить эти изменения и в 7.1/sisyphus
и выставить CONFIG_SERIAL_8250_NR_UARTS в 32.
> arm64: dts: rockchip: add Repka Pi 5 board
Я могу забрать этот патч отсюда или, если изменения в конфигурации
так необходимы для работы Repka Pi 5, подождать v2.
Прошу прощения за медленное review. Я пока осваиваюсь, дальше
будет быстрее.
--
wbr,
iv m.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [d-kernel] [PATCH v3 0/3] add Repka Pi 5 support
2026-08-05 13:43 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support Ivan A. Melnikov
@ 2026-08-06 11:26 ` Mikhail Bessonov
2026-08-06 12:29 ` Ivan A. Melnikov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 1/3] config: increase 8250 runtime UARTs to 32 Mikhail Bessonov
` (2 subsequent siblings)
3 siblings, 1 reply; 15+ messages in thread
From: Mikhail Bessonov @ 2026-08-06 11:26 UTC (permalink / raw)
To: devel-kernel; +Cc: Mikhail Bessonov
v3 changes:
- Add missing Signed-off-by tags to patches where they were accidentally omitted.
v2 changes:
- Split the monolithic config patch into two independent atomic commits.
- Raised CONFIG_SERIAL_8250_RUNTIME_UARTS immediately to 32 as suggested by Ivan.
Mikhail Bessonov (3):
config: increase 8250 runtime UARTs to 32
config-aarch64: enable ARM PSCI CPU idle driver
arm64: dts: rockchip: add Repka Pi 5 board
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../boot/dts/rockchip/rk3588-repka-pi5.dts | 773 ++++++++++++++++++
config | 2 +-
config-aarch64 | 2 +-
4 files changed, 776 insertions(+), 2 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
--
2.50.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [d-kernel] [PATCH v3 1/3] config: increase 8250 runtime UARTs to 32
2026-08-05 13:43 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support Ivan A. Melnikov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 0/3] " Mikhail Bessonov
@ 2026-08-06 11:26 ` Mikhail Bessonov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 2/3] config-aarch64: enable ARM PSCI CPU idle driver Mikhail Bessonov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 3/3] arm64: dts: rockchip: add Repka Pi 5 board Mikhail Bessonov
3 siblings, 0 replies; 15+ messages in thread
From: Mikhail Bessonov @ 2026-08-06 11:26 UTC (permalink / raw)
To: devel-kernel; +Cc: Mikhail Bessonov
The RK3588 serial aliases expose the Repka Pi 5 Bluetooth controller as
serial9. The current runtime limit only creates ttyS0 through ttyS7,
leaving ttyS9 unavailable even when UART9 is enabled in the device tree.
Raise the runtime 8250 limit to 32 while keeping the maximum at 192.
Signed-off-by: Mikhail Bessonov <heliumium1997@gmail.com>
---
config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config b/config
index 20abb3e74805..155d40a49d13 100644
--- a/config
+++ b/config
@@ -4354,7 +4354,7 @@ CONFIG_SERIAL_8250_EXAR=y
CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_MEN_MCB is not set
CONFIG_SERIAL_8250_NR_UARTS=192
-CONFIG_SERIAL_8250_RUNTIME_UARTS=8
+CONFIG_SERIAL_8250_RUNTIME_UARTS=32
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
--
2.50.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [d-kernel] [PATCH v3 2/3] config-aarch64: enable ARM PSCI CPU idle driver
2026-08-05 13:43 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support Ivan A. Melnikov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 0/3] " Mikhail Bessonov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 1/3] config: increase 8250 runtime UARTs to 32 Mikhail Bessonov
@ 2026-08-06 11:26 ` Mikhail Bessonov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 3/3] arm64: dts: rockchip: add Repka Pi 5 board Mikhail Bessonov
3 siblings, 0 replies; 15+ messages in thread
From: Mikhail Bessonov @ 2026-08-06 11:26 UTC (permalink / raw)
To: devel-kernel; +Cc: Mikhail Bessonov
Enable the ARM PSCI CPU idle driver so RK3588 CPUs can use
firmware-described idle states.
Signed-off-by: Mikhail Bessonov <heliumium1997@gmail.com>
---
config-aarch64 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config-aarch64 b/config-aarch64
index 8a73a3fa40b7..5ae5e0146448 100644
--- a/config-aarch64
+++ b/config-aarch64
@@ -131,7 +131,7 @@ CONFIG_CPU_PM=y
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
CONFIG_DT_IDLE_STATES=y
CONFIG_ARM_CPUIDLE=y
-# CONFIG_ARM_PSCI_CPUIDLE is not set
+CONFIG_ARM_PSCI_CPUIDLE=y
CONFIG_CPUFREQ_DT=m
CONFIG_CPUFREQ_DT_PLATDEV=y
CONFIG_ACPI_CPPC_CPUFREQ=m
--
2.50.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [d-kernel] [PATCH v3 3/3] arm64: dts: rockchip: add Repka Pi 5 board
2026-08-05 13:43 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support Ivan A. Melnikov
` (2 preceding siblings ...)
2026-08-06 11:26 ` [d-kernel] [PATCH v3 2/3] config-aarch64: enable ARM PSCI CPU idle driver Mikhail Bessonov
@ 2026-08-06 11:26 ` Mikhail Bessonov
2026-08-06 12:20 ` Ivan A. Melnikov
3 siblings, 1 reply; 15+ messages in thread
From: Mikhail Bessonov @ 2026-08-06 11:26 UTC (permalink / raw)
To: devel-kernel; +Cc: Mikhail Bessonov
Signed-off-by: Mikhail Bessonov <heliumium1997@gmail.com>
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../boot/dts/rockchip/rk3588-repka-pi5.dts | 773 ++++++++++++++++++
2 files changed, 774 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index ad684e3831bc..ae12dc2ef75a 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -181,6 +181,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-max.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-plus.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-ultra.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-quartzpro64.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-repka-pi5.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-roc-rt.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5-itx.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts b/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
new file mode 100644
index 000000000000..4e4207108dbf
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
@@ -0,0 +1,773 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/soc/rockchip,vop2.h>
+#include "rk3588.dtsi"
+
+/ {
+ model = "Repka Pi 5";
+ compatible = "repka,pi5", "rockchip,rk3588";
+
+ aliases {
+ ethernet0 = &gmac1;
+ mmc0 = &sdmmc;
+ mmc1 = &sdhci;
+ mmc2 = &sdio;
+ };
+
+ chosen {
+ stdout-path = "serial2:1500000n8";
+ };
+
+ analog_sound: analog-sound {
+ compatible = "simple-audio-card";
+ pinctrl-names = "default";
+ pinctrl-0 = <&hp_det>;
+ simple-audio-card,name = "Repka Pi 5 ES8388";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,hp-det-gpios =
+ <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,routing =
+ "Headphones", "LOUT1",
+ "Headphones", "ROUT1",
+ "LINPUT1", "Headset Mic",
+ "RINPUT1", "Headset Mic";
+ simple-audio-card,widgets =
+ "Headphone", "Headphones",
+ "Microphone", "Headset Mic";
+
+ simple-audio-card,cpu {
+ sound-dai = <&i2s0_8ch>;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&es8388>;
+ system-clock-frequency = <12288000>;
+ };
+ };
+
+ hdmi0_con: hdmi0-connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi0_con_in: endpoint {
+ remote-endpoint = <&hdmi0_out_con>;
+ };
+ };
+ };
+
+ fan: pwm-fan {
+ compatible = "pwm-fan";
+ cooling-levels = <0 80 120 180 255>;
+ fan-supply = <&vcc5v0_sys>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <RK_PA7 IRQ_TYPE_EDGE_FALLING>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&fan_tach>;
+ pulses-per-revolution = <2>;
+ pwms = <&pwm13 0 40000 0>;
+ #cooling-cells = <2>;
+ };
+
+ vcc5v0_sys: regulator-vcc5v0-sys {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc5v0_sys";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ vcc5v0_usb: regulator-vcc5v0-usb {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc5v0_usb";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&vcc5v0_sys>;
+ };
+
+ sdio_pwrseq: sdio-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_enable_h>;
+ post-power-on-delay-ms = <200>;
+ reset-gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&combphy2_psu {
+ status = "okay";
+};
+
+&cpu_l0 {
+ cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&cpu_l1 {
+ cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&cpu_l2 {
+ cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&cpu_l3 {
+ cpu-supply = <&vdd_cpu_lit_s0>;
+};
+
+&gmac1 {
+ clock_in_out = "output";
+ phy-handle = <&rgmii_phy1>;
+ /* The PCB adds no RX clock delay; let the PHY add it. */
+ phy-mode = "rgmii-rxid";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gmac1_miim
+ &gmac1_tx_bus2
+ &gmac1_rx_bus2
+ &gmac1_rgmii_clk
+ &gmac1_rgmii_bus>;
+ rx_delay = <0x00>;
+ tx_delay = <0x42>;
+ status = "okay";
+};
+
+&gpu {
+ mali-supply = <&vdd_gpu_s0>;
+ status = "okay";
+};
+
+&hdmi0 {
+ status = "okay";
+};
+
+&hdmi0_in {
+ hdmi0_in_vp0: endpoint {
+ remote-endpoint = <&vp0_out_hdmi0>;
+ };
+};
+
+&hdmi0_out {
+ hdmi0_out_con: endpoint {
+ remote-endpoint = <&hdmi0_con_in>;
+ };
+};
+
+&hdmi0_sound {
+ status = "okay";
+};
+
+&hdptxphy0 {
+ status = "okay";
+};
+
+&i2c3 {
+ clock-frequency = <400000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c3m0_xfer>;
+ status = "okay";
+
+ es8388: audio-codec@11 {
+ compatible = "everest,es8388", "everest,es8328";
+ reg = <0x11>;
+ AVDD-supply = <&vcc_3v3_s0>;
+ DVDD-supply = <&vcc_1v8_s0>;
+ HPVDD-supply = <&vcc_3v3_s0>;
+ PVDD-supply = <&vcc_1v8_s0>;
+ clocks = <&cru I2S0_8CH_MCLKOUT>;
+ assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
+ assigned-clock-rates = <12288000>;
+ #sound-dai-cells = <0>;
+ };
+};
+
+&i2c6 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c6m0_xfer>;
+ status = "okay";
+
+ hym8563: rtc@51 {
+ compatible = "haoyu,hym8563";
+ reg = <0x51>;
+ #clock-cells = <0>;
+ clock-output-names = "hym8563";
+ interrupt-parent = <&gpio0>;
+ interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&hym8563_int>;
+ status = "okay";
+ };
+};
+
+&i2s0_8ch {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s0_lrck
+ &i2s0_mclk
+ &i2s0_sclk
+ &i2s0_sdi0
+ &i2s0_sdo0>;
+ status = "okay";
+};
+
+&i2s5_8ch {
+ status = "okay";
+};
+
+&mdio1 {
+ rgmii_phy1: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ reset-assert-us = <20000>;
+ reset-deassert-us = <100000>;
+ reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&package_thermal {
+ polling-delay = <1000>;
+
+ trips {
+ package_fan0: package-fan0 {
+ temperature = <55000>;
+ hysteresis = <2000>;
+ type = "active";
+ };
+
+ package_fan1: package-fan1 {
+ temperature = <65000>;
+ hysteresis = <2000>;
+ type = "active";
+ };
+ };
+
+ cooling-maps {
+ map0 {
+ cooling-device = <&fan THERMAL_NO_LIMIT 1>;
+ trip = <&package_fan0>;
+ };
+
+ map1 {
+ cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
+ trip = <&package_fan1>;
+ };
+ };
+};
+
+&pinctrl {
+ fan {
+ fan_tach: fan-tach {
+ rockchip,pins = <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+
+ hym8563 {
+ hym8563_int: hym8563-int {
+ rockchip,pins =
+ <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+
+ sound {
+ hp_det: hp-det {
+ rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ wifi {
+ wifi_enable_h: wifi-enable-h {
+ rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+};
+
+&pwm13 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm13m1_pins>;
+ status = "okay";
+};
+
+&saradc {
+ vref-supply = <&vcc_1v8_s0>;
+ status = "okay";
+};
+
+&sdhci {
+ bus-width = <8>;
+ cap-mmc-highspeed;
+ max-frequency = <200000000>;
+ mmc-hs200-1_8v;
+ mmc-hs400-1_8v;
+ mmc-hs400-enhanced-strobe;
+ no-sd;
+ no-sdio;
+ non-removable;
+ vmmc-supply = <&vcc_3v3_s3>;
+ vqmmc-supply = <&vcc_1v8_s3>;
+ status = "okay";
+};
+
+&sdio {
+ bus-width = <4>;
+ cap-sd-highspeed;
+ cap-sdio-irq;
+ disable-wp;
+ keep-power-in-suspend;
+ max-frequency = <25000000>;
+ mmc-pwrseq = <&sdio_pwrseq>;
+ no-mmc;
+ no-sd;
+ non-removable;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdiom0_pins>;
+ wakeup-source;
+ status = "okay";
+};
+
+&sdmmc {
+ broken-cd;
+ bus-width = <4>;
+ cap-sd-highspeed;
+ disable-wp;
+ max-frequency = <50000000>;
+ no-mmc;
+ no-sdio;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
+ vmmc-supply = <&vcc_3v3_s3>;
+ vqmmc-supply = <&vccio_sd_s0>;
+ status = "okay";
+};
+
+&spi2 {
+ assigned-clocks = <&cru CLK_SPI2>;
+ assigned-clock-rates = <200000000>;
+ num-cs = <1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
+ status = "okay";
+
+ pmic@0 {
+ compatible = "rockchip,rk806";
+ reg = <0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
+ <&rk806_dvs2_null>, <&rk806_dvs3_null>;
+ spi-max-frequency = <1000000>;
+ system-power-controller;
+
+ vcc1-supply = <&vcc5v0_sys>;
+ vcc2-supply = <&vcc5v0_sys>;
+ vcc3-supply = <&vcc5v0_sys>;
+ vcc4-supply = <&vcc5v0_sys>;
+ vcc5-supply = <&vcc5v0_sys>;
+ vcc6-supply = <&vcc5v0_sys>;
+ vcc7-supply = <&vcc5v0_sys>;
+ vcc8-supply = <&vcc5v0_sys>;
+ vcc9-supply = <&vcc5v0_sys>;
+ vcc10-supply = <&vcc5v0_sys>;
+ vcc11-supply = <&vcc_2v0_pldo_s3>;
+ vcc12-supply = <&vcc5v0_sys>;
+ vcc13-supply = <&vdd2_ddr_s3>;
+ vcc14-supply = <&vdd2_ddr_s3>;
+ vcca-supply = <&vcc5v0_sys>;
+
+ rk806_dvs1_null: dvs1-null-pins {
+ pins = "gpio_pwrctrl1";
+ function = "pin_fun0";
+ };
+
+ rk806_dvs2_null: dvs2-null-pins {
+ pins = "gpio_pwrctrl2";
+ function = "pin_fun0";
+ };
+
+ rk806_dvs3_null: dvs3-null-pins {
+ pins = "gpio_pwrctrl3";
+ function = "pin_fun0";
+ };
+
+ regulators {
+ vdd_gpu_s0: dcdc-reg1 {
+ regulator-name = "vdd_gpu_s0";
+ regulator-boot-on;
+ regulator-enable-ramp-delay = <400>;
+ regulator-min-microvolt = <550000>;
+ regulator-max-microvolt = <950000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_cpu_lit_s0: dcdc-reg2 {
+ regulator-name = "vdd_cpu_lit_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <550000>;
+ regulator-max-microvolt = <950000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_log_s0: dcdc-reg3 {
+ regulator-name = "vdd_log_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <675000>;
+ regulator-max-microvolt = <825000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <750000>;
+ };
+ };
+
+ vdd_vdenc_s0: dcdc-reg4 {
+ regulator-name = "vdd_vdenc_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <550000>;
+ regulator-max-microvolt = <825000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_ddr_s0: dcdc-reg5 {
+ regulator-name = "vdd_ddr_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <675000>;
+ regulator-max-microvolt = <900000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <850000>;
+ };
+ };
+
+ vdd2_ddr_s3: dcdc-reg6 {
+ regulator-name = "vdd2_ddr_s3";
+ regulator-always-on;
+ regulator-boot-on;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ };
+ };
+
+ vcc_2v0_pldo_s3: dcdc-reg7 {
+ regulator-name = "vdd_2v0_pldo_s3";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <2000000>;
+ regulator-max-microvolt = <2000000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <2000000>;
+ };
+ };
+
+ vcc_3v3_s3: dcdc-reg8 {
+ regulator-name = "vcc_3v3_s3";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <3300000>;
+ };
+ };
+
+ vddq_ddr_s0: dcdc-reg9 {
+ regulator-name = "vddq_ddr_s0";
+ regulator-always-on;
+ regulator-boot-on;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vcc_1v8_s3: dcdc-reg10 {
+ regulator-name = "vcc_1v8_s3";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ avcc_1v8_s0: pldo-reg1 {
+ regulator-name = "avcc_1v8_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vcc_1v8_s0: pldo-reg2 {
+ regulator-name = "vcc_1v8_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ avdd_1v2_s0: pldo-reg3 {
+ regulator-name = "avdd_1v2_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vcc_3v3_s0: pldo-reg4 {
+ regulator-name = "vcc_3v3_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vccio_sd_s0: pldo-reg5 {
+ regulator-name = "vccio_sd_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-ramp-delay = <12500>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ pldo6_s3: pldo-reg6 {
+ regulator-name = "pldo6_s3";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vdd_0v75_s3: nldo-reg1 {
+ regulator-name = "vdd_0v75_s3";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <750000>;
+ regulator-max-microvolt = <750000>;
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <750000>;
+ };
+ };
+
+ vdd_ddr_pll_s0: nldo-reg2 {
+ regulator-name = "vdd_ddr_pll_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <850000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-suspend-microvolt = <850000>;
+ };
+ };
+
+ avdd_0v75_s0: nldo-reg3 {
+ regulator-name = "avdd_0v75_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <825000>;
+ regulator-max-microvolt = <825000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_0v85_s0: nldo-reg4 {
+ regulator-name = "vdd_0v85_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <850000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_0v75_s0: nldo-reg5 {
+ regulator-name = "vdd_0v75_s0";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <750000>;
+ regulator-max-microvolt = <750000>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+ };
+ };
+};
+
+&tsadc {
+ status = "okay";
+};
+
+&u2phy0 {
+ status = "okay";
+};
+
+&u2phy0_otg {
+ phy-supply = <&vcc5v0_usb>;
+ status = "okay";
+};
+
+&u2phy1 {
+ status = "okay";
+};
+
+&u2phy1_otg {
+ phy-supply = <&vcc5v0_usb>;
+ status = "okay";
+};
+
+&u2phy2 {
+ status = "okay";
+};
+
+&u2phy2_host {
+ phy-supply = <&vcc5v0_usb>;
+ status = "okay";
+};
+
+&u2phy3 {
+ status = "okay";
+};
+
+&u2phy3_host {
+ phy-supply = <&vcc5v0_usb>;
+ status = "okay";
+};
+
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart2m0_xfer>;
+ status = "okay";
+};
+
+&uart9 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart9m0_xfer &uart9m0_ctsn>;
+ status = "okay";
+};
+
+&usbdp_phy0 {
+ status = "okay";
+};
+
+&usbdp_phy1 {
+ status = "okay";
+};
+
+&usb_host0_ehci {
+ status = "okay";
+};
+
+&usb_host0_ohci {
+ status = "okay";
+};
+
+&usb_host0_xhci {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb_host1_ehci {
+ status = "okay";
+};
+
+&usb_host1_ohci {
+ status = "okay";
+};
+
+&usb_host1_xhci {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb_host2_xhci {
+ status = "okay";
+};
+
+&vop {
+ status = "okay";
+};
+
+&vop_mmu {
+ status = "okay";
+};
+
+&vp0 {
+ vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
+ reg = <ROCKCHIP_VOP2_EP_HDMI0>;
+ remote-endpoint = <&hdmi0_in_vp0>;
+ };
+};
--
2.50.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [d-kernel] [PATCH v3 3/3] arm64: dts: rockchip: add Repka Pi 5 board
2026-08-06 11:26 ` [d-kernel] [PATCH v3 3/3] arm64: dts: rockchip: add Repka Pi 5 board Mikhail Bessonov
@ 2026-08-06 12:20 ` Ivan A. Melnikov
0 siblings, 0 replies; 15+ messages in thread
From: Ivan A. Melnikov @ 2026-08-06 12:20 UTC (permalink / raw)
To: Mikhail Bessonov; +Cc: devel-kernel
[-- Attachment #1: Type: text/plain, Size: 19671 bytes --]
On Thu, Aug 06, 2026 at 03:26:10PM +0400, Mikhail Bessonov wrote:
> Signed-off-by: Mikhail Bessonov <heliumium1997@gmail.com>
> ---
> arch/arm64/boot/dts/rockchip/Makefile | 1 +
> .../boot/dts/rockchip/rk3588-repka-pi5.dts | 773 ++++++++++++++++++
> 2 files changed, 774 insertions(+)
> create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
>
> diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
> index ad684e3831bc..ae12dc2ef75a 100644
> --- a/arch/arm64/boot/dts/rockchip/Makefile
> +++ b/arch/arm64/boot/dts/rockchip/Makefile
> @@ -181,6 +181,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-max.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-plus.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-orangepi-5-ultra.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-quartzpro64.dtb
> +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-repka-pi5.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-roc-rt.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5-itx.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b.dtb
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts b/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
> new file mode 100644
> index 000000000000..4e4207108dbf
> --- /dev/null
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
> @@ -0,0 +1,773 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/pinctrl/rockchip.h>
> +#include <dt-bindings/soc/rockchip,vop2.h>
> +#include "rk3588.dtsi"
> +
> +/ {
> + model = "Repka Pi 5";
> + compatible = "repka,pi5", "rockchip,rk3588";
> +
> + aliases {
> + ethernet0 = &gmac1;
> + mmc0 = &sdmmc;
> + mmc1 = &sdhci;
> + mmc2 = &sdio;
> + };
> +
> + chosen {
> + stdout-path = "serial2:1500000n8";
> + };
> +
> + analog_sound: analog-sound {
> + compatible = "simple-audio-card";
> + pinctrl-names = "default";
> + pinctrl-0 = <&hp_det>;
> + simple-audio-card,name = "Repka Pi 5 ES8388";
> + simple-audio-card,format = "i2s";
> + simple-audio-card,hp-det-gpios =
> + <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
> + simple-audio-card,mclk-fs = <256>;
> + simple-audio-card,routing =
> + "Headphones", "LOUT1",
> + "Headphones", "ROUT1",
> + "LINPUT1", "Headset Mic",
> + "RINPUT1", "Headset Mic";
> + simple-audio-card,widgets =
> + "Headphone", "Headphones",
> + "Microphone", "Headset Mic";
> +
> + simple-audio-card,cpu {
> + sound-dai = <&i2s0_8ch>;
> + };
> +
> + simple-audio-card,codec {
> + sound-dai = <&es8388>;
> + system-clock-frequency = <12288000>;
> + };
> + };
> +
> + hdmi0_con: hdmi0-connector {
> + compatible = "hdmi-connector";
> + type = "a";
> +
> + port {
> + hdmi0_con_in: endpoint {
> + remote-endpoint = <&hdmi0_out_con>;
> + };
> + };
> + };
> +
> + fan: pwm-fan {
> + compatible = "pwm-fan";
> + cooling-levels = <0 80 120 180 255>;
> + fan-supply = <&vcc5v0_sys>;
> + interrupt-parent = <&gpio4>;
> + interrupts = <RK_PA7 IRQ_TYPE_EDGE_FALLING>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&fan_tach>;
> + pulses-per-revolution = <2>;
> + pwms = <&pwm13 0 40000 0>;
> + #cooling-cells = <2>;
> + };
> +
> + vcc5v0_sys: regulator-vcc5v0-sys {
> + compatible = "regulator-fixed";
> + regulator-name = "vcc5v0_sys";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + };
> +
> + vcc5v0_usb: regulator-vcc5v0-usb {
> + compatible = "regulator-fixed";
> + regulator-name = "vcc5v0_usb";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + vin-supply = <&vcc5v0_sys>;
> + };
> +
> + sdio_pwrseq: sdio-pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + pinctrl-names = "default";
> + pinctrl-0 = <&wifi_enable_h>;
> + post-power-on-delay-ms = <200>;
> + reset-gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_LOW>;
> + };
> +};
> +
> +&combphy2_psu {
> + status = "okay";
> +};
> +
> +&cpu_l0 {
> + cpu-supply = <&vdd_cpu_lit_s0>;
> +};
> +
> +&cpu_l1 {
> + cpu-supply = <&vdd_cpu_lit_s0>;
> +};
> +
> +&cpu_l2 {
> + cpu-supply = <&vdd_cpu_lit_s0>;
> +};
> +
> +&cpu_l3 {
> + cpu-supply = <&vdd_cpu_lit_s0>;
> +};
> +
> +&gmac1 {
> + clock_in_out = "output";
> + phy-handle = <&rgmii_phy1>;
> + /* The PCB adds no RX clock delay; let the PHY add it. */
> + phy-mode = "rgmii-rxid";
> + pinctrl-names = "default";
> + pinctrl-0 = <&gmac1_miim
> + &gmac1_tx_bus2
> + &gmac1_rx_bus2
> + &gmac1_rgmii_clk
> + &gmac1_rgmii_bus>;
> + rx_delay = <0x00>;
> + tx_delay = <0x42>;
> + status = "okay";
> +};
> +
> +&gpu {
> + mali-supply = <&vdd_gpu_s0>;
> + status = "okay";
> +};
> +
> +&hdmi0 {
> + status = "okay";
> +};
> +
> +&hdmi0_in {
> + hdmi0_in_vp0: endpoint {
> + remote-endpoint = <&vp0_out_hdmi0>;
> + };
> +};
> +
> +&hdmi0_out {
> + hdmi0_out_con: endpoint {
> + remote-endpoint = <&hdmi0_con_in>;
> + };
> +};
> +
> +&hdmi0_sound {
> + status = "okay";
> +};
> +
> +&hdptxphy0 {
> + status = "okay";
> +};
> +
> +&i2c3 {
> + clock-frequency = <400000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c3m0_xfer>;
> + status = "okay";
> +
> + es8388: audio-codec@11 {
> + compatible = "everest,es8388", "everest,es8328";
> + reg = <0x11>;
> + AVDD-supply = <&vcc_3v3_s0>;
> + DVDD-supply = <&vcc_1v8_s0>;
> + HPVDD-supply = <&vcc_3v3_s0>;
> + PVDD-supply = <&vcc_1v8_s0>;
> + clocks = <&cru I2S0_8CH_MCLKOUT>;
> + assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
> + assigned-clock-rates = <12288000>;
> + #sound-dai-cells = <0>;
> + };
> +};
> +
> +&i2c6 {
> + clock-frequency = <100000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c6m0_xfer>;
> + status = "okay";
> +
> + hym8563: rtc@51 {
> + compatible = "haoyu,hym8563";
> + reg = <0x51>;
> + #clock-cells = <0>;
> + clock-output-names = "hym8563";
> + interrupt-parent = <&gpio0>;
> + interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&hym8563_int>;
> + status = "okay";
> + };
> +};
> +
> +&i2s0_8ch {
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2s0_lrck
> + &i2s0_mclk
> + &i2s0_sclk
> + &i2s0_sdi0
> + &i2s0_sdo0>;
> + status = "okay";
> +};
> +
> +&i2s5_8ch {
> + status = "okay";
> +};
> +
> +&mdio1 {
> + rgmii_phy1: ethernet-phy@1 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <1>;
> + reset-assert-us = <20000>;
> + reset-deassert-us = <100000>;
> + reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
> + };
> +};
> +
> +&package_thermal {
> + polling-delay = <1000>;
> +
> + trips {
> + package_fan0: package-fan0 {
> + temperature = <55000>;
> + hysteresis = <2000>;
> + type = "active";
> + };
> +
> + package_fan1: package-fan1 {
> + temperature = <65000>;
> + hysteresis = <2000>;
> + type = "active";
> + };
> + };
> +
> + cooling-maps {
> + map0 {
> + cooling-device = <&fan THERMAL_NO_LIMIT 1>;
> + trip = <&package_fan0>;
> + };
> +
> + map1 {
> + cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
> + trip = <&package_fan1>;
> + };
> + };
> +};
> +
> +&pinctrl {
> + fan {
> + fan_tach: fan-tach {
> + rockchip,pins = <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
> + };
> + };
> +
> + hym8563 {
> + hym8563_int: hym8563-int {
> + rockchip,pins =
> + <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
> + };
> + };
> +
> + sound {
> + hp_det: hp-det {
> + rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> + };
> +
> + wifi {
> + wifi_enable_h: wifi-enable-h {
> + rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> + };
> +};
> +
> +&pwm13 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pwm13m1_pins>;
> + status = "okay";
> +};
> +
> +&saradc {
> + vref-supply = <&vcc_1v8_s0>;
> + status = "okay";
> +};
> +
> +&sdhci {
> + bus-width = <8>;
> + cap-mmc-highspeed;
> + max-frequency = <200000000>;
> + mmc-hs200-1_8v;
> + mmc-hs400-1_8v;
> + mmc-hs400-enhanced-strobe;
> + no-sd;
> + no-sdio;
> + non-removable;
> + vmmc-supply = <&vcc_3v3_s3>;
> + vqmmc-supply = <&vcc_1v8_s3>;
> + status = "okay";
> +};
> +
> +&sdio {
> + bus-width = <4>;
> + cap-sd-highspeed;
> + cap-sdio-irq;
> + disable-wp;
> + keep-power-in-suspend;
> + max-frequency = <25000000>;
> + mmc-pwrseq = <&sdio_pwrseq>;
> + no-mmc;
> + no-sd;
> + non-removable;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sdiom0_pins>;
> + wakeup-source;
> + status = "okay";
> +};
> +
> +&sdmmc {
> + broken-cd;
> + bus-width = <4>;
> + cap-sd-highspeed;
> + disable-wp;
> + max-frequency = <50000000>;
> + no-mmc;
> + no-sdio;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
> + vmmc-supply = <&vcc_3v3_s3>;
> + vqmmc-supply = <&vccio_sd_s0>;
> + status = "okay";
> +};
> +
> +&spi2 {
> + assigned-clocks = <&cru CLK_SPI2>;
> + assigned-clock-rates = <200000000>;
> + num-cs = <1>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
> + status = "okay";
> +
> + pmic@0 {
> + compatible = "rockchip,rk806";
> + reg = <0>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-parent = <&gpio0>;
> + interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
> + <&rk806_dvs2_null>, <&rk806_dvs3_null>;
> + spi-max-frequency = <1000000>;
> + system-power-controller;
> +
> + vcc1-supply = <&vcc5v0_sys>;
> + vcc2-supply = <&vcc5v0_sys>;
> + vcc3-supply = <&vcc5v0_sys>;
> + vcc4-supply = <&vcc5v0_sys>;
> + vcc5-supply = <&vcc5v0_sys>;
> + vcc6-supply = <&vcc5v0_sys>;
> + vcc7-supply = <&vcc5v0_sys>;
> + vcc8-supply = <&vcc5v0_sys>;
> + vcc9-supply = <&vcc5v0_sys>;
> + vcc10-supply = <&vcc5v0_sys>;
> + vcc11-supply = <&vcc_2v0_pldo_s3>;
> + vcc12-supply = <&vcc5v0_sys>;
> + vcc13-supply = <&vdd2_ddr_s3>;
> + vcc14-supply = <&vdd2_ddr_s3>;
> + vcca-supply = <&vcc5v0_sys>;
> +
> + rk806_dvs1_null: dvs1-null-pins {
> + pins = "gpio_pwrctrl1";
> + function = "pin_fun0";
> + };
> +
> + rk806_dvs2_null: dvs2-null-pins {
> + pins = "gpio_pwrctrl2";
> + function = "pin_fun0";
> + };
> +
> + rk806_dvs3_null: dvs3-null-pins {
> + pins = "gpio_pwrctrl3";
> + function = "pin_fun0";
> + };
> +
> + regulators {
> + vdd_gpu_s0: dcdc-reg1 {
> + regulator-name = "vdd_gpu_s0";
> + regulator-boot-on;
> + regulator-enable-ramp-delay = <400>;
> + regulator-min-microvolt = <550000>;
> + regulator-max-microvolt = <950000>;
> + regulator-ramp-delay = <12500>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + vdd_cpu_lit_s0: dcdc-reg2 {
> + regulator-name = "vdd_cpu_lit_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <550000>;
> + regulator-max-microvolt = <950000>;
> + regulator-ramp-delay = <12500>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + vdd_log_s0: dcdc-reg3 {
> + regulator-name = "vdd_log_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <675000>;
> + regulator-max-microvolt = <825000>;
> + regulator-ramp-delay = <12500>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + regulator-suspend-microvolt = <750000>;
> + };
> + };
> +
> + vdd_vdenc_s0: dcdc-reg4 {
> + regulator-name = "vdd_vdenc_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <550000>;
> + regulator-max-microvolt = <825000>;
> + regulator-ramp-delay = <12500>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + vdd_ddr_s0: dcdc-reg5 {
> + regulator-name = "vdd_ddr_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <675000>;
> + regulator-max-microvolt = <900000>;
> + regulator-ramp-delay = <12500>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + regulator-suspend-microvolt = <850000>;
> + };
> + };
> +
> + vdd2_ddr_s3: dcdc-reg6 {
> + regulator-name = "vdd2_ddr_s3";
> + regulator-always-on;
> + regulator-boot-on;
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + };
> + };
> +
> + vcc_2v0_pldo_s3: dcdc-reg7 {
> + regulator-name = "vdd_2v0_pldo_s3";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <2000000>;
> + regulator-max-microvolt = <2000000>;
> + regulator-ramp-delay = <12500>;
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + regulator-suspend-microvolt = <2000000>;
> + };
> + };
> +
> + vcc_3v3_s3: dcdc-reg8 {
> + regulator-name = "vcc_3v3_s3";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + regulator-suspend-microvolt = <3300000>;
> + };
> + };
> +
> + vddq_ddr_s0: dcdc-reg9 {
> + regulator-name = "vddq_ddr_s0";
> + regulator-always-on;
> + regulator-boot-on;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + vcc_1v8_s3: dcdc-reg10 {
> + regulator-name = "vcc_1v8_s3";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + regulator-suspend-microvolt = <1800000>;
> + };
> + };
> +
> + avcc_1v8_s0: pldo-reg1 {
> + regulator-name = "avcc_1v8_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + regulator-suspend-microvolt = <1800000>;
> + };
> + };
> +
> + vcc_1v8_s0: pldo-reg2 {
> + regulator-name = "vcc_1v8_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + regulator-suspend-microvolt = <1800000>;
> + };
> + };
> +
> + avdd_1v2_s0: pldo-reg3 {
> + regulator-name = "avdd_1v2_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + vcc_3v3_s0: pldo-reg4 {
> + regulator-name = "vcc_3v3_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-ramp-delay = <12500>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + vccio_sd_s0: pldo-reg5 {
> + regulator-name = "vccio_sd_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-ramp-delay = <12500>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + pldo6_s3: pldo-reg6 {
> + regulator-name = "pldo6_s3";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + regulator-suspend-microvolt = <1800000>;
> + };
> + };
> +
> + vdd_0v75_s3: nldo-reg1 {
> + regulator-name = "vdd_0v75_s3";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <750000>;
> + regulator-max-microvolt = <750000>;
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + regulator-suspend-microvolt = <750000>;
> + };
> + };
> +
> + vdd_ddr_pll_s0: nldo-reg2 {
> + regulator-name = "vdd_ddr_pll_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <850000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + regulator-suspend-microvolt = <850000>;
> + };
> + };
> +
> + avdd_0v75_s0: nldo-reg3 {
> + regulator-name = "avdd_0v75_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <825000>;
> + regulator-max-microvolt = <825000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + vdd_0v85_s0: nldo-reg4 {
> + regulator-name = "vdd_0v85_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <850000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + vdd_0v75_s0: nldo-reg5 {
> + regulator-name = "vdd_0v75_s0";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-min-microvolt = <750000>;
> + regulator-max-microvolt = <750000>;
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> + };
> + };
> +};
> +
> +&tsadc {
> + status = "okay";
> +};
> +
> +&u2phy0 {
> + status = "okay";
> +};
> +
> +&u2phy0_otg {
> + phy-supply = <&vcc5v0_usb>;
> + status = "okay";
> +};
> +
> +&u2phy1 {
> + status = "okay";
> +};
> +
> +&u2phy1_otg {
> + phy-supply = <&vcc5v0_usb>;
> + status = "okay";
> +};
> +
> +&u2phy2 {
> + status = "okay";
> +};
> +
> +&u2phy2_host {
> + phy-supply = <&vcc5v0_usb>;
> + status = "okay";
> +};
> +
> +&u2phy3 {
> + status = "okay";
> +};
> +
> +&u2phy3_host {
> + phy-supply = <&vcc5v0_usb>;
> + status = "okay";
> +};
> +
> +&uart2 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart2m0_xfer>;
> + status = "okay";
> +};
> +
> +&uart9 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart9m0_xfer &uart9m0_ctsn>;
> + status = "okay";
> +};
> +
> +&usbdp_phy0 {
> + status = "okay";
> +};
> +
> +&usbdp_phy1 {
> + status = "okay";
> +};
> +
> +&usb_host0_ehci {
> + status = "okay";
> +};
> +
> +&usb_host0_ohci {
> + status = "okay";
> +};
> +
> +&usb_host0_xhci {
> + dr_mode = "host";
> + status = "okay";
> +};
> +
> +&usb_host1_ehci {
> + status = "okay";
> +};
> +
> +&usb_host1_ohci {
> + status = "okay";
> +};
> +
> +&usb_host1_xhci {
> + dr_mode = "host";
> + status = "okay";
> +};
> +
> +&usb_host2_xhci {
> + status = "okay";
> +};
> +
> +&vop {
> + status = "okay";
> +};
> +
> +&vop_mmu {
> + status = "okay";
> +};
> +
> +&vp0 {
> + vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
> + reg = <ROCKCHIP_VOP2_EP_HDMI0>;
> + remote-endpoint = <&hdmi0_in_vp0>;
> + };
> +};
> --
> 2.50.1
Reviewed-by: Ivan A. Melnikov <iv@altlinux.org>
--
wbr,
iv m.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 870 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [d-kernel] [PATCH v3 0/3] add Repka Pi 5 support
2026-08-06 11:26 ` [d-kernel] [PATCH v3 0/3] " Mikhail Bessonov
@ 2026-08-06 12:29 ` Ivan A. Melnikov
0 siblings, 0 replies; 15+ messages in thread
From: Ivan A. Melnikov @ 2026-08-06 12:29 UTC (permalink / raw)
To: Mikhail Bessonov; +Cc: devel-kernel
[-- Attachment #1: Type: text/plain, Size: 1028 bytes --]
On Thu, Aug 06, 2026 at 03:26:07PM +0400, Mikhail Bessonov wrote:
> v3 changes:
> - Add missing Signed-off-by tags to patches where they were accidentally omitted.
>
> v2 changes:
> - Split the monolithic config patch into two independent atomic commits.
> - Raised CONFIG_SERIAL_8250_RUNTIME_UARTS immediately to 32 as suggested by Ivan.
>
> Mikhail Bessonov (3):
> config: increase 8250 runtime UARTs to 32
> config-aarch64: enable ARM PSCI CPU idle driver
> arm64: dts: rockchip: add Repka Pi 5 board
>
> arch/arm64/boot/dts/rockchip/Makefile | 1 +
> .../boot/dts/rockchip/rk3588-repka-pi5.dts | 773 ++++++++++++++++++
> config | 2 +-
> config-aarch64 | 2 +-
> 4 files changed, 776 insertions(+), 2 deletions(-)
> create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-repka-pi5.dts
Applied to 6.18/sisyphus.
Patches 1 and 2 also applied to 7.1/sisyphus.
Спасибо!
--
wbr,
iv m.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 870 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-08-06 12:29 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-31 14:09 [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support Mikhail Bessonov
2026-07-31 14:09 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 1/2] config: enable PSCI idle and additional 8250 UARTs Mikhail Bessonov
2026-08-03 9:45 ` Ivan A. Melnikov
2026-08-03 9:59 ` Gleb Fotengauer-Malinovskiy
2026-08-04 14:36 ` Ivan A. Melnikov
2026-08-03 17:45 ` Ivan A. Melnikov
2026-07-31 14:09 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 2/2] arm64: dts: rockchip: add Repka Pi 5 board Mikhail Bessonov
2026-08-04 14:02 ` Ivan A. Melnikov
2026-08-05 13:43 ` [d-kernel] [PATCH kernel-image-6.18/sisyphus 0/2] add Repka Pi 5 support Ivan A. Melnikov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 0/3] " Mikhail Bessonov
2026-08-06 12:29 ` Ivan A. Melnikov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 1/3] config: increase 8250 runtime UARTs to 32 Mikhail Bessonov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 2/3] config-aarch64: enable ARM PSCI CPU idle driver Mikhail Bessonov
2026-08-06 11:26 ` [d-kernel] [PATCH v3 3/3] arm64: dts: rockchip: add Repka Pi 5 board Mikhail Bessonov
2026-08-06 12:20 ` Ivan A. Melnikov
ALT Linux kernel packages development
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \
devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com
public-inbox-index devel-kernel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel-kernel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git