New peripheral the sdhci controller on rk3528. Enablement of hdmi and hdmi

audio on a number of additional boards. Better handling for scmi shared
 memory on rk3568 and a fix for the used SCMI clock ids on rk3576.
 As well as some fixes that were a bit late for trying to stuff them into
 6.14 at this late stage of the cycle.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmfVoEwQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgUiYB/9DbZwmkqpkg5l/undLUC2NGKyhadwhCcnW
 h4112pr1ssUObE6YOtv0nfJWHyr8fHSt//R4CIOkPAuCWseLrxsu5F28tbwNbtCB
 FtHuLeAoa3cRdnwP0bdAif7Bzz8UfDlqwCYpPnU4p4tuoYx/xZ7CVOUXWuK1uLQ1
 Fijj2sknWywRG3u6Z3tNFNJJH1ijvc6Tg1Xlog6Ace+BbOLtwP4z0wdckCj0Hi6N
 QHxNHP21m1s1W0eGQ6yEaUbnvxjT8n5iupCEqiAshtpiP3jWfhaGNzQ54vvqoLI7
 EBIOXTFW760a6QuIVn44vlnSYKMgwu7KZRunl7FvcqJRWtEiAvlh
 =8a+w
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfbLX8ACgkQYKtH/8kJ
 UiepnBAApGrFdlz6Un8RlTQINRt2eej2W8f3U6kJPwr0H8EuohJFyLS1w4akJcB5
 Ug+9WWbF6lqFyV/tCVuR1dPxN7haI5Acua2rQ9jUPqH38GqUqMXq6HuEE6R6ML7Q
 tGsQnAy2vzQj6cVktypas5ZAEdnzauyKaggtgkUrzHsAL1eiy5V/M0qogfxSTpSs
 uXGixWTdoqUDXfCPVNOFSIa6az8vmZcEvBNdhPH+Zai98UUqf0ULEVPcgtzVV12I
 yGwPFQPkUsv3RlPx9vmgBIbWyH/C35bufcdkXpiuz8OUgsmx5DoJP8WubwdZUIeW
 hwXvIHoYNi7MrVu83HVilZzbb/VhbJAvuJPt9Dd1z8LZrxwnS4qMiDDJvgDT5ntn
 TBGRws/CFbz0GZAB6p2LmT0V7PcmfY/Yg7+NXajkNXHoBwZMclvP7w5sC24Q6Wv/
 gHn11gS4FZBjNRO2ymygniRA42PL6/DvNvp+plzw+CR5usRXaNIq65rNWB1YrceG
 sRWYXTWiewf7iCTpaykkADYvCGkLfz320u+BDIo9G8Y3LSqmPQrfiM/kFqTmS5z+
 Lu6B6yt3Oy92tpkKvKqFSVShA5LA2v0YSbrcz5n/lm5VGeDE0KG0CQ4VU89cVFqY
 T9keWPlmo8SG4LwjOiCJCQHxJEE1vzIt1z8Okv73dhpNYdS1yOE=
 =5tQQ
 -----END PGP SIGNATURE-----

Merge tag 'v6.15-rockchip-dts64-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

New peripheral the sdhci controller on rk3528. Enablement of hdmi and hdmi
audio on a number of additional boards. Better handling for scmi shared
memory on rk3568 and a fix for the used SCMI clock ids on rk3576.
As well as some fixes that were a bit late for trying to stuff them into
6.14 at this late stage of the cycle.

* tag 'v6.15-rockchip-dts64-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: remove ethm0_clk0_25m_out from Sige5 gmac0
  arm64: dts: rockchip: Fix PWM pinctrl names
  arm64: dts: rockchip: fix RK3576 SCMI clock IDs
  dt-bindings: clock: rk3576: add SCMI clocks
  arm64: dts: rockchip: Fix pcie reset gpio on Orange Pi 5 Max
  arm64: dts: rockchip: Enable HDMI audio output for ArmSoM Sige7
  arm64: dts: rockchip: Enable onboard eMMC on Radxa E20C
  arm64: dts: rockchip: Add SDHCI controller for RK3528
  arm64: dts: rockchip: Remove bluetooth node from rock-3a
  arm64: dts: rockchip: Move rk356x scmi SHMEM to reserved memory
  arm64: dts: rockchip: Add AP6275P wireless support to ArmSoM Sige7
  arm64: dts: rockchip: Enable HDMI audio outputs for Orange Pi 5 Plus
  arm64: dts: rockchip: Enable HDMI1 on Orange Pi 5 Plus
  arm64: dts: rockchip: Enable HDMI audio outputs for Orange Pi 5 Max
  arm64: dts: rockchip: Enable HDMI0 audio output for Orange Pi 5/5B

