devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] Add Support for RK3566 Powkiddy RGB30
@ 2023-10-13 18:39 Chris Morgan
  2023-10-13 18:39 ` [PATCH 1/5] dt-bindings: vendor-prefixes: document Powkiddy Chris Morgan
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Chris Morgan @ 2023-10-13 18:39 UTC (permalink / raw)
  To: linux-rockchip
  Cc: dri-devel, devicetree, sebastian.reichel, andyshrk, jagan, daniel,
	airlied, sam, neil.armstrong, megous, kernel, agx, heiko,
	conor+dt, krzysztof.kozlowski+dt, robh+dt, Chris Morgan

From: Chris Morgan <macromorgan@hotmail.com>

Add support for the Powkiddy RGB30 handheld gaming console.

Chris Morgan (5):
  dt-bindings: vendor-prefixes: document Powkiddy
  dt-bindings: panel: Add Powkiddy RGB30 panel compatible
  drm/panel: st7703: Add Powkiddy RGB30 Panel Support
  dt-bindings: arm64: rockchip: add Powkiddy RGB30
  arm64: dts: rockchip: add support for Powkiddy RGB30

 .../devicetree/bindings/arm/rockchip.yaml     |   5 +
 .../display/panel/rocktech,jh057n00900.yaml   |   2 +
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 .../dts/rockchip/rk3566-powkiddy-rgb30.dts    | 152 ++++++++++++++++++
 drivers/gpu/drm/panel/panel-sitronix-st7703.c |  89 ++++++++++
 6 files changed, 251 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts

-- 
2.34.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/5] dt-bindings: vendor-prefixes: document Powkiddy
  2023-10-13 18:39 [PATCH 0/5] Add Support for RK3566 Powkiddy RGB30 Chris Morgan
@ 2023-10-13 18:39 ` Chris Morgan
  2023-10-16 12:28   ` Krzysztof Kozlowski
  2023-10-13 18:39 ` [PATCH 2/5] dt-bindings: panel: Add Powkiddy RGB30 panel compatible Chris Morgan
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Chris Morgan @ 2023-10-13 18:39 UTC (permalink / raw)
  To: linux-rockchip
  Cc: dri-devel, devicetree, sebastian.reichel, andyshrk, jagan, daniel,
	airlied, sam, neil.armstrong, megous, kernel, agx, heiko,
	conor+dt, krzysztof.kozlowski+dt, robh+dt, Chris Morgan

From: Chris Morgan <macromorgan@hotmail.com>

