arm64: dts: rockchip: Add Anbernic RG351V
authorChris Morgan <macromorgan@hotmail.com>
Mon, 20 Nov 2023 23:01:31 +0000 (17:01 -0600)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 12 Dec 2023 20:43:48 +0000 (21:43 +0100)
Add support for the Anbernic RG351V, which is a handheld gaming console
from Anbernic with an RK3326 SoC, a 640x480 LCD display, a single
analog joystick with several face buttons, two USB C ports, and
internal WiFi over USB. All hardware has been tested as working
except for the battery, which will require further modification to the
mainline rk817 battery driver before it can be used (the device was
built without a shunt resistor, and as such the battery cannot
measure current; only voltage).

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://lore.kernel.org/r/20231120230131.57705-4-macroalpha82@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/Makefile
arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts [new file with mode: 0644]

index 41276ca535de2cf8aece65e1e6c0e3f5d3c4a74e..600c420bc550291aa66d2357c040a4ee633a064f 100644 (file)
@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-roc-cc.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-rock-pi-s.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-a95x-z2.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-anbernic-rg351m.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-anbernic-rg351v.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2-v11.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go3.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts b/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts
new file mode 100644 (file)
index 0000000..c79f7a7
--- /dev/null
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+#include "rk3326-anbernic-rg351m.dtsi"
+
+/ {
+       model = "Anbernic RG351V";
+       compatible = "anbernic,rg351v", "rockchip,rk3326";
+
+       gpio_keys_vol: gpio-keys-vol {
+               compatible = "gpio-keys";
+               autorepeat;
+
+               button-vol-down {
+                       gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
+                       label = "VOLUMEDOWN";
+                       linux,code = <KEY_VOLUMEDOWN>;
+               };
+
+               button-vol-up {
+                       gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
+                       label = "VOLUMEUP";
+                       linux,code = <KEY_VOLUMEUP>;
+               };
+       };
+};
+
+&internal_display {
+       compatible = "anbernic,rg351v-panel", "newvision,nv3051d";
+       vdd-supply = <&vcc_lcd>;
+};
+
+&io_domains {
+       vccio1-supply = <&vccio_sd>;
+};
+
+&vcc_sd {
+       regulator-max-microvolt = <3000000>;
+       regulator-min-microvolt = <1800000>;
+};
+
+&vccio_sd {
+       regulator-max-microvolt = <1800000>;
+};