Link: https://lore.kernel.org/r/23866869.6Emhk5qWAg@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2025-03-19 21:47:58 +01:00
commit c1abbe602b
16 changed files with 174 additions and 44 deletions

View File

@ -147,7 +147,7 @@ rtc: rtc@51 {
&pwm5 {
status = "okay";
pinctrl-names = "active";
pinctrl-names = "default";
pinctrl-0 = <&pwm5_pin_pull_down>;
};

View File

@ -274,13 +274,13 @@ otg_vbus_drv: otg-vbus-drv {
&pwm0 {
pinctrl-0 = <&pwm0_pin_pull_up>;
pinctrl-names = "active";
pinctrl-names = "default";
status = "okay";
};
&pwm1 {
pinctrl-0 = <&pwm1_pin_pull_up>;
pinctrl-names = "active";
pinctrl-names = "default";
status = "okay";
};

View File

@ -603,7 +603,7 @@ &pwm1 {
};
&pwm2 {
pinctrl-names = "active";
pinctrl-names = "default";
pinctrl-0 = <&pwm2_pin_pull_down>;
status = "okay";
};

View File

@ -15,6 +15,10 @@ / {
model = "Radxa E20C";
compatible = "radxa,e20c", "rockchip,rk3528";
aliases {
mmc0 = &sdhci;
};
chosen {
stdout-path = "serial0:1500000n8";
};
@ -133,6 +137,17 @@ &saradc {
status = "okay";
};
&sdhci {
bus-width = <8>;
cap-mmc-highspeed;
no-sd;
no-sdio;
non-removable;
vmmc-supply = <&vcc_3v3>;
vqmmc-supply = <&vcc_1v8>;
status = "okay";
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0m0_xfer>;

View File

@ -468,6 +468,30 @@ saradc: adc@ffae0000 {
status = "disabled";
};
sdhci: mmc@ffbf0000 {
compatible = "rockchip,rk3528-dwcmshc",
"rockchip,rk3588-dwcmshc";
reg = <0x0 0xffbf0000 0x0 0x10000>;
assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>,
<&cru CCLK_SRC_EMMC>;
assigned-clock-rates = <200000000>, <24000000>,
<200000000>;
clocks = <&cru CCLK_SRC_EMMC>, <&cru HCLK_EMMC>,
<&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
<&cru TCLK_EMMC>;
clock-names = "core", "bus", "axi", "block", "timer";
interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
max-frequency = <200000000>;
pinctrl-names = "default";
pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, <&emmc_cmd>,
<&emmc_strb>;
resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>,
<&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>,
<&cru SRST_T_EMMC>;
reset-names = "core", "bus", "axi", "block", "timer";
status = "disabled";
};
pinctrl: pinctrl {
compatible = "rockchip,rk3528-pinctrl";
rockchip,grf = <&ioc_grf>;

View File

@ -778,20 +778,6 @@ &uart1 {
pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
uart-has-rtscts;
status = "okay";
bluetooth {
compatible = "brcm,bcm43438-bt";
clocks = <&rk809 1>;
clock-names = "lpo";
device-wakeup-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
host-wakeup-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&bt_host_wake &bt_wake &bt_enable>;
vbat-supply = <&vcc3v3_sys>;
vddio-supply = <&vcc_1v8>;
/* vddio comes from regulator on module, use IO bank voltage instead */
};
};
&uart2 {

View File

@ -174,6 +174,18 @@ psci {
method = "smc";
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
scmi_shmem: shmem@10f000 {
compatible = "arm,scmi-shmem";
reg = <0x0 0x0010f000 0x0 0x100>;
no-map;
};
};
timer {
compatible = "arm,armv8-timer";
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
@ -199,19 +211,6 @@ xin32k: xin32k {
#clock-cells = <0>;
};
sram@10f000 {
compatible = "mmio-sram";
reg = <0x0 0x0010f000 0x0 0x100>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x0 0x0010f000 0x100>;
scmi_shmem: sram@0 {
compatible = "arm,scmi-shmem";
reg = <0x0 0x100>;
};
};
sata1: sata@fc400000 {
compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci";
reg = <0 0xfc400000 0 0x1000>;

View File

@ -194,8 +194,7 @@ &gmac0 {
&eth0m0_tx_bus2
&eth0m0_rx_bus2
&eth0m0_rgmii_clk
&eth0m0_rgmii_bus
&ethm0_clk0_25m_out>;
&eth0m0_rgmii_bus>;
phy-handle = <&rgmii_phy0>;
status = "okay";

View File

@ -111,7 +111,7 @@ cpu_l0: cpu@0 {
reg = <0x0>;
enable-method = "psci";
capacity-dmips-mhz = <485>;
clocks = <&scmi_clk ARMCLK_L>;
clocks = <&scmi_clk SCMI_ARMCLK_L>;
operating-points-v2 = <&cluster0_opp_table>;
#cooling-cells = <2>;
dynamic-power-coefficient = <120>;
@ -124,7 +124,7 @@ cpu_l1: cpu@1 {
reg = <0x1>;
enable-method = "psci";
capacity-dmips-mhz = <485>;
clocks = <&scmi_clk ARMCLK_L>;
clocks = <&scmi_clk SCMI_ARMCLK_L>;
operating-points-v2 = <&cluster0_opp_table>;
cpu-idle-states = <&CPU_SLEEP>;
};
@ -135,7 +135,7 @@ cpu_l2: cpu@2 {
reg = <0x2>;
enable-method = "psci";
capacity-dmips-mhz = <485>;
clocks = <&scmi_clk ARMCLK_L>;
clocks = <&scmi_clk SCMI_ARMCLK_L>;
operating-points-v2 = <&cluster0_opp_table>;
cpu-idle-states = <&CPU_SLEEP>;
};
@ -146,7 +146,7 @@ cpu_l3: cpu@3 {
reg = <0x3>;
enable-method = "psci";
capacity-dmips-mhz = <485>;
clocks = <&scmi_clk ARMCLK_L>;
clocks = <&scmi_clk SCMI_ARMCLK_L>;
operating-points-v2 = <&cluster0_opp_table>;
cpu-idle-states = <&CPU_SLEEP>;
};
@ -157,7 +157,7 @@ cpu_b0: cpu@100 {
reg = <0x100>;
enable-method = "psci";
capacity-dmips-mhz = <1024>;
clocks = <&scmi_clk ARMCLK_B>;
clocks = <&scmi_clk SCMI_ARMCLK_B>;
operating-points-v2 = <&cluster1_opp_table>;
#cooling-cells = <2>;
dynamic-power-coefficient = <320>;
@ -170,7 +170,7 @@ cpu_b1: cpu@101 {
reg = <0x101>;
enable-method = "psci";
capacity-dmips-mhz = <1024>;
clocks = <&scmi_clk ARMCLK_B>;
clocks = <&scmi_clk SCMI_ARMCLK_B>;
operating-points-v2 = <&cluster1_opp_table>;
cpu-idle-states = <&CPU_SLEEP>;
};
@ -181,7 +181,7 @@ cpu_b2: cpu@102 {
reg = <0x102>;
enable-method = "psci";
capacity-dmips-mhz = <1024>;
clocks = <&scmi_clk ARMCLK_B>;
clocks = <&scmi_clk SCMI_ARMCLK_B>;
operating-points-v2 = <&cluster1_opp_table>;
cpu-idle-states = <&CPU_SLEEP>;
};
@ -192,7 +192,7 @@ cpu_b3: cpu@103 {
reg = <0x103>;
enable-method = "psci";
capacity-dmips-mhz = <1024>;
clocks = <&scmi_clk ARMCLK_B>;
clocks = <&scmi_clk SCMI_ARMCLK_B>;
operating-points-v2 = <&cluster1_opp_table>;
cpu-idle-states = <&CPU_SLEEP>;
};
@ -932,7 +932,7 @@ power-domain@RK3576_PD_VO1 {
gpu: gpu@27800000 {
compatible = "rockchip,rk3576-mali", "arm,mali-bifrost";
reg = <0x0 0x27800000 0x0 0x200000>;
assigned-clocks = <&scmi_clk CLK_GPU>;
assigned-clocks = <&scmi_clk SCMI_CLK_GPU>;
assigned-clock-rates = <198000000>;
clocks = <&cru CLK_GPU>;
clock-names = "core";

View File

@ -192,6 +192,10 @@ hdmi0_out_con: endpoint {
};
};
&hdmi0_sound {
status = "okay";
};
&hdptxphy0 {
status = "okay";
};
@ -290,6 +294,10 @@ i2s0_8ch_p0_0: endpoint {
};
};
&i2s5_8ch {
status = "okay";
};
/* phy1 - right ethernet port */
&pcie2x1l0 {
reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
@ -300,6 +308,22 @@ &pcie2x1l0 {
&pcie2x1l1 {
reset-gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
status = "okay";
pcie@0,0 {
reg = <0x300000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
ranges;
device_type = "pci";
bus-range = <0x30 0x3f>;
wifi: wifi@0,0 {
compatible = "pci14e4,449d";
reg = <0x310000 0 0 0 0>;
clocks = <&hym8563>;
clock-names = "lpo";
};
};
};
/* phy0 - left ethernet port */

View File

@ -64,7 +64,7 @@ &led_blue_pwm {
/* phy2 */
&pcie2x1l1 {
reset-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_pcie_eth>;
status = "okay";
};

View File

@ -50,6 +50,10 @@ hdmi0_out_con: endpoint {
};
};
&hdmi0_sound {
status = "okay";
};
&hdmi1 {
pinctrl-names = "default";
pinctrl-0 = <&hdmim0_tx1_cec &hdmim0_tx1_hpd
@ -69,6 +73,10 @@ hdmi1_out_con: endpoint {
};
};
&hdmi1_sound {
status = "okay";
};
&hdptxphy0 {
status = "okay";
};
@ -77,6 +85,14 @@ &hdptxphy1 {
status = "okay";
};
&i2s5_8ch {
status = "okay";
};
&i2s6_8ch {
status = "okay";
};
&led_blue_pwm {
pwms = <&pwm4 0 25000 0>;
};

View File

@ -26,6 +26,17 @@ hdmi0_con_in: endpoint {
};
};
hdmi1-con {
compatible = "hdmi-connector";
type = "a";
port {
hdmi1_con_in: endpoint {
remote-endpoint = <&hdmi1_out_con>;
};
};
};
ir-receiver {
compatible = "gpio-ir-receiver";
gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
@ -113,6 +124,10 @@ &hdmi0 {
status = "okay";
};
&hdmi0_sound {
status = "okay";
};
&hdmi0_in {
hdmi0_in_vp0: endpoint {
remote-endpoint = <&vp0_out_hdmi0>;
@ -125,10 +140,34 @@ hdmi0_out_con: endpoint {
};
};
&hdmi1 {
status = "okay";
};
&hdmi1_in {
hdmi1_in_vp1: endpoint {
remote-endpoint = <&vp1_out_hdmi1>;
};
};
&hdmi1_out {
hdmi1_out_con: endpoint {
remote-endpoint = <&hdmi1_con_in>;
};
};
&hdmi1_sound {
status = "okay";
};
&hdptxphy0 {
status = "okay";
};
&hdptxphy1 {
status = "okay";
};
&hym8563 {
interrupt-parent = <&gpio0>;
interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
@ -189,6 +228,14 @@ usbc0_sbu: endpoint {
};
};
&i2s5_8ch {
status = "okay";
};
&i2s6_8ch {
status = "okay";
};
&led_blue_gpio {
gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
status = "okay";
@ -342,3 +389,10 @@ vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
remote-endpoint = <&hdmi0_in_vp0>;
};
};
&vp1 {
vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 {
reg = <ROCKCHIP_VOP2_EP_HDMI1>;
remote-endpoint = <&hdmi1_in_vp1>;
};
};

View File

@ -433,7 +433,7 @@ &pwm2 {
};
&pwm13 {
pinctrl-names = "active";
pinctrl-names = "default";
pinctrl-0 = <&pwm13m2_pins>;
status = "okay";
};

View File

@ -197,6 +197,10 @@ hdmi0_out_con: endpoint {
};
};
&hdmi0_sound {
status = "okay";
};
&hdptxphy0 {
status = "okay";
};
@ -355,6 +359,10 @@ &i2s1m0_sdi1
status = "okay";
};
&i2s5_8ch {
status = "okay";
};
&mdio1 {
rgmii_phy1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";

View File

@ -589,4 +589,9 @@
#define PCLK_EDP_S 569
#define ACLK_KLAD 570
/* SCMI clocks, use these when changing clocks through SCMI */
#define SCMI_ARMCLK_L 10
#define SCMI_ARMCLK_B 11
#define SCMI_CLK_GPU 456
#endif