From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Paolo Sabatino Date: Sat, 5 Apr 2025 17:59:02 +0200 Subject: Add some missing nodes in rk3308-rock-so device tree This is the consolidation of these two legacy patches: * https://github.com/paolosabatino/armbian-build/blob/935149d2822cd2a2c63891ca6614563f5538b706/patch/kernel/archive/rockchip64-6.12/board-rocks0-0001-deviceTree.patch * https://github.com/paolosabatino/armbian-build/blob/935149d2822cd2a2c63891ca6614563f5538b706/patch/kernel/archive/rockchip64-6.12/board-rocks0-0002-Revert-arm64-dts-rockchip-Fix-sdmmc-access-on-rk3308.patch --- arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts | 79 +++++++--- 1 file changed, 61 insertions(+), 18 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts index 111111111111..222222222222 100644 --- a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts +++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts @@ -34,6 +34,34 @@ led-green { }; }; + acodec-sound { + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,rk3308-acodec"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,codec-hp-det; + simple-audio-card,widgets = + "Headphone", "Headphones"; + simple-audio-card,cpu { + sound-dai = <&i2s_8ch_2>; + }; + simple-audio-card,codec { + sound-dai = <&codec>; + }; + }; + + board_antenna: board-antenna { + compatible = "regulator-fixed"; + enable-active-low; + gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; + regulator-always-on; + regulator-boot-on; + pinctrl-0 = <&board_antenna_power>; + pinctrl-names = "default"; + regulator-name = "board_antenna_power"; + status = "okay"; + }; + vdd_log: regulator-1v04-vdd-log { compatible = "regulator-fixed"; regulator-name = "vdd_log"; @@ -74,23 +102,6 @@ vcc_io: regulator-3v3-vcc-io { vin-supply = <&vcc5v0_sys>; }; - /* - * HW revision prior to v1.2 must pull GPIO4_D6 low to access sdmmc. - * This is modeled as an always-on active low fixed regulator. - */ - vcc_sd: regulator-3v3-vcc-sd { - compatible = "regulator-fixed"; - gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&sdmmc_2030>; - regulator-name = "vcc_sd"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&vcc_io>; - }; - vcc5v0_sys: regulator-5v0-vcc-sys { compatible = "regulator-fixed"; regulator-name = "vcc5v0_sys"; @@ -120,6 +131,11 @@ sdio_pwrseq: sdio-pwrseq { }; }; +&codec { + #sound-dai-cells = <0>; + status = "okay"; +}; + &cpu0 { cpu-supply = <&vdd_core>; }; @@ -158,6 +174,18 @@ rtl8201f: ethernet-phy@1 { }; }; +&i2s_8ch_0 { + #sound-dai-cells = <0>; + assigned-clocks = <&cru SCLK_I2S0_8CH_RX>; + assigned-clock-parents = <&cru SCLK_I2S0_8CH_TX_MUX>; + rockchip,clk-trcm = <1>; +}; + +&i2s_8ch_2 { + #sound-dai-cells = <0>; + status = "okay"; +}; + &io_domains { vccio0-supply = <&vcc_io>; vccio1-supply = <&vcc_io>; @@ -172,6 +200,14 @@ &pinctrl { pinctrl-names = "default"; pinctrl-0 = <&rtc_32k>; + antenna { + + board_antenna_power: board-antenna-power { + rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_down>; + }; + + }; + bluetooth { bt_reg_on: bt-reg-on { rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; @@ -213,6 +249,7 @@ wifi_wake_host: wifi-wake-host { rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; }; }; + }; &pwm0 { @@ -256,7 +293,13 @@ &sdmmc { cap-mmc-highspeed; cap-sd-highspeed; disable-wp; - vmmc-supply = <&vcc_sd>; + vmmc-supply = <&vcc_io>; + status = "okay"; +}; + +&tsadc { + rockchip,hw-tshut-mode = <0>; /* 0:CRU */ + rockchip,hw-tshut-polarity = <1>; /* 1:HIGH */ status = "okay"; }; -- Armbian