Document Powkiddy (https://powkiddy.com/).

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 573578db9509..25fd2dc378f5 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1081,6 +1081,8 @@ patternProperties:
     description: Powertip Tech. Corp.
   "^powervr,.*":
     description: PowerVR (deprecated, use img)
+  "^powkiddy,.*":
+    description: Powkiddy
   "^primux,.*":
     description: Primux Trading, S.L.
   "^probox2,.*":
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 2/5] dt-bindings: panel: Add Powkiddy RGB30 panel compatible
  2023-10-13 18:39 [PATCH 0/5] Add Support for RK3566 Powkiddy RGB30 Chris Morgan
  2023-10-13 18:39 ` [PATCH 1/5] dt-bindings: vendor-prefixes: document Powkiddy Chris Morgan
@ 2023-10-13 18:39 ` Chris Morgan
  2023-10-16 12:29   ` Krzysztof Kozlowski
  2023-10-13 18:39 ` [PATCH 3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support Chris Morgan
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Chris Morgan @ 2023-10-13 18:39 UTC (permalink / raw)
  To: linux-rockchip
  Cc: dri-devel, devicetree, sebastian.reichel, andyshrk, jagan, daniel,
	airlied, sam, neil.armstrong, megous, kernel, agx, heiko,
	conor+dt, krzysztof.kozlowski+dt, robh+dt, Chris Morgan

From: Chris Morgan <macromorgan@hotmail.com>

The Powkiddy RGB30 panel is a 4 inch 720x720 MIPI-DSI LCD panel. It
appears to be based on the ST7703 LCD controller (this is assumed from
the init sequence similarity between this and other displays). Powkiddy
would not share the part number or name for the display from the bill
of materials and there were no obvious external markings, so name the
panel for the device (Powkiddy RGB30).

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
---
 .../devicetree/bindings/display/panel/rocktech,jh057n00900.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml b/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml
index 5ea74426b1d5..97cccd8a8479 100644
--- a/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml
+++ b/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml
@@ -22,6 +22,8 @@ properties:
     enum:
       # Anberic RG353V-V2 5.0" 640x480 TFT LCD panel
       - anbernic,rg353v-panel-v2
+      # Powkiddy RGB30 3.0" 720x720 TFT LCD panel
+      - powkiddy,rgb30-panel
       # Rocktech JH057N00900 5.5" 720x1440 TFT LCD panel
       - rocktech,jh057n00900
       # Xingbangda XBD599 5.99" 720x1440 TFT LCD panel
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support
  2023-10-13 18:39 [PATCH 0/5] Add Support for RK3566 Powkiddy RGB30 Chris Morgan
  2023-10-13 18:39 ` [PATCH 1/5] dt-bindings: vendor-prefixes: document Powkiddy Chris Morgan
  2023-10-13 18:39 ` [PATCH 2/5] dt-bindings: panel: Add Powkiddy RGB30 panel compatible Chris Morgan
@ 2023-10-13 18:39 ` Chris Morgan
  2023-10-16  8:33   ` Guido Günther
  2023-10-13 18:39 ` [PATCH 4/5] dt-bindings: arm64: rockchip: add Powkiddy RGB30 Chris Morgan
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Chris Morgan @ 2023-10-13 18:39 UTC (permalink / raw)
  To: linux-rockchip
  Cc: dri-devel, devicetree, sebastian.reichel, andyshrk, jagan, daniel,
	airlied, sam, neil.armstrong, megous, kernel, agx, heiko,
	conor+dt, krzysztof.kozlowski+dt, robh+dt, Chris Morgan

From: Chris Morgan <macromorgan@hotmail.com>

The Powkiddy RGB30 4 inch panel is a 4 inch 720x720 DSI panel used in
the Powkiddy RGB30 handheld gaming device. Add support for it.

TODO: The panel seems to not resume properly from suspend. I've
confirmed on the other ST7703 based devices it works correctly.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
---
 drivers/gpu/drm/panel/panel-sitronix-st7703.c | 89 +++++++++++++++++++
 1 file changed, 89 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
index 6a3945639535..a9892a4447fb 100644
--- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
@@ -433,6 +433,94 @@ static const struct st7703_panel_desc rg353v2_desc = {
 	.init_sequence = rg353v2_init_sequence,
 };
 
+static int rgb30panel_init_sequence(struct st7703 *ctx)
+{
+	struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
+
+	/* Init sequence extracted from Powkiddy RGB30 BSP kernel. */
+
+	/*
+	 * For some reason this specific panel must be taken out of sleep
+	 * before the full init sequence, or else it will not display.
+	 */
+	mipi_dsi_dcs_exit_sleep_mode(dsi);
+	msleep(250);
+
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, 0xf1, 0x12, 0x83);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI, 0x33, 0x81, 0x05, 0xf9,
+			       0x0e, 0x0e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+			       0x00, 0x00, 0x44, 0x25, 0x00, 0x90, 0x0a, 0x00,
+			       0x00, 0x01, 0x4f, 0x01, 0x00, 0x00, 0x37);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, 0x25, 0x22, 0xf0,
+			       0x63);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_UNKNOWN_BF, 0x02, 0x11, 0x00);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF, 0x10, 0x10, 0x28,
+			       0x28, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR, 0x73, 0x73, 0x50, 0x50,
+			       0x00, 0x00, 0x12, 0x70, 0x00);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x46);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0b);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0x3c, 0x12, 0x30);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ, 0x07, 0x07, 0x0b, 0x0b,
+			       0x03, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
+			       0xc0, 0x10);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER, 0x36, 0x00, 0x32,
+			       0x32, 0x77, 0xf1, 0xcc, 0xcc, 0x77, 0x77, 0x33,
+			       0x33);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x0a, 0x0a);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x88, 0x88);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1, 0xc8, 0x10, 0x0a, 0x10,
+			       0x0f, 0xa1, 0x80, 0x12, 0x31, 0x23, 0x47, 0x86,
+			       0xa1, 0x80, 0x47, 0x08, 0x00, 0x00, 0x0d, 0x00,
+			       0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+			       0x48, 0x02, 0x8b, 0xaf, 0x46, 0x02, 0x88, 0x88,
+			       0x88, 0x88, 0x88, 0x48, 0x13, 0x8b, 0xaf, 0x57,
+			       0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00,
+			       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			       0x00, 0x00, 0x00);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2, 0x96, 0x12, 0x01, 0x01,
+			       0x01, 0x78, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+			       0x4f, 0x31, 0x8b, 0xa8, 0x31, 0x75, 0x88, 0x88,
+			       0x88, 0x88, 0x88, 0x4f, 0x20, 0x8b, 0xa8, 0x20,
+			       0x64, 0x88, 0x88, 0x88, 0x88, 0x88, 0x23, 0x00,
+			       0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+			       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			       0x00, 0x00, 0x40, 0xa1, 0x80, 0x00, 0x00, 0x00,
+			       0x00);
+	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA, 0x00, 0x0a, 0x0f,
+			       0x29, 0x3b, 0x3f, 0x42, 0x39, 0x06, 0x0d, 0x10,
+			       0x13, 0x15, 0x14, 0x15, 0x10, 0x17, 0x00, 0x0a,
+			       0x0f, 0x29, 0x3b, 0x3f, 0x42, 0x39, 0x06, 0x0d,
+			       0x10, 0x13, 0x15, 0x14, 0x15, 0x10, 0x17);
+
+	return 0;
+}
+
+static const struct drm_display_mode rgb30panel_mode = {
+	.hdisplay	= 720,
+	.hsync_start	= 720 + 45,
+	.hsync_end	= 720 + 45 + 4,
+	.htotal		= 720 + 45 + 4 + 45,
+	.vdisplay	= 720,
+	.vsync_start	= 720 + 15,
+	.vsync_end	= 720 + 15 + 3,
+	.vtotal		= 720 + 15 + 3 + 11,
+	.clock		= 36570,
+	.flags		= DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
+	.width_mm	= 76,
+	.height_mm	= 76,
+};
+
+static const struct st7703_panel_desc rgb30panel_desc = {
+	.mode = &rgb30panel_mode,
+	.lanes = 4,
+	.mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
+		      MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_LPM,
+	.format = MIPI_DSI_FMT_RGB888,
+	.init_sequence = rgb30panel_init_sequence,
+};
+
 static int st7703_enable(struct drm_panel *panel)
 {
 	struct st7703 *ctx = panel_to_st7703(panel);
@@ -694,6 +782,7 @@ static void st7703_remove(struct mipi_dsi_device *dsi)
 
 static const struct of_device_id st7703_of_match[] = {
 	{ .compatible = "anbernic,rg353v-panel-v2", .data = &rg353v2_desc },
+	{ .compatible = "powkiddy,rgb30-panel", .data = &rgb30panel_desc },
 	{ .compatible = "rocktech,jh057n00900", .data = &jh057n00900_panel_desc },
 	{ .compatible = "xingbangda,xbd599", .data = &xbd599_desc },
 	{ /* sentinel */ }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 4/5] dt-bindings: arm64: rockchip: add Powkiddy RGB30
  2023-10-13 18:39 [PATCH 0/5] Add Support for RK3566 Powkiddy RGB30 Chris Morgan
                   ` (2 preceding siblings ...)
  2023-10-13 18:39 ` [PATCH 3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support Chris Morgan
@ 2023-10-13 18:39 ` Chris Morgan
  2023-10-16 12:29   ` Krzysztof Kozlowski
  2023-10-13 18:39 ` [PATCH 5/5] arm64: dts: rockchip: add support for " Chris Morgan
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Chris Morgan @ 2023-10-13 18:39 UTC (permalink / raw)
  To: linux-rockchip
  Cc: dri-devel, devicetree, sebastian.reichel, andyshrk, jagan, daniel,
	airlied, sam, neil.armstrong, megous, kernel, agx, heiko,
	conor+dt, krzysztof.kozlowski+dt, robh+dt, Chris Morgan

From: Chris Morgan <macromorgan@hotmail.com>

The Powkiddy RGB30 is a portable handheld console from Powkiddy which
uses the Rockchip RK3566 SoC.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
---
 Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
index ca5389862887..a349bf4da6bc 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.yaml
+++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
@@ -669,6 +669,11 @@ properties:
           - const: pine64,soquartz
           - const: rockchip,rk3566
 
+      - description: Powkiddy RGB30
+        items:
+          - const: powkiddy,rgb30
+          - const: rockchip,rk3566
+
       - description: Radxa Compute Module 3(CM3)
         items:
           - enum:
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 5/5] arm64: dts: rockchip: add support for Powkiddy RGB30
  2023-10-13 18:39 [PATCH 0/5] Add Support for RK3566 Powkiddy RGB30 Chris Morgan
                   ` (3 preceding siblings ...)
  2023-10-13 18:39 ` [PATCH 4/5] dt-bindings: arm64: rockchip: add Powkiddy RGB30 Chris Morgan
