Last active
November 5, 2024 19:35
-
-
Save macromorgan/32277185643ae90d892c73e26d473bd9 to your computer and use it in GitHub Desktop.
RGxx3 Misc Fixes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From b6b53dc73e3eee903cf1de745266138d7a3327d8 Mon Sep 17 00:00:00 2001 | |
From: Chris Morgan <[email protected]> | |
Date: Thu, 31 Oct 2024 09:00:12 -0500 | |
Subject: [PATCH 00/10] Misc Fixes for RGxx3 | |
This is a series of misc fixes for the RGxx3, mostly aimed at reducing | |
power consumption. | |
Chris Morgan (10): | |
arm64: dts: rockchip: Add idle-states for rk356x | |
arm64: dts: rockchip: Add spk_amp regulator for Anbernic RGxx3 Devices | |
arm64: dts: rockchip: Add vcc for vibrator node on RGxx3 | |
arm64: dts: rockchip: Add avdd_0v9 and avdd_1v8 for RGxx3 HDMI | |
arm64: dts: rockchip: Correct pmu_io_domain regulators for RGxx3 | |
arm64: dts: rockchip: Correct boot enabled regulators for RGxx3 | |
arm64: dts: rockchip: Correctly identify always-on regulators for | |
RGxx3 | |
arm64: dts: rockchip: Enable DMA for uart1 on RGxx3 | |
arm64: dts: rockchip: Map wifi host-wake interrupt for RGxx3 | |
arm64: dts: rockchip: Set RGxx3 PMIC as system-power-controller | |
.../dts/rockchip/rk3566-anbernic-rg-arc.dtsi | 1 + | |
.../dts/rockchip/rk3566-anbernic-rg353p.dts | 1 + | |
.../dts/rockchip/rk3566-anbernic-rg353ps.dts | 1 + | |
.../dts/rockchip/rk3566-anbernic-rg503.dts | 1 + | |
.../dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 65 ++++++++++--------- | |
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 16 +++++ | |
6 files changed, 54 insertions(+), 31 deletions(-) | |
-- | |
2.43.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 44a2ac347f2505b7c4b0695f3dae44aa255aa73d Mon Sep 17 00:00:00 2001 | |
From: Chris Morgan <[email protected]> | |
Date: Wed, 30 Oct 2024 17:40:28 -0500 | |
Subject: [PATCH 01/10] arm64: dts: rockchip: Add idle-states for rk356x | |
Add the idle-states for the rk356x from the BSP kernel. I observed idle | |
power draw drop around 0.2w with this change in place on my Anbernic | |
RG353P device based around the rk3566 SoC. | |
Signed-off-by: Chris Morgan <[email protected]> | |
--- | |
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 16 ++++++++++++++++ | |
1 file changed, 16 insertions(+) | |
diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi | |
index 0ee0ada6f0ab..7cdfe293bf0c 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi | |
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi | |
@@ -55,6 +55,7 @@ cpu0: cpu@0 { | |
reg = <0x0 0x0>; | |
clocks = <&scmi_clk 0>; | |
#cooling-cells = <2>; | |
+ cpu-idle-states = <&CPU_SLEEP>; | |
enable-method = "psci"; | |
operating-points-v2 = <&cpu0_opp_table>; | |
i-cache-size = <0x8000>; | |
@@ -71,6 +72,7 @@ cpu1: cpu@100 { | |
compatible = "arm,cortex-a55"; | |
reg = <0x0 0x100>; | |
#cooling-cells = <2>; | |
+ cpu-idle-states = <&CPU_SLEEP>; | |
enable-method = "psci"; | |
operating-points-v2 = <&cpu0_opp_table>; | |
i-cache-size = <0x8000>; | |
@@ -87,6 +89,7 @@ cpu2: cpu@200 { | |
compatible = "arm,cortex-a55"; | |
reg = <0x0 0x200>; | |
#cooling-cells = <2>; | |
+ cpu-idle-states = <&CPU_SLEEP>; | |
enable-method = "psci"; | |
operating-points-v2 = <&cpu0_opp_table>; | |
i-cache-size = <0x8000>; | |
@@ -103,6 +106,7 @@ cpu3: cpu@300 { | |
compatible = "arm,cortex-a55"; | |
reg = <0x0 0x300>; | |
#cooling-cells = <2>; | |
+ cpu-idle-states = <&CPU_SLEEP>; | |
enable-method = "psci"; | |
operating-points-v2 = <&cpu0_opp_table>; | |
i-cache-size = <0x8000>; | |
@@ -113,6 +117,18 @@ cpu3: cpu@300 { | |
d-cache-sets = <128>; | |
next-level-cache = <&l3_cache>; | |
}; | |
+ | |
+ idle-states { | |
+ entry-method = "psci"; | |
+ CPU_SLEEP: cpu-sleep { | |
+ compatible = "arm,idle-state"; | |
+ local-timer-stop; | |
+ arm,psci-suspend-param = <0x0010000>; | |
+ entry-latency-us = <100>; | |
+ exit-latency-us = <120>; | |
+ min-residency-us = <1000>; | |
+ }; | |
+ }; | |
}; | |
/* | |
-- | |
2.43.0 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From e2dc16cb2004a87994641eed461ca87f620d782e Mon Sep 17 00:00:00 2001 | |
From: Chris Morgan <[email protected]> | |
Date: Wed, 30 Oct 2024 17:47:39 -0500 | |
Subject: [PATCH 02/10] arm64: dts: rockchip: Add spk_amp regulator for | |
Anbernic RGxx3 Devices | |
Define the VCC supply for the speaker amp on the Anbernic RGxx3 series | |
devices which use an external amplifier circuit (all do except the V | |
and VS series). This supply value was discovered by slightly raising | |
and lowering the voltages of various regulators from within the | |
bootloader and measuring for corresponding changes with a multimeter. | |
Signed-off-by: Chris Morgan <[email protected]> | |
--- | |
arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc.dtsi | 1 + | |
arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts | 1 + | |
arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts | 1 + | |
arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts | 1 + | |
4 files changed, 4 insertions(+) | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc.dtsi | |
index a4a60e4a53d4..012490092420 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc.dtsi | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc.dtsi | |
@@ -72,6 +72,7 @@ spk_amp: audio-amplifier { | |
pinctrl-0 = <&spk_amp_enable_h>; | |
pinctrl-names = "default"; | |
sound-name-prefix = "Speaker Amp"; | |
+ VCC-supply = <&vcc_3v3>; | |
}; | |
}; | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts | |
index a73cf30801ec..ec6b42f8383d 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts | |
@@ -74,6 +74,7 @@ spk_amp: audio-amplifier { | |
pinctrl-0 = <&spk_amp_enable_h>; | |
pinctrl-names = "default"; | |
sound-name-prefix = "Speaker Amp"; | |
+ VCC-supply = <&vcc_3v3>; | |
}; | |
}; | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts | |
index ca5284e4807d..a59eff0c78d6 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts | |
@@ -73,6 +73,7 @@ spk_amp: audio-amplifier { | |
pinctrl-0 = <&spk_amp_enable_h>; | |
pinctrl-names = "default"; | |
sound-name-prefix = "Speaker Amp"; | |
+ VCC-supply = <&vcc_3v3>; | |
}; | |
}; | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts | |
index 74cf313e0635..59e0448cb858 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts | |
@@ -163,6 +163,7 @@ spk_amp: audio-amplifier { | |
pinctrl-0 = <&spk_amp_enable_h>; | |
pinctrl-names = "default"; | |
sound-name-prefix = "Speaker Amp"; | |
+ VCC-supply = <&vcc_3v3>; | |
}; | |
}; | |
-- | |
2.43.0 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 9087d76cb76018b315306f6046b930b89d48fdb0 Mon Sep 17 00:00:00 2001 | |
From: Chris Morgan <[email protected]> | |
Date: Wed, 30 Oct 2024 17:54:04 -0500 | |
Subject: [PATCH 03/10] arm64: dts: rockchip: Add vcc for vibrator node on | |
RGxx3 | |
Define the vcc supply for the vibrator on the Anbernic RGxx3 series | |
devices. This supply value was discovered by enabling the pwm channel | |
to full duty and then slightly raising and lowering the voltages of | |
various regulators from within the bootloader and listening for | |
harmonic changes from the vibrator. | |
Signed-off-by: Chris Morgan <[email protected]> | |
--- | |
arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 1 + | |
1 file changed, 1 insertion(+) | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
index 233eade30f21..f4c753f5d335 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
@@ -198,6 +198,7 @@ vibrator: pwm-vibrator { | |
compatible = "pwm-vibrator"; | |
pwm-names = "enable"; | |
pwms = <&pwm5 0 1000000000 0>; | |
+ vcc-supply = <&vcc_3v3>; | |
}; | |
}; | |
-- | |
2.43.0 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 9a04ac451f738b82ada28544c44058c86191b43e Mon Sep 17 00:00:00 2001 | |
From: Chris Morgan <[email protected]> | |
Date: Wed, 30 Oct 2024 20:40:53 -0500 | |
Subject: [PATCH 04/10] arm64: dts: rockchip: Add avdd_0v9 and avdd_1v8 for | |
RGxx3 HDMI | |
Define the correct 0.9v and 1.8v regulators for the RGxx3 HDMI port. | |
The regulators used here appear to power most of the 0.9v and 1.8v | |
power groups listed on table 3-1 of the rk3566 datasheet. | |
Signed-off-by: Chris Morgan <[email protected]> | |
--- | |
arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 2 ++ | |
1 file changed, 2 insertions(+) | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
index f4c753f5d335..b5d7096ffbcc 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
@@ -231,6 +231,8 @@ &hdmi { | |
ddc-i2c-bus = <&i2c5>; | |
pinctrl-0 = <&hdmitxm0_cec>; | |
pinctrl-names = "default"; | |
+ avdd-0v9-supply = <&vdda0v9_pmu>; | |
+ avdd-1v8-supply = <&vcca1v8_pmu>; | |
status = "okay"; | |
}; | |
-- | |
2.43.0 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 09b4d1aea3e0d5bc12d255da680f2c7a9f6c4bd3 Mon Sep 17 00:00:00 2001 | |
From: Chris Morgan <[email protected]> | |
Date: Wed, 30 Oct 2024 20:46:46 -0500 | |
Subject: [PATCH 05/10] arm64: dts: rockchip: Correct pmu_io_domain regulators | |
for RGxx3 | |
Correct the pmu_io_domain regulators for the Anbernic RGxx3 series. | |
These domains were indivually tested by identifying a test point on the | |
board that corresponded to a pin within the power domain as stated in | |
section 2.7 of the rk3566 datasheet. The pin was then set to a GPIO | |
output of 1, and the voltage of the regulator was slightly adjusted up | |
or down until the changes matched what was observed on the pin. | |
Signed-off-by: Chris Morgan <[email protected]> | |
--- | |
arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 5 +++-- | |
1 file changed, 3 insertions(+), 2 deletions(-) | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
index b5d7096ffbcc..51d42421dad0 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
@@ -566,10 +566,11 @@ &pmu_io_domains { | |
pmuio1-supply = <&vcc3v3_pmu>; | |
pmuio2-supply = <&vcc3v3_pmu>; | |
vccio1-supply = <&vccio_acodec>; | |
+ vccio2-supply = <&vcc_1v8>; | |
vccio3-supply = <&vccio_sd>; | |
- vccio4-supply = <&vcc_1v8>; | |
+ vccio4-supply = <&vcc1v8_dvp>; | |
vccio5-supply = <&vcc_3v3>; | |
- vccio6-supply = <&vcc1v8_dvp>; | |
+ vccio6-supply = <&vcc_1v8>; | |
vccio7-supply = <&vcc_3v3>; | |
}; | |
-- | |
2.43.0 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From c407f79c07802cf1a07e472c5907565286be2728 Mon Sep 17 00:00:00 2001 | |
From: Chris Morgan <[email protected]> | |
Date: Wed, 30 Oct 2024 20:52:32 -0500 | |
Subject: [PATCH 06/10] arm64: dts: rockchip: Correct boot enabled regulators | |
for RGxx3 | |
Correct the RGxx3 series so that only regulators that are enabled at | |
boot (programmed by the OTP of the PMIC) are set with | |
regulator-boot-on. | |
Signed-off-by: Chris Morgan <[email protected]> | |
--- | |
arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 5 ----- | |
1 file changed, 5 deletions(-) | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
index 51d42421dad0..1c2008efc5b8 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
@@ -162,7 +162,6 @@ vcc3v3_lcd0_n: regulator-vcc3v3-lcd0 { | |
enable-active-high; | |
pinctrl-0 = <&vcc_lcd_h>; | |
pinctrl-names = "default"; | |
- regulator-boot-on; | |
regulator-min-microvolt = <3300000>; | |
regulator-max-microvolt = <3300000>; | |
regulator-name = "vcc3v3_lcd0_n"; | |
@@ -188,7 +187,6 @@ vcc_wifi: regulator-vcc-wifi { | |
pinctrl-0 = <&vcc_wifi_h>; | |
pinctrl-names = "default"; | |
regulator-always-on; | |
- regulator-boot-on; | |
regulator-min-microvolt = <3300000>; | |
regulator-max-microvolt = <3300000>; | |
regulator-name = "vcc_wifi"; | |
@@ -369,7 +367,6 @@ regulator-state-mem { | |
vccio_acodec: LDO_REG4 { | |
regulator-always-on; | |
- regulator-boot-on; | |
regulator-min-microvolt = <3300000>; | |
regulator-max-microvolt = <3300000>; | |
regulator-name = "vccio_acodec"; | |
@@ -414,7 +411,6 @@ regulator-state-mem { | |
vcc1v8_dvp: LDO_REG8 { | |
regulator-always-on; | |
- regulator-boot-on; | |
regulator-min-microvolt = <1800000>; | |
regulator-max-microvolt = <3300000>; | |
regulator-name = "vcc1v8_dvp"; | |
@@ -436,7 +432,6 @@ regulator-state-mem { | |
dcdc_boost: BOOST { | |
regulator-always-on; | |
- regulator-boot-on; | |
regulator-min-microvolt = <4700000>; | |
regulator-max-microvolt = <5400000>; | |
regulator-name = "boost"; | |
-- | |
2.43.0 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From ccc5b4ceb9fd590b5b245ab93da41415339d49e8 Mon Sep 17 00:00:00 2001 | |
From: Chris Morgan <[email protected]> | |
Date: Wed, 30 Oct 2024 20:59:43 -0500 | |
Subject: [PATCH 07/10] arm64: dts: rockchip: Correctly identify always-on | |
regulators for RGxx3 | |
Identify which regulators can be shut off in suspend, and which | |
regulators aren't used at all. This was discovered through trial and | |
error as no schematics were available for any of the devices in | |
question. | |
- regulator_vcc_wifi: I believe this can be disabled. Setting it to | |
off in suspend has shown no ill effects. | |
- vdd_logic: This is a critical regulator and cannot be shut off, even | |
in suspend. Marking "regulator-on-in-suspend". | |
- vdd_gpu: This regulator can be shut off in suspend with no observed | |
ill effects. | |
- LDO_REG2: I believe this regulator is unused. | |
- LDO_REG9: I believe this regulator is unused. | |
- BOOST: I am not yet sure if this regulator is used for the USB OTG | |
port, but for now since we run the OTG port as a peripheral it is | |
not used. | |
- vdd_cpu: This regulator can be shut off in suspend with no observed | |
ill effects. | |
Signed-off-by: Chris Morgan <[email protected]> | |
--- | |
.../dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 31 +++++-------------- | |
1 file changed, 8 insertions(+), 23 deletions(-) | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
index 1c2008efc5b8..494f4d38477a 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
@@ -186,10 +186,12 @@ vcc_wifi: regulator-vcc-wifi { | |
gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; | |
pinctrl-0 = <&vcc_wifi_h>; | |
pinctrl-names = "default"; | |
- regulator-always-on; | |
regulator-min-microvolt = <3300000>; | |
regulator-max-microvolt = <3300000>; | |
regulator-name = "vcc_wifi"; | |
+ regulator-state-mem { | |
+ regulator-off-in-suspend; | |
+ }; | |
}; | |
vibrator: pwm-vibrator { | |
@@ -289,13 +291,12 @@ vdd_logic: DCDC_REG1 { | |
regulator-initial-mode = <0x2>; | |
regulator-name = "vdd_logic"; | |
regulator-state-mem { | |
- regulator-off-in-suspend; | |
+ regulator-on-in-suspend; | |
regulator-suspend-microvolt = <900000>; | |
}; | |
}; | |
vdd_gpu: DCDC_REG2 { | |
- regulator-always-on; | |
regulator-boot-on; | |
regulator-min-microvolt = <500000>; | |
regulator-max-microvolt = <1350000>; | |
@@ -342,15 +343,8 @@ regulator-state-mem { | |
}; | |
}; | |
- vdda_0v9: LDO_REG2 { | |
- regulator-always-on; | |
- regulator-boot-on; | |
- regulator-min-microvolt = <900000>; | |
- regulator-max-microvolt = <900000>; | |
- regulator-name = "vdda_0v9"; | |
- regulator-state-mem { | |
- regulator-off-in-suspend; | |
- }; | |
+ LDO_REG2 { | |
+ /* unused */ | |
}; | |
vdda0v9_pmu: LDO_REG3 { | |
@@ -419,19 +413,11 @@ regulator-state-mem { | |
}; | |
}; | |
- vcc2v8_dvp: LDO_REG9 { | |
- regulator-always-on; | |
- regulator-boot-on; | |
- regulator-min-microvolt = <2800000>; | |
- regulator-max-microvolt = <2800000>; | |
- regulator-name = "vcc2v8_dvp"; | |
- regulator-state-mem { | |
- regulator-off-in-suspend; | |
- }; | |
+ LDO_REG9 { | |
+ /* Unused */ | |
}; | |
dcdc_boost: BOOST { | |
- regulator-always-on; | |
regulator-min-microvolt = <4700000>; | |
regulator-max-microvolt = <5400000>; | |
regulator-name = "boost"; | |
@@ -453,7 +439,6 @@ vdd_cpu: regulator@40 { | |
compatible = "fcs,fan53555"; | |
reg = <0x40>; | |
fcs,suspend-voltage-selector = <1>; | |
- regulator-always-on; | |
regulator-boot-on; | |
regulator-min-microvolt = <712500>; | |
regulator-max-microvolt = <1390000>; | |
-- | |
2.43.0 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 969b7d31b998dbe402623474796079b42446a25c Mon Sep 17 00:00:00 2001 | |
From: Chris Morgan <[email protected]> | |
Date: Wed, 30 Oct 2024 21:06:34 -0500 | |
Subject: [PATCH 08/10] arm64: dts: rockchip: Enable DMA for uart1 on RGxx3 | |
Enable DMA by adding the proper dma-names for uart1 on the RGxx3. | |
This allows the UART controller to then use DMA. | |
Signed-off-by: Chris Morgan <[email protected]> | |
--- | |
arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 1 + | |
1 file changed, 1 insertion(+) | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
index 494f4d38477a..be18b17ccfb7 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
@@ -627,6 +627,7 @@ &tsadc { | |
}; | |
&uart1 { | |
+ dma-names = "tx", "rx"; | |
pinctrl-0 = <&uart1m1_xfer &uart1m1_ctsn &uart1m1_rtsn>; | |
pinctrl-names = "default"; | |
uart-has-rtscts; | |
-- | |
2.43.0 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 92cbc696ad8385eb4780300e77d2d518bb8fe9da Mon Sep 17 00:00:00 2001 | |
From: Chris Morgan <[email protected]> | |
Date: Wed, 30 Oct 2024 21:09:36 -0500 | |
Subject: [PATCH 09/10] arm64: dts: rockchip: Map wifi host-wake interrupt for | |
RGxx3 | |
Define the interrupt connected to the rtl8821cs wifi host wake | |
functionality. | |
Signed-off-by: Chris Morgan <[email protected]> | |
--- | |
.../dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 18 ++++++++++++++++++ | |
1 file changed, 18 insertions(+) | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
index be18b17ccfb7..582befc90cef 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
@@ -533,6 +533,13 @@ vcc_lcd_h: vcc-lcd-h { | |
}; | |
}; | |
+ wifi { | |
+ wifi_host_wake_l: wifi-host-wake-l { | |
+ rockchip,pins = | |
+ <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_down>; | |
+ }; | |
+ }; | |
+ | |
vcc-wifi { | |
vcc_wifi_h: vcc-wifi-h { | |
rockchip,pins = | |
@@ -604,6 +611,8 @@ &sdmmc1 { | |
}; | |
&sdmmc2 { | |
+ #address-cells = <1>; | |
+ #size-cells = <0>; | |
bus-width = <4>; | |
cap-sd-highspeed; | |
cap-sdio-irq; | |
@@ -618,6 +627,15 @@ &sdmmc2 { | |
vmmc-supply = <&vcc_wifi>; | |
vqmmc-supply = <&vcca1v8_pmu>; | |
status = "okay"; | |
+ | |
+ wifi@1 { | |
+ reg = <1>; | |
+ interrupt-names = "host-wake"; | |
+ interrupt-parent = <&gpio4>; | |
+ interrupts = <RK_PA1 IRQ_TYPE_LEVEL_HIGH>; | |
+ pinctrl-0 = <&wifi_host_wake_l>; | |
+ pinctrl-names = "default"; | |
+ }; | |
}; | |
&tsadc { | |
-- | |
2.43.0 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From b6b53dc73e3eee903cf1de745266138d7a3327d8 Mon Sep 17 00:00:00 2001 | |
From: Chris Morgan <[email protected]> | |
Date: Wed, 30 Oct 2024 21:11:16 -0500 | |
Subject: [PATCH 10/10] arm64: dts: rockchip: Set RGxx3 PMIC as | |
system-power-controller | |
Add the "system-power-controller" tag to the PMIC on the RGxx3 series. | |
This is necessary for older versions of A-TF as well as mainline A-TF. | |
While we are at it, remove "wakeup-source" as the PMIC has its own | |
dedicated IRQ line. | |
Signed-off-by: Chris Morgan <[email protected]> | |
--- | |
arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 2 +- | |
1 file changed, 1 insertion(+), 1 deletion(-) | |
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
index 582befc90cef..db25fb03b5c0 100644 | |
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | |
@@ -269,7 +269,7 @@ rk817: pmic@20 { | |
#sound-dai-cells = <0>; | |
pinctrl-names = "default"; | |
pinctrl-0 = <&i2s1m0_mclk>, <&pmic_int_l>; | |
- wakeup-source; | |
+ system-power-controller; | |
vcc1-supply = <&vcc_sys>; | |
vcc2-supply = <&vcc_sys>; | |
-- | |
2.43.0 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment