Fixes for RGB30
Subsystems (3)
cover Fixes for RGB30
From: Chris Morgan <[email protected]>
After preliminary testing, a few users requested that I see if I can make the panel run at precisely 60hz. As the device is typically used for retro gaming, getting the panel to refresh as close to 60hz as possible is important.
Additionally, I accidentially left the UART2 enabled, even though this device does not have an exposed serial port on the board. Disable the UART in the device tree.
This patch series applies on top of the already applied commit here:
https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git/commit/?h=for-next&id=1e9ac3e8a6a9d4da9efbad2d8e95cc1140e0e23f
Chris Morgan (3):
clk: rockchip: rk3568: Add PLL rate for 292.5MHz
arm64: dts: rockchip: Update VPLL Frequency for RGB30
arm64: dts: rockchip: Remove UART2 from RGB30
.../arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts | 11 ++++++++++- drivers/clk/rockchip/clk-rk3568.c | 1 + 2 files changed, 11 insertions(+), 1 deletion(-)
Signature · 1 line
2.34.1
PATCH 1/3 clk: rockchip: rk3568: Add PLL rate for 292.5MHz
From: Chris Morgan <[email protected]>
Add support for a PLL rate of 292.5MHz so that the Powkiddy RGB30 panel can run at a requested 60hz (59.96, close enough).
I have confirmed this rate fits with all the constraints listed in the TRM for the VPLL (as an integer PLL) in Part 1 "Chapter 2 Clock & Reset Unit (CRU)."
--- drivers/clk/rockchip/clk-rk3568.c | 1 + 1 file changed, 1 insertion(+)
drivers/clk/rockchip/clk-rk3568.c +1 -0
@@ -72,6 +72,7 @@ static struct rockchip_pll_rate_table rk3568_pll_rates[] = {RK3036_PLL_RATE (408000000 ,1 ,68 ,2 ,2 ,1 ,0 ),RK3036_PLL_RATE (312000000 ,1 ,78 ,6 ,1 ,1 ,0 ),RK3036_PLL_RATE (297000000 ,2 ,99 ,4 ,1 ,1 ,0 ), +RK3036_PLL_RATE (292500000 ,1 ,195 ,4 ,4 ,1 ,0 ),RK3036_PLL_RATE (241500000 ,2 ,161 ,4 ,2 ,1 ,0 ),RK3036_PLL_RATE (216000000 ,1 ,72 ,4 ,2 ,1 ,0 ), RK3036_PLL_RATE(200000000, 1, 100, 3, 4, 1, 0),
Signature · 1 line
2.34.1
PATCH 2/3 arm64: dts: rockchip: Update VPLL Frequency for RGB30
In reply to Chris MorganFrom: Chris Morgan <[email protected]>
Set the VPLL frequency for the RGB30 to 292.5MHz to support running the 720x720 display panel at 59.97hz. Without this change, the panel runs at 59.08hz.
--- arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts +1 -1
@@ -68,7 +68,7 @@ &cru { assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, <&pmucru PLL_PPLL>, <&cru PLL_VPLL>; assigned-clock-rates = <32768>, <1200000000>, - <200000000>, <108000000>; + <200000000>, <292500000>; }; &gpio_keys_control {
Signature · 1 line
2.34.1
PATCH 3/3 arm64: dts: rockchip: Remove UART2 from RGB30
In reply to Chris MorganFrom: Chris Morgan <[email protected]>
The Powkiddy RGB30 has no onboard UART header, so remove the reference to it in the device tree. This was left on by mistake in the initial commit.
--- arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts | 9 +++++++++ 1 file changed, 9 insertions(+)
arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts +9 -0
@@ -64,6 +64,10 @@ simple-audio-card,cpu { /delete-node/ &adc_keys; +&chosen { + /delete-property/ stdout-path; +}; + &cru { assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;
@@ -149,4 +153,9 @@ rk817_charger: charger { }; }; +/* There is no UART header visible on the board for this device. */ +&uart2 { + status = "disabled"; +}; + /delete-node/ &vibrator;
Signature · 1 line
2.34.1
Re: [PATCH 3/3] arm64: dts: rockchip: Remove UART2 from RGB30
Hello Chris,
Quoted 5 lines · Chris Morgan
From: Chris Morgan <[email protected]>
The Powkiddy RGB30 has no onboard UART header, so remove the reference to it in the device tree. This was left on by mistake in the initial commit.
Do you know if the UART is perhaps available over testpoints?
If yes, having a DT-overlay upstream enabling it along with documentation could be useful. If not, how do you do low-level debugging on the RBG30 in absence of the serial console?
Thanks,
Ahmad
Quoted 31 lines
Signed-off-by Chris Morgan <[email protected]>--- arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts | 9 +++++++++ 1 file changed, 9 insertions(+)arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts +9
-0@@ -64,6 +64,10 @@ simple-audio-card,cpu { /delete-node/ &adc_keys; +&chosen { + /delete-property/ stdout-path; +}; + &cru { assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;@@ -149,4 +153,9 @@ rk817_charger: charger { }; }; +/* There is no UART header visible on the board for this device. */ +&uart2 { + status = "disabled"; +}; + /delete-node/ &vibrator;
Signature · 4 lines
Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Re: [PATCH 3/3] arm64: dts: rockchip: Remove UART2 from RGB30
Quoted 10 lines · Ahmad Fatoum
Hello Chris,
Quoted 5 lines · Chris Morgan
From: Chris Morgan <[email protected]>
The Powkiddy RGB30 has no onboard UART header, so remove the reference to it in the device tree. This was left on by mistake in the initial commit.
Do you know if the UART is perhaps available over testpoints?
There is not one as best I can tell on either the RGB30 or RK2023. The Powkiddy X55 does have UART, however. I was able to exploit the fact that the RGB30 is extremely similar to all of the Anbernic devices (such as the RG353 series) for the purposes of low-level development. Once I got a network connection I performed the rest of development over SSH, but prior to that I just developed on a different device.
Thank you,
Chris.
Quoted 45 lines
If yes, having a DT-overlay upstream enabling it along with documentation could be useful. If not, how do you do low-level debugging on the RBG30 in absence of the serial console?
Thanks,
AhmadQuoted 31 lines
Signed-off-by Chris Morgan <[email protected]>--- arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts | 9 +++++++++ 1 file changed, 9 insertions(+)arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts +9
-0@@ -64,6 +64,10 @@ simple-audio-card,cpu { /delete-node/ &adc_keys; +&chosen { + /delete-property/ stdout-path; +}; + &cru { assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;@@ -149,4 +153,9 @@ rk817_charger: charger { }; }; +/* There is no UART header visible on the board for this device. */ +&uart2 { + status = "disabled"; +}; + /delete-node/ &vibrator;Signature · 4 lines
Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Re: [PATCH 3/3] arm64: dts: rockchip: Remove UART2 from RGB30
Hello Chris,
Quoted 10 lines · Chris Morgan
Quoted 9 lines · Ahmad Fatoum
Hello Chris,
Quoted 5 lines · Chris Morgan
From: Chris Morgan <[email protected]>
The Powkiddy RGB30 has no onboard UART header, so remove the reference to it in the device tree. This was left on by mistake in the initial commit.
Quoted 8 lines
Quoted 1 line
Do you know if the UART is perhaps available over testpoints?
There is not one as best I can tell on either the RGB30 or RK2023. The Powkiddy X55 does have UART, however. I was able to exploit the fact that the RGB30 is extremely similar to all of the Anbernic devices (such as the RG353 series) for the purposes of low-level development. Once I got a network connection I performed the rest of development over SSH, but prior to that I just developed on a different device.
Thanks for the info.
AFAICS, it should be possible to get a console by changing the pinmux setting on the Game TF-Card:
SDMMC1_D0/UART6_RX_M0/GPIO2_A3_u
SDMMC1_D1/UART6_TX_M0/GPIO2_A4_u
SDMMC1_D2/UART7_RX_M0/GPIO2_A5_u
SDMMC1_D3/UART7_TX_M0/GPIO2_A6_u
SDMMC1_CMD/UART9_RX_M0/GPIO2_A7_u
SDMMC1_CLK/UART9_TX_M0/GPIO2_B0_d
I will give that a try.
Cheers,
Ahmad
Quoted 50 lines
Thank you,
Chris.Quoted 45 lines
If yes, having a DT-overlay upstream enabling it along with documentation could be useful. If not, how do you do low-level debugging on the RBG30 in absence of the serial console?
Thanks,
AhmadQuoted 31 lines
Signed-off-by Chris Morgan <[email protected]>--- arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts | 9 +++++++++ 1 file changed, 9 insertions(+)arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts +9
-0@@ -64,6 +64,10 @@ simple-audio-card,cpu { /delete-node/ &adc_keys; +&chosen { + /delete-property/ stdout-path; +}; + &cru { assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;@@ -149,4 +153,9 @@ rk817_charger: charger { }; }; +/* There is no UART header visible on the board for this device. */ +&uart2 { + status = "disabled"; +}; + /delete-node/ &vibrator;Signature · 4 lines
Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Signature · 4 lines
Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Quoted 8 lines · Chris Morgan
From: Chris Morgan <[email protected]>
After preliminary testing, a few users requested that I see if I can make the panel run at precisely 60hz. As the device is typically used for retro gaming, getting the panel to refresh as close to 60hz as possible is important.
[...]
Applied, thanks!
[1/3] clk: rockchip: rk3568: Add PLL rate for 292.5MHz
commit: bb8ab7335bd2f55706fd09f5ce431207a746d99a
[2/3] arm64: dts: rockchip: Update VPLL Frequency for RGB30
commit: 793e0d8988bc0e6bf2ff5c6df7fc81ec8c53a93e
[3/3] arm64: dts: rockchip: Remove UART2 from RGB30
commit: efa1d1c6c8e4f89eedef9035d1f74fe98861eb30Best regards,
Signature · 1 line
Heiko Stuebner <[email protected]>