@ 2023-10-13 18:39 ` Chris Morgan
  2023-10-16 20:58 ` (subset) [PATCH 0/5] Add Support for RK3566 " Heiko Stuebner
  2023-10-16 21:02 ` Heiko Stuebner
  6 siblings, 0 replies; 17+ messages in thread
From: Chris Morgan @ 2023-10-13 18:39 UTC (permalink / raw)
  To: linux-rockchip
  Cc: dri-devel, devicetree, sebastian.reichel, andyshrk, jagan, daniel,
	airlied, sam, neil.armstrong, megous, kernel, agx, heiko,
	conor+dt, krzysztof.kozlowski+dt, robh+dt, Chris Morgan

From: Chris Morgan <macromorgan@hotmail.com>

The Powkiddy RGB30 is a portable game device based on the Rockchip
RK3566 SoC. It has GPIO buttons on the face and sides for input, stereo
speakers, a 720x720 4 inch DSI display, a USB-C host port and a USB-C
peripheral port, dual SD card slots, WiFi, Bluetooth, and 1GB of RAM.

Working/Tested:
- SDMMC
- UART (for debugging)
- Buttons
- Charging/battery/PMIC
- Speaker/Headphones
- USB
- WiFi
- Bluetooth
- Display (at 59.04hz)

Not Working/TODO:
- Display does not resume from suspend properly. I'm working with the
  manufacturer to resolve this.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
---
 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 .../dts/rockchip/rk3566-powkiddy-rgb30.dts    | 152 ++++++++++++++++++
 2 files changed, 153 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts

diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index e7728007fd1b..3f01b429a3aa 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -77,6 +77,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353vs.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg503.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.1.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.2.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-powkiddy-rgb30.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-a.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-b.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-radxa-cm3-io.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts
new file mode 100644
index 000000000000..c7828c99a1bb
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts
@@ -0,0 +1,152 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+#include "rk3566-anbernic-rg353x.dtsi"
+
+/ {
+	model = "RGB30";
+	compatible = "powkiddy,rgb30", "rockchip,rk3566";
+
+	aliases {
+		mmc1 = &sdmmc0;
+		mmc2 = &sdmmc1;
+		mmc3 = &sdmmc2;
+	};
+
+	battery: battery {
+		compatible = "simple-battery";
+		charge-full-design-microamp-hours = <3151000>;
+		charge-term-current-microamp = <300000>;
+		constant-charge-current-max-microamp = <2000000>;
+		constant-charge-voltage-max-microvolt = <4250000>;
+		factory-internal-resistance-micro-ohms = <117000>;
+		voltage-max-design-microvolt = <4172000>;
+		voltage-min-design-microvolt = <3400000>;
+
+		ocv-capacity-celsius = <20>;
+		ocv-capacity-table-0 =  <4172000 100>, <4092000 95>, <4035000 90>, <3990000 85>,
+					<3939000 80>, <3895000 75>, <3852000 70>, <3807000 65>,
+					<3762000 60>, <3713000 55>, <3672000 50>, <3647000 45>,
+					<3629000 40>, <3613000 35>, <3598000 30>, <3578000 25>,
+					<3550000 20>, <3519000 15>, <3479000 10>, <3438000 5>,
+					<3400000 0>;
+	};
+
+	/*
+	 * Channels reversed for speakers. Headphones automatically switch via hardware when
+	 * detected with no ability to control output in software. Headphones appear to be mono
+	 * (each output channel receives all audio). No microphone support on 3.5mm jack.
+	 */
+	sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "rk817_ext";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,mclk-fs = <256>;
+		simple-audio-card,widgets =
+			"Headphone", "Headphones";
+		simple-audio-card,routing =
+			"Headphones", "HPOL",
+			"Headphones", "HPOR";
+
+		simple-audio-card,codec {
+			sound-dai = <&rk817>;
+		};
+
+		simple-audio-card,cpu {
+			sound-dai = <&i2s1_8ch>;
+		};
+	};
+};
+
+/delete-node/ &adc_keys;
+
+&cru {
+	assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>,
+			  <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;
+	assigned-clock-rates = <32768>, <1200000000>,
+			       <200000000>, <108000000>;
+};
+
+&gpio_keys_control {
+	button-r1 {
+		gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
+		label = "TR";
+		linux,code = <BTN_TR>;
+	};
+
+	button-r2 {
+		gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
+		label = "TR2";
+		linux,code = <BTN_TR2>;
+	};
+};
+
+/delete-node/ &{/i2c@fdd40000/regulator@40};
+
+&i2c0 {
+	vdd_cpu: regulator@1c {
+		compatible = "tcs,tcs4525";
+		reg = <0x1c>;
+		fcs,suspend-voltage-selector = <1>;
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <712500>;
+		regulator-max-microvolt = <1390000>;
+		regulator-name = "vdd_cpu";
+		regulator-ramp-delay = <2300>;
+		vin-supply = <&vcc_sys>;
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
+};
+
+/*
+ * Device has 2 red LEDs instead of an amber and a red. Relabel LEDs as
+ * red_led0 and red_led1.
+ */
+/delete-node/ &{/pwm-leds/led-1};
+/delete-node/ &{/pwm-leds/led-2};
+
+&leds {
+	red_led0: led-1 {
+		color = <LED_COLOR_ID_RED>;
+		function = LED_FUNCTION_CHARGING;
+		max-brightness = <255>;
+		pwms = <&pwm7 0 25000 0>;
+	};
+
+	red_led1: led-2 {
+		color = <LED_COLOR_ID_RED>;
+		default-state = "off";
+		function = LED_FUNCTION_STATUS;
+		max-brightness = <255>;
+		pwms = <&pwm0 0 25000 0>;
+	};
+};
+
+&panel {
+	compatible = "powkiddy,rgb30-panel";
+	vcc-supply = <&vcc3v3_lcd0_n>;
+	iovcc-supply = <&vcc3v3_lcd0_n>;
+	/delete-property/ vdd-supply;
+};
+
+&pwm5 {
+	status = "disabled";
+};
+
+&rk817 {
+	rk817_charger: charger {
+		monitored-battery = <&battery>;
+		rockchip,resistor-sense-micro-ohms = <10000>;
+		rockchip,sleep-enter-current-microamp = <300000>;
+		rockchip,sleep-filter-current-microamp = <100000>;
+	};
+};
+
+/delete-node/ &vibrator;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support
  2023-10-13 18:39 ` [PATCH 3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support Chris Morgan
@ 2023-10-16  8:33   ` Guido Günther
  2023-10-16 15:52     ` Chris Morgan
  0 siblings, 1 reply; 17+ messages in thread
From: Guido Günther @ 2023-10-16  8:33 UTC (permalink / raw)
  To: Chris Morgan
  Cc: linux-rockchip, dri-devel, devicetree, sebastian.reichel,
	andyshrk, jagan, daniel, airlied, sam, neil.armstrong, megous,
	kernel, heiko, conor+dt, krzysztof.kozlowski+dt, robh+dt,
	Chris Morgan

Hi Chris,
On Fri, Oct 13, 2023 at 01:39:16PM -0500, Chris Morgan wrote:
> From: Chris Morgan <macromorgan@hotmail.com>
> 
> The Powkiddy RGB30 4 inch panel is a 4 inch 720x720 DSI panel used in
> the Powkiddy RGB30 handheld gaming device. Add support for it.
> 
> TODO: The panel seems to not resume properly from suspend. I've
> confirmed on the other ST7703 based devices it works correctly.

Regarding drm-misc-next has improvements regarding this prompted by the
PinePhone. Maybe that fixes suspend for you too?

Cheers,
 -- Guido

> 
> Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
> ---
>  drivers/gpu/drm/panel/panel-sitronix-st7703.c | 89 +++++++++++++++++++
>  1 file changed, 89 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
> index 6a3945639535..a9892a4447fb 100644
> --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
> +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
> @@ -433,6 +433,94 @@ static const struct st7703_panel_desc rg353v2_desc = {
>  	.init_sequence = rg353v2_init_sequence,
>  };
>  
> +static int rgb30panel_init_sequence(struct st7703 *ctx)
> +{
> +	struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
> +
> +	/* Init sequence extracted from Powkiddy RGB30 BSP kernel. */
> +
> +	/*
> +	 * For some reason this specific panel must be taken out of sleep
> +	 * before the full init sequence, or else it will not display.
> +	 */
> +	mipi_dsi_dcs_exit_sleep_mode(dsi);
> +	msleep(250);
> +
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, 0xf1, 0x12, 0x83);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI, 0x33, 0x81, 0x05, 0xf9,
> +			       0x0e, 0x0e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
> +			       0x00, 0x00, 0x44, 0x25, 0x00, 0x90, 0x0a, 0x00,
> +			       0x00, 0x01, 0x4f, 0x01, 0x00, 0x00, 0x37);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, 0x25, 0x22, 0xf0,
> +			       0x63);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_UNKNOWN_BF, 0x02, 0x11, 0x00);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF, 0x10, 0x10, 0x28,
> +			       0x28, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR, 0x73, 0x73, 0x50, 0x50,
> +			       0x00, 0x00, 0x12, 0x70, 0x00);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x46);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0b);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0x3c, 0x12, 0x30);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ, 0x07, 0x07, 0x0b, 0x0b,
> +			       0x03, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
> +			       0xc0, 0x10);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER, 0x36, 0x00, 0x32,
> +			       0x32, 0x77, 0xf1, 0xcc, 0xcc, 0x77, 0x77, 0x33,
> +			       0x33);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x0a, 0x0a);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x88, 0x88);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1, 0xc8, 0x10, 0x0a, 0x10,
> +			       0x0f, 0xa1, 0x80, 0x12, 0x31, 0x23, 0x47, 0x86,
> +			       0xa1, 0x80, 0x47, 0x08, 0x00, 0x00, 0x0d, 0x00,
> +			       0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
> +			       0x48, 0x02, 0x8b, 0xaf, 0x46, 0x02, 0x88, 0x88,
> +			       0x88, 0x88, 0x88, 0x48, 0x13, 0x8b, 0xaf, 0x57,
> +			       0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00,
> +			       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> +			       0x00, 0x00, 0x00);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2, 0x96, 0x12, 0x01, 0x01,
> +			       0x01, 0x78, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
> +			       0x4f, 0x31, 0x8b, 0xa8, 0x31, 0x75, 0x88, 0x88,
> +			       0x88, 0x88, 0x88, 0x4f, 0x20, 0x8b, 0xa8, 0x20,
> +			       0x64, 0x88, 0x88, 0x88, 0x88, 0x88, 0x23, 0x00,
> +			       0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
> +			       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> +			       0x00, 0x00, 0x40, 0xa1, 0x80, 0x00, 0x00, 0x00,
> +			       0x00);
> +	mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA, 0x00, 0x0a, 0x0f,
> +			       0x29, 0x3b, 0x3f, 0x42, 0x39, 0x06, 0x0d, 0x10,
> +			       0x13, 0x15, 0x14, 0x15, 0x10, 0x17, 0x00, 0x0a,
> +			       0x0f, 0x29, 0x3b, 0x3f, 0x42, 0x39, 0x06, 0x0d,
> +			       0x10, 0x13, 0x15, 0x14, 0x15, 0x10, 0x17);
> +
> +	return 0;
> +}
> +
> +static const struct drm_display_mode rgb30panel_mode = {
> +	.hdisplay	= 720,
> +	.hsync_start	= 720 + 45,
> +	.hsync_end	= 720 + 45 + 4,
> +	.htotal		= 720 + 45 + 4 + 45,
> +	.vdisplay	= 720,
> +	.vsync_start	= 720 + 15,
> +	.vsync_end	= 720 + 15 + 3,
> +	.vtotal		= 720 + 15 + 3 + 11,
> +	.clock		= 36570,
> +	.flags		= DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> +	.width_mm	= 76,
> +	.height_mm	= 76,
> +};
> +
> +static const struct st7703_panel_desc rgb30panel_desc = {
> +	.mode = &rgb30panel_mode,
> +	.lanes = 4,
> +	.mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
> +		      MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_LPM,
> +	.format = MIPI_DSI_FMT_RGB888,
> +	.init_sequence = rgb30panel_init_sequence,
> +};
> +
>  static int st7703_enable(struct drm_panel *panel)
>  {
>  	struct st7703 *ctx = panel_to_st7703(panel);
> @@ -694,6 +782,7 @@ static void st7703_remove(struct mipi_dsi_device *dsi)
>  
>  static const struct of_device_id st7703_of_match[] = {
>  	{ .compatible = "anbernic,rg353v-panel-v2", .data = &rg353v2_desc },
> +	{ .compatible = "powkiddy,rgb30-panel", .data = &rgb30panel_desc },
>  	{ .compatible = "rocktech,jh057n00900", .data = &jh057n00900_panel_desc },
>  	{ .compatible = "xingbangda,xbd599", .data = &xbd599_desc },
>  	{ /* sentinel */ }
> -- 
> 2.34.1
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/5] dt-bindings: vendor-prefixes: document Powkiddy
  2023-10-13 18:39 ` [PATCH 1/5] dt-bindings: vendor-prefixes: document Powkiddy Chris Morgan
@ 2023-10-16 12:28   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2023-10-16 12:28 UTC (permalink / raw)
  To: Chris Morgan, linux-rockchip
  Cc: dri-devel, devicetree, sebastian.reichel, andyshrk, jagan, daniel,
	airlied, sam, neil.armstrong, megous, kernel, agx, heiko,
	conor+dt, krzysztof.kozlowski+dt, robh+dt, Chris Morgan

On 13/10/2023 20:39, Chris Morgan wrote:
> From: Chris Morgan <macromorgan@hotmail.com>
> 
> Document Powkiddy (https://powkiddy.com/).
> 
> Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
> ---

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/5] dt-bindings: panel: Add Powkiddy RGB30 panel compatible
  2023-10-13 18:39 ` [PATCH 2/5] dt-bindings: panel: Add Powkiddy RGB30 panel compatible Chris Morgan
@ 2023-10-16 12:29   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2023-10-16 12:29 UTC (permalink / raw)
  To: Chris Morgan, linux-rockchip
  Cc: dri-devel, devicetree, sebastian.reichel, andyshrk, jagan, daniel,
	airlied, sam, neil.armstrong, megous, kernel, agx, heiko,
	conor+dt, krzysztof.kozlowski+dt, robh+dt, Chris Morgan

On 13/10/2023 20:39, Chris Morgan wrote:
> From: Chris Morgan <macromorgan@hotmail.com>
> 
> The Powkiddy RGB30 panel is a 4 inch 720x720 MIPI-DSI LCD panel. It
> appears to be based on the ST7703 LCD controller (this is assumed from
> the init sequence similarity between this and other displays). Powkiddy
> would not share the part number or name for the display from the bill
> of materials and there were no obvious external markings, so name the
> panel for the device (Powkiddy RGB30).

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5] dt-bindings: arm64: rockchip: add Powkiddy RGB30
  2023-10-13 18:39 ` [PATCH 4/5] dt-bindings: arm64: rockchip: add Powkiddy RGB30 Chris Morgan
@ 2023-10-16 12:29   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2023-10-16 12:29 UTC (permalink / raw)
  To: Chris Morgan, linux-rockchip
  Cc: dri-devel, devicetree, sebastian.reichel, andyshrk, jagan, daniel,
	airlied, sam, neil.armstrong, megous, kernel, agx, heiko,
	conor+dt, krzysztof.kozlowski+dt, robh+dt, Chris Morgan

On 13/10/2023 20:39, Chris Morgan wrote:
> From: Chris Morgan <macromorgan@hotmail.com>
> 
> The Powkiddy RGB30 is a portable handheld console from Powkiddy which
> uses the Rockchip RK3566 SoC.
> 

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support
  2023-10-16  8:33   ` Guido Günther
@ 2023-10-16 15:52     ` Chris Morgan
  2023-10-16 16:07       ` Dragan Simic
  0 siblings, 1 reply; 17+ messages in thread
From: Chris Morgan @ 2023-10-16 15:52 UTC (permalink / raw)
  To: Guido Günther
  Cc: linux-rockchip, dri-devel, devicetree, sebastian.reichel,
	andyshrk, jagan, daniel, airlied, sam, neil.armstrong, megous,
	kernel, heiko, conor+dt, krzysztof.kozlowski+dt, robh+dt,
	Chris Morgan

Confirmed that those pending patches DO fix the panel suspend issues. Thank you.

On Mon, Oct 16, 2023 at 3:41 AM Guido Günther <guido.gunther@puri.sm> wrote:
>
> Hi Chris,
> On Fri, Oct 13, 2023 at 01:39:16PM -0500, Chris Morgan wrote:
> > From: Chris Morgan <macromorgan@hotmail.com>
> >
> > The Powkiddy RGB30 4 inch panel is a 4 inch 720x720 DSI panel used in
> > the Powkiddy RGB30 handheld gaming device. Add support for it.
> >
> > TODO: The panel seems to not resume properly from suspend. I've
> > confirmed on the other ST7703 based devices it works correctly.
>
> Regarding drm-misc-next has improvements regarding this prompted by the
> PinePhone. Maybe that fixes suspend for you too?
>
> Cheers,
>  -- Guido
>
> >
> > Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
> > ---
> >  drivers/gpu/drm/panel/panel-sitronix-st7703.c | 89 +++++++++++++++++++
> >  1 file changed, 89 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
> > index 6a3945639535..a9892a4447fb 100644
> > --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
> > +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
> > @@ -433,6 +433,94 @@ static const struct st7703_panel_desc rg353v2_desc = {
> >       .init_sequence = rg353v2_init_sequence,
> >  };
> >
> > +static int rgb30panel_init_sequence(struct st7703 *ctx)
> > +{
> > +     struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
> > +
> > +     /* Init sequence extracted from Powkiddy RGB30 BSP kernel. */
> > +
> > +     /*
> > +      * For some reason this specific panel must be taken out of sleep
> > +      * before the full init sequence, or else it will not display.
> > +      */
> > +     mipi_dsi_dcs_exit_sleep_mode(dsi);
> > +     msleep(250);
> > +
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, 0xf1, 0x12, 0x83);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI, 0x33, 0x81, 0x05, 0xf9,
> > +                            0x0e, 0x0e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
> > +                            0x00, 0x00, 0x44, 0x25, 0x00, 0x90, 0x0a, 0x00,
> > +                            0x00, 0x01, 0x4f, 0x01, 0x00, 0x00, 0x37);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, 0x25, 0x22, 0xf0,
> > +                            0x63);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_UNKNOWN_BF, 0x02, 0x11, 0x00);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF, 0x10, 0x10, 0x28,
> > +                            0x28, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR, 0x73, 0x73, 0x50, 0x50,
> > +                            0x00, 0x00, 0x12, 0x70, 0x00);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x46);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0b);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0x3c, 0x12, 0x30);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ, 0x07, 0x07, 0x0b, 0x0b,
> > +                            0x03, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
> > +                            0xc0, 0x10);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER, 0x36, 0x00, 0x32,
> > +                            0x32, 0x77, 0xf1, 0xcc, 0xcc, 0x77, 0x77, 0x33,
> > +                            0x33);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x0a, 0x0a);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x88, 0x88);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1, 0xc8, 0x10, 0x0a, 0x10,
> > +                            0x0f, 0xa1, 0x80, 0x12, 0x31, 0x23, 0x47, 0x86,
> > +                            0xa1, 0x80, 0x47, 0x08, 0x00, 0x00, 0x0d, 0x00,
> > +                            0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
> > +                            0x48, 0x02, 0x8b, 0xaf, 0x46, 0x02, 0x88, 0x88,
> > +                            0x88, 0x88, 0x88, 0x48, 0x13, 0x8b, 0xaf, 0x57,
> > +                            0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00,
> > +                            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> > +                            0x00, 0x00, 0x00);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2, 0x96, 0x12, 0x01, 0x01,
> > +                            0x01, 0x78, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
> > +                            0x4f, 0x31, 0x8b, 0xa8, 0x31, 0x75, 0x88, 0x88,
> > +                            0x88, 0x88, 0x88, 0x4f, 0x20, 0x8b, 0xa8, 0x20,
> > +                            0x64, 0x88, 0x88, 0x88, 0x88, 0x88, 0x23, 0x00,
> > +                            0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
> > +                            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> > +                            0x00, 0x00, 0x40, 0xa1, 0x80, 0x00, 0x00, 0x00,
> > +                            0x00);
> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA, 0x00, 0x0a, 0x0f,
> > +                            0x29, 0x3b, 0x3f, 0x42, 0x39, 0x06, 0x0d, 0x10,
> > +                            0x13, 0x15, 0x14, 0x15, 0x10, 0x17, 0x00, 0x0a,
> > +                            0x0f, 0x29, 0x3b, 0x3f, 0x42, 0x39, 0x06, 0x0d,
> > +                            0x10, 0x13, 0x15, 0x14, 0x15, 0x10, 0x17);
> > +
> > +     return 0;
> > +}
> > +
> > +static const struct drm_display_mode rgb30panel_mode = {
> > +     .hdisplay       = 720,
> > +     .hsync_start    = 720 + 45,
> > +     .hsync_end      = 720 + 45 + 4,
> > +     .htotal         = 720 + 45 + 4 + 45,
> > +     .vdisplay       = 720,
> > +     .vsync_start    = 720 + 15,
> > +     .vsync_end      = 720 + 15 + 3,
> > +     .vtotal         = 720 + 15 + 3 + 11,
> > +     .clock          = 36570,
> > +     .flags          = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> > +     .width_mm       = 76,
> > +     .height_mm      = 76,
> > +};
> > +
> > +static const struct st7703_panel_desc rgb30panel_desc = {
> > +     .mode = &rgb30panel_mode,
> > +     .lanes = 4,
> > +     .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
> > +                   MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_LPM,
> > +     .format = MIPI_DSI_FMT_RGB888,
> > +     .init_sequence = rgb30panel_init_sequence,
> > +};
> > +
> >  static int st7703_enable(struct drm_panel *panel)
> >  {
> >       struct st7703 *ctx = panel_to_st7703(panel);
> > @@ -694,6 +782,7 @@ static void st7703_remove(struct mipi_dsi_device *dsi)
> >
> >  static const struct of_device_id st7703_of_match[] = {
> >       { .compatible = "anbernic,rg353v-panel-v2", .data = &rg353v2_desc },
> > +     { .compatible = "powkiddy,rgb30-panel", .data = &rgb30panel_desc },
> >       { .compatible = "rocktech,jh057n00900", .data = &jh057n00900_panel_desc },
> >       { .compatible = "xingbangda,xbd599", .data = &xbd599_desc },
> >       { /* sentinel */ }
> > --
> > 2.34.1
> >
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support
  2023-10-16 15:52     ` Chris Morgan
@ 2023-10-16 16:07       ` Dragan Simic
  2023-10-16 18:18         ` Heiko Stübner
  0 siblings, 1 reply; 17+ messages in thread
From: Dragan Simic @ 2023-10-16 16:07 UTC (permalink / raw)
  To: Chris Morgan
  Cc: Guido Günther, linux-rockchip, dri-devel, devicetree,
	sebastian.reichel, andyshrk, jagan, daniel, airlied, sam,
	neil.armstrong, megous, kernel, heiko, conor+dt,
	krzysztof.kozlowski+dt, robh+dt, Chris Morgan, Ondrej Jirman

On 2023-10-16 17:52, Chris Morgan wrote:
> Confirmed that those pending patches DO fix the panel suspend issues. 
> Thank you.

Awesome, that's great to hear!  Perhaps a "Tested-by" in the original 
LKML thread [1] could help with having the patch pulled sooner.

Links:
[1] 
https://lore.kernel.org/lkml/33b72957-1062-1b66-85eb-c37dc5ca259b@redhat.com/T/


> On Mon, Oct 16, 2023 at 3:41 AM Guido Günther <guido.gunther@puri.sm> 
> wrote:
>> 
>> Hi Chris,
>> On Fri, Oct 13, 2023 at 01:39:16PM -0500, Chris Morgan wrote:
>> > From: Chris Morgan <macromorgan@hotmail.com>
>> >
>> > The Powkiddy RGB30 4 inch panel is a 4 inch 720x720 DSI panel used in
>> > the Powkiddy RGB30 handheld gaming device. Add support for it.
>> >
>> > TODO: The panel seems to not resume properly from suspend. I've
>> > confirmed on the other ST7703 based devices it works correctly.
>> 
>> Regarding drm-misc-next has improvements regarding this prompted by 
>> the
>> PinePhone. Maybe that fixes suspend for you too?
>> 
>> Cheers,
>>  -- Guido
>> 
>> >
>> > Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
>> > ---
>> >  drivers/gpu/drm/panel/panel-sitronix-st7703.c | 89 +++++++++++++++++++
>> >  1 file changed, 89 insertions(+)
>> >
>> > diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
>> > index 6a3945639535..a9892a4447fb 100644
>> > --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
>> > +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
>> > @@ -433,6 +433,94 @@ static const struct st7703_panel_desc rg353v2_desc = {
>> >       .init_sequence = rg353v2_init_sequence,
>> >  };
>> >
>> > +static int rgb30panel_init_sequence(struct st7703 *ctx)
>> > +{
>> > +     struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
>> > +
>> > +     /* Init sequence extracted from Powkiddy RGB30 BSP kernel. */
>> > +
>> > +     /*
>> > +      * For some reason this specific panel must be taken out of sleep
>> > +      * before the full init sequence, or else it will not display.
>> > +      */
>> > +     mipi_dsi_dcs_exit_sleep_mode(dsi);
>> > +     msleep(250);
>> > +
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, 0xf1, 0x12, 0x83);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI, 0x33, 0x81, 0x05, 0xf9,
>> > +                            0x0e, 0x0e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
>> > +                            0x00, 0x00, 0x44, 0x25, 0x00, 0x90, 0x0a, 0x00,
>> > +                            0x00, 0x01, 0x4f, 0x01, 0x00, 0x00, 0x37);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, 0x25, 0x22, 0xf0,
>> > +                            0x63);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_UNKNOWN_BF, 0x02, 0x11, 0x00);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF, 0x10, 0x10, 0x28,
>> > +                            0x28, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR, 0x73, 0x73, 0x50, 0x50,
>> > +                            0x00, 0x00, 0x12, 0x70, 0x00);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x46);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0b);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0x3c, 0x12, 0x30);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ, 0x07, 0x07, 0x0b, 0x0b,
>> > +                            0x03, 0x0b, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
>> > +                            0xc0, 0x10);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER, 0x36, 0x00, 0x32,
>> > +                            0x32, 0x77, 0xf1, 0xcc, 0xcc, 0x77, 0x77, 0x33,
>> > +                            0x33);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x0a, 0x0a);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x88, 0x88);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1, 0xc8, 0x10, 0x0a, 0x10,
>> > +                            0x0f, 0xa1, 0x80, 0x12, 0x31, 0x23, 0x47, 0x86,
>> > +                            0xa1, 0x80, 0x47, 0x08, 0x00, 0x00, 0x0d, 0x00,
>> > +                            0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
>> > +                            0x48, 0x02, 0x8b, 0xaf, 0x46, 0x02, 0x88, 0x88,
>> > +                            0x88, 0x88, 0x88, 0x48, 0x13, 0x8b, 0xaf, 0x57,
>> > +                            0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00,
>> > +                            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>> > +                            0x00, 0x00, 0x00);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2, 0x96, 0x12, 0x01, 0x01,
>> > +                            0x01, 0x78, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
>> > +                            0x4f, 0x31, 0x8b, 0xa8, 0x31, 0x75, 0x88, 0x88,
>> > +                            0x88, 0x88, 0x88, 0x4f, 0x20, 0x8b, 0xa8, 0x20,
>> > +                            0x64, 0x88, 0x88, 0x88, 0x88, 0x88, 0x23, 0x00,
>> > +                            0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
>> > +                            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>> > +                            0x00, 0x00, 0x40, 0xa1, 0x80, 0x00, 0x00, 0x00,
>> > +                            0x00);
>> > +     mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA, 0x00, 0x0a, 0x0f,
>> > +                            0x29, 0x3b, 0x3f, 0x42, 0x39, 0x06, 0x0d, 0x10,
>> > +                            0x13, 0x15, 0x14, 0x15, 0x10, 0x17, 0x00, 0x0a,
>> > +                            0x0f, 0x29, 0x3b, 0x3f, 0x42, 0x39, 0x06, 0x0d,
>> > +                            0x10, 0x13, 0x15, 0x14, 0x15, 0x10, 0x17);
>> > +
>> > +     return 0;
>> > +}
>> > +
>> > +static const struct drm_display_mode rgb30panel_mode = {
>> > +     .hdisplay       = 720,
>> > +     .hsync_start    = 720 + 45,
>> > +     .hsync_end      = 720 + 45 + 4,
>> > +     .htotal         = 720 + 45 + 4 + 45,
>> > +     .vdisplay       = 720,
>> > +     .vsync_start    = 720 + 15,
>> > +     .vsync_end      = 720 + 15 + 3,
>> > +     .vtotal         = 720 + 15 + 3 + 11,
>> > +     .clock          = 36570,
>> > +     .flags          = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
>> > +     .width_mm       = 76,
>> > +     .height_mm      = 76,
>> > +};
>> > +
>> > +static const struct st7703_panel_desc rgb30panel_desc = {
>> > +     .mode = &rgb30panel_mode,
>> > +     .lanes = 4,
>> > +     .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
>> > +                   MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_LPM,
>> > +     .format = MIPI_DSI_FMT_RGB888,
>> > +     .init_sequence = rgb30panel_init_sequence,
>> > +};
>> > +
>> >  static int st7703_enable(struct drm_panel *panel)
>> >  {
>> >       struct st7703 *ctx = panel_to_st7703(panel);
>> > @@ -694,6 +782,7 @@ static void st7703_remove(struct mipi_dsi_device *dsi)
>> >
>> >  static const struct of_device_id st7703_of_match[] = {
>> >       { .compatible = "anbernic,rg353v-panel-v2", .data = &rg353v2_desc },
>> > +     { .compatible = "powkiddy,rgb30-panel", .data = &rgb30panel_desc },
>> >       { .compatible = "rocktech,jh057n00900", .data = &jh057n00900_panel_desc },
>> >       { .compatible = "xingbangda,xbd599", .data = &xbd599_desc },
>> >       { /* sentinel */ }
>> > --
>> > 2.34.1
>> >
>> 
> 
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support
  2023-10-16 16:07       ` Dragan Simic
@ 2023-10-16 18:18         ` Heiko Stübner
  2023-10-16 18:26           ` Chris Morgan
  0 siblings, 1 reply; 17+ messages in thread
From: Heiko Stübner @ 2023-10-16 18:18 UTC (permalink / raw)
  To: Chris Morgan, Dragan Simic
  Cc: Guido Günther, linux-rockchip, dri-devel, devicetree,
	sebastian.reichel, andyshrk, jagan, daniel, airlied, sam,
	neil.armstrong, megous, kernel, conor+dt, krzysztof.kozlowski+dt,
	robh+dt, Chris Morgan, Ondrej Jirman

Hi,

Am Montag, 16. Oktober 2023, 18:07:52 CEST schrieb Dragan Simic:
> On 2023-10-16 17:52, Chris Morgan wrote:
> > Confirmed that those pending patches DO fix the panel suspend issues. 
> > Thank you.
> 
> Awesome, that's great to hear!  Perhaps a "Tested-by" in the original 
> LKML thread [1] could help with having the patch pulled sooner.
> 
> Links:
> [1] 
> https://lore.kernel.org/lkml/33b72957-1062-1b66-85eb-c37dc5ca259b@redhat.com/T/
> 
> 
> > On Mon, Oct 16, 2023 at 3:41 AM Guido Günther <guido.gunther@puri.sm> 
> > wrote:
> >> 
> >> Hi Chris,
> >> On Fri, Oct 13, 2023 at 01:39:16PM -0500, Chris Morgan wrote:
> >> > From: Chris Morgan <macromorgan@hotmail.com>
> >> >
> >> > The Powkiddy RGB30 4 inch panel is a 4 inch 720x720 DSI panel used in
> >> > the Powkiddy RGB30 handheld gaming device. Add support for it.
> >> >
> >> > TODO: The panel seems to not resume properly from suspend. I've
> >> > confirmed on the other ST7703 based devices it works correctly.

so this TODO item could go away, right?
I can remove it when applying the patch, just want to make sure
all review comments are addressed - only the suspend thing it seems.


Thanks
Heiko



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support
  2023-10-16 18:18         ` Heiko Stübner
@ 2023-10-16 18:26           ` Chris Morgan
  2023-10-17  7:43             ` Heiko Stübner
  0 siblings, 1 reply; 17+ messages in thread
From: Chris Morgan @ 2023-10-16 18:26 UTC (permalink / raw)
  To: Heiko Stübner
  Cc: Chris Morgan, Dragan Simic, Guido Günther, linux-rockchip,
	dri-devel, devicetree, sebastian.reichel, andyshrk, jagan, daniel,
	airlied, sam, neil.armstrong, megous, kernel, conor+dt,
	krzysztof.kozlowski+dt, robh+dt, Ondrej Jirman

On Mon, Oct 16, 2023 at 08:18:25PM +0200, Heiko Stübner wrote:
> Hi,
> 
> Am Montag, 16. Oktober 2023, 18:07:52 CEST schrieb Dragan Simic:
> > On 2023-10-16 17:52, Chris Morgan wrote:
> > > Confirmed that those pending patches DO fix the panel suspend issues. 
> > > Thank you.
> > 
> > Awesome, that's great to hear!  Perhaps a "Tested-by" in the original 
> > LKML thread [1] could help with having the patch pulled sooner.
> > 
> > Links:
> > [1] 
> > https://lore.kernel.org/lkml/33b72957-1062-1b66-85eb-c37dc5ca259b@redhat.com/T/
> > 
> > 
> > > On Mon, Oct 16, 2023 at 3:41 AM Guido Günther <guido.gunther@puri.sm> 
> > > wrote:
> > >> 
> > >> Hi Chris,
> > >> On Fri, Oct 13, 2023 at 01:39:16PM -0500, Chris Morgan wrote:
> > >> > From: Chris Morgan <macromorgan@hotmail.com>
> > >> >
> > >> > The Powkiddy RGB30 4 inch panel is a 4 inch 720x720 DSI panel used in
> > >> > the Powkiddy RGB30 handheld gaming device. Add support for it.
> > >> >
> > >> > TODO: The panel seems to not resume properly from suspend. I've
> > >> > confirmed on the other ST7703 based devices it works correctly.
> 
> so this TODO item could go away, right?
> I can remove it when applying the patch, just want to make sure
> all review comments are addressed - only the suspend thing it seems.

That is correct, but let me send a v2 of this instead. I'll remove this
verbiage among other fixes. End users wanted me to see if I could get
this panel to run at precisely 60hz, which I believe I am able to do
with the addition of a new PLL clock in clk_rk3568. I believe I have
taken every constraint detailed in the datasheet to heart for the new
frequency I'll be requesting. By using the frequency of 292500000 for
the VPLL I can get the panel running at 59.969hz which in my view is
close enough to the ideal 59.98hz.

I also accidentally left the UART2 active even though this device has
no exposed UART port, so I need to fix that too by disabling it.

Lastly I'll add my tested by to the dri-devel patches as well.

Thank you,
Chris

> 
> 
> Thanks
> Heiko
> 
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: (subset) [PATCH 0/5] Add Support for RK3566 Powkiddy RGB30
  2023-10-13 18:39 [PATCH 0/5] Add Support for RK3566 Powkiddy RGB30 Chris Morgan
                   ` (4 preceding siblings ...)
  2023-10-13 18:39 ` [PATCH 5/5] arm64: dts: rockchip: add support for " Chris Morgan
@ 2023-10-16 20:58 ` Heiko Stuebner
  2023-10-16 21:02 ` Heiko Stuebner
  6 siblings, 0 replies; 17+ messages in thread
From: Heiko Stuebner @ 2023-10-16 20:58 UTC (permalink / raw)
  To: Chris Morgan, linux-rockchip
  Cc: Heiko Stuebner, devicetree, daniel, Chris Morgan, megous,
	neil.armstrong, airlied, jagan, krzysztof.kozlowski+dt,
	sebastian.reichel, dri-devel, agx, robh+dt, sam, kernel, andyshrk,
	conor+dt

On Fri, 13 Oct 2023 13:39:13 -0500, Chris Morgan wrote:
> From: Chris Morgan <macromorgan@hotmail.com>
> 
> Add support for the Powkiddy RGB30 handheld gaming console.
> 
> Chris Morgan (5):
>   dt-bindings: vendor-prefixes: document Powkiddy
>   dt-bindings: panel: Add Powkiddy RGB30 panel compatible
>   drm/panel: st7703: Add Powkiddy RGB30 Panel Support
>   dt-bindings: arm64: rockchip: add Powkiddy RGB30
>   arm64: dts: rockchip: add support for Powkiddy RGB30
> 
> [...]

Applied, thanks!

[1/5] dt-bindings: vendor-prefixes: document Powkiddy
      commit: 00e395c8edf7fb6fa0830125d91c2b4bc381eefd
[2/5] dt-bindings: panel: Add Powkiddy RGB30 panel compatible
      commit: daee0320a13724e5a584726b693eee87bbd96172
[3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support
      commit: 636a989eb4d022e1756009592445aedaaf7424d8

Best regards,
-- 
Heiko Stuebner <heiko@sntech.de>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: (subset) [PATCH 0/5] Add Support for RK3566 Powkiddy RGB30
  2023-10-13 18:39 [PATCH 0/5] Add Support for RK3566 Powkiddy RGB30 Chris Morgan
                   ` (5 preceding siblings ...)
  2023-10-16 20:58 ` (subset) [PATCH 0/5] Add Support for RK3566 " Heiko Stuebner
@ 2023-10-16 21:02 ` Heiko Stuebner
  6 siblings, 0 replies; 17+ messages in thread
From: Heiko Stuebner @ 2023-10-16 21:02 UTC (permalink / raw)
  To: Chris Morgan, linux-rockchip
  Cc: Heiko Stuebner, jagan, kernel, sebastian.reichel, conor+dt,
	neil.armstrong, megous, daniel, airlied, sam, Chris Morgan,
	krzysztof.kozlowski+dt, dri-devel, agx, andyshrk, robh+dt,
	devicetree

On Fri, 13 Oct 2023 13:39:13 -0500, Chris Morgan wrote:
> From: Chris Morgan <macromorgan@hotmail.com>
> 
> Add support for the Powkiddy RGB30 handheld gaming console.
> 
> Chris Morgan (5):
>   dt-bindings: vendor-prefixes: document Powkiddy
>   dt-bindings: panel: Add Powkiddy RGB30 panel compatible
>   drm/panel: st7703: Add Powkiddy RGB30 Panel Support
>   dt-bindings: arm64: rockchip: add Powkiddy RGB30
>   arm64: dts: rockchip: add support for Powkiddy RGB30
> 
> [...]

Applied, thanks!

[4/5] dt-bindings: arm64: rockchip: add Powkiddy RGB30
      commit: 64d0de4f65c2951ccdc7a7aebe8a7e3455946f5f
[5/5] arm64: dts: rockchip: add support for Powkiddy RGB30
      commit: 1e9ac3e8a6a9d4da9efbad2d8e95cc1140e0e23f

Best regards,
-- 
Heiko Stuebner <heiko@sntech.de>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support
  2023-10-16 18:26           ` Chris Morgan
@ 2023-10-17  7:43             ` Heiko Stübner
  0 siblings, 0 replies; 17+ messages in thread
From: Heiko Stübner @ 2023-10-17  7:43 UTC (permalink / raw)
  To: Chris Morgan
  Cc: Chris Morgan, Dragan Simic, Guido Günther, linux-rockchip,
	dri-devel, devicetree, sebastian.reichel, andyshrk, jagan, daniel,
	airlied, sam, neil.armstrong, megous, kernel, conor+dt,
	krzysztof.kozlowski+dt, robh+dt, Ondrej Jirman

Hi Chris,

Am Montag, 16. Oktober 2023, 20:26:58 CEST schrieb Chris Morgan:
> On Mon, Oct 16, 2023 at 08:18:25PM +0200, Heiko Stübner wrote:
> > Hi,
> > 
> > Am Montag, 16. Oktober 2023, 18:07:52 CEST schrieb Dragan Simic:
> > > On 2023-10-16 17:52, Chris Morgan wrote:
> > > > Confirmed that those pending patches DO fix the panel suspend issues. 
> > > > Thank you.
> > > 
> > > Awesome, that's great to hear!  Perhaps a "Tested-by" in the original 
> > > LKML thread [1] could help with having the patch pulled sooner.
> > > 
> > > Links:
> > > [1] 
> > > https://lore.kernel.org/lkml/33b72957-1062-1b66-85eb-c37dc5ca259b@redhat.com/T/
> > > 
> > > 
> > > > On Mon, Oct 16, 2023 at 3:41 AM Guido Günther <guido.gunther@puri.sm> 
> > > > wrote:
> > > >> 
> > > >> Hi Chris,
> > > >> On Fri, Oct 13, 2023 at 01:39:16PM -0500, Chris Morgan wrote:
> > > >> > From: Chris Morgan <macromorgan@hotmail.com>
> > > >> >
> > > >> > The Powkiddy RGB30 4 inch panel is a 4 inch 720x720 DSI panel used in
> > > >> > the Powkiddy RGB30 handheld gaming device. Add support for it.
> > > >> >
> > > >> > TODO: The panel seems to not resume properly from suspend. I've
> > > >> > confirmed on the other ST7703 based devices it works correctly.
> > 
> > so this TODO item could go away, right?
> > I can remove it when applying the patch, just want to make sure
> > all review comments are addressed - only the suspend thing it seems.
> 
> That is correct, but let me send a v2 of this instead. I'll remove this
> verbiage among other fixes. End users wanted me to see if I could get
> this panel to run at precisely 60hz, which I believe I am able to do
> with the addition of a new PLL clock in clk_rk3568. I believe I have
> taken every constraint detailed in the datasheet to heart for the new
> frequency I'll be requesting. By using the frequency of 292500000 for
> the VPLL I can get the panel running at 59.969hz which in my view is
> close enough to the ideal 59.98hz.
> 
> I also accidentally left the UART2 active even though this device has
> no exposed UART port, so I need to fix that too by disabling it.
> 
> Lastly I'll add my tested by to the dri-devel patches as well.

too late ;-)

Looks like your mail and me applying the series happened at a similar
time and I just saw your mail.

So if you want to change the dts now, please do a followup patch.

Thanks
Heiko



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2023-10-17  7:44 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-13 18:39 [PATCH 0/5] Add Support for RK3566 Powkiddy RGB30 Chris Morgan
2023-10-13 18:39 ` [PATCH 1/5] dt-bindings: vendor-prefixes: document Powkiddy Chris Morgan
2023-10-16 12:28   ` Krzysztof Kozlowski
2023-10-13 18:39 ` [PATCH 2/5] dt-bindings: panel: Add Powkiddy RGB30 panel compatible Chris Morgan
2023-10-16 12:29   ` Krzysztof Kozlowski
2023-10-13 18:39 ` [PATCH 3/5] drm/panel: st7703: Add Powkiddy RGB30 Panel Support Chris Morgan
2023-10-16  8:33   ` Guido Günther
2023-10-16 15:52     ` Chris Morgan
2023-10-16 16:07       ` Dragan Simic
2023-10-16 18:18         ` Heiko Stübner
2023-10-16 18:26           ` Chris Morgan
2023-10-17  7:43             ` Heiko Stübner
2023-10-13 18:39 ` [PATCH 4/5] dt-bindings: arm64: rockchip: add Powkiddy RGB30 Chris Morgan
2023-10-16 12:29   ` Krzysztof Kozlowski
2023-10-13 18:39 ` [PATCH 5/5] arm64: dts: rockchip: add support for " Chris Morgan
2023-10-16 20:58 ` (subset) [PATCH 0/5] Add Support for RK3566 " Heiko Stuebner
2023-10-16 21:02 ` Heiko Stuebner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).