|
|
|
@ -1,12 +1,13 @@
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/Makefile linux/arch/arm64/boot/dts/rockchip/Makefile
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/Makefile 2024-01-29 05:07:30.179290843 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/Makefile 2024-01-29 06:17:10.562382315 +0000
|
|
|
|
|
@@ -9,9 +9,14 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-ro
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/Makefile 2024-02-03 14:24:30.507369024 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/Makefile 2024-02-03 14:49:01.857898202 +0000
|
|
|
|
|
@@ -9,9 +9,15 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-ro
|
|
|
|
|
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-gameconsole-r33s.dtb
|
|
|
|
|
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-gameconsole-r36s.dtb
|
|
|
|
|
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-magicx-xu10.dtb
|
|
|
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2.dtb
|
|
|
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2-v11.dtb
|
|
|
|
@ -17,8 +18,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/Makefile linux/arch/arm64/boo
|
|
|
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
|
|
|
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/px30.dtsi linux/arch/arm64/boot/dts/rockchip/px30.dtsi
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/px30.dtsi 2024-01-29 05:07:30.179290843 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/px30.dtsi 2024-01-29 05:08:22.844542450 +0000
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/px30.dtsi 2024-02-03 14:24:30.507369024 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/px30.dtsi 2024-02-03 14:25:41.221185291 +0000
|
|
|
|
|
@@ -114,32 +114,22 @@
|
|
|
|
|
compatible = "operating-points-v2";
|
|
|
|
|
opp-shared;
|
|
|
|
@ -117,8 +118,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/px30.dtsi linux/arch/arm64/bo
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts 2024-01-29 05:07:30.179290843 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts 2024-01-29 05:08:22.844542450 +0000
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts 2024-02-03 14:24:30.507369024 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts 2024-02-03 14:25:41.221185291 +0000
|
|
|
|
|
@@ -12,6 +12,25 @@
|
|
|
|
|
model = "Anbernic RG351M";
|
|
|
|
|
compatible = "anbernic,rg351m", "rockchip,rk3326";
|
|
|
|
@ -171,7 +172,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts li
|
|
|
|
|
+};
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts 2024-01-29 05:08:22.844542450 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts 2024-02-03 14:25:41.221185291 +0000
|
|
|
|
|
@@ -0,0 +1,124 @@
|
|
|
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
|
+/*
|
|
|
|
@ -299,13 +300,343 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts li
|
|
|
|
|
+};
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts 2024-01-29 05:08:22.844542450 +0000
|
|
|
|
|
@@ -0,0 +1,646 @@
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts 2024-02-03 14:53:29.435899433 +0000
|
|
|
|
|
@@ -0,0 +1,117 @@
|
|
|
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
|
+/*
|
|
|
|
|
+ * Copyright (c) 2019 Hardkernel Co., Ltd
|
|
|
|
|
+ * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
|
|
|
|
|
+ * Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
|
|
|
|
|
+ * # Copyright (C) 2024-present JELOS (https://github.com/JustEnoughLinuxOS)
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+/dts-v1/;
|
|
|
|
|
+#include "rk3326-gameconsole-r3xs.dtsi"
|
|
|
|
|
+
|
|
|
|
|
+/ {
|
|
|
|
|
+ model = "Game Console R33S";
|
|
|
|
|
+ compatible = "gameconsole,r33s", "rockchip,rk3326";
|
|
|
|
|
+
|
|
|
|
|
+ builtin_gamepad: r33s_joypad {
|
|
|
|
|
+ compatible = "gpio-keys";
|
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
|
+ pinctrl-0 = <&btn_pins>;
|
|
|
|
|
+
|
|
|
|
|
+ button-sw1 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "DPAD-UP";
|
|
|
|
|
+ linux,code = <BTN_DPAD_UP>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw2 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "DPAD-DOWN";
|
|
|
|
|
+ linux,code = <BTN_DPAD_DOWN>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw3 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "DPAD-LEFT";
|
|
|
|
|
+ linux,code = <BTN_DPAD_LEFT>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw4 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "DPAD-RIGHT";
|
|
|
|
|
+ linux,code = <BTN_DPAD_RIGHT>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw5 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "BTN-A";
|
|
|
|
|
+ linux,code = <BTN_EAST>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw6 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "BTN-B";
|
|
|
|
|
+ linux,code = <BTN_SOUTH>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw7 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "BTN-Y";
|
|
|
|
|
+ linux,code = <BTN_WEST>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw8 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "BTN-X";
|
|
|
|
|
+ linux,code = <BTN_NORTH>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw9 {
|
|
|
|
|
+ gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "TOP-LEFT";
|
|
|
|
|
+ linux,code = <BTN_TL>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw10 {
|
|
|
|
|
+ gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "TOP-RIGHT";
|
|
|
|
|
+ linux,code = <BTN_TR>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw11 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "SELECT";
|
|
|
|
|
+ linux,code = <BTN_SELECT>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw12 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "TOP-RIGHT 2";
|
|
|
|
|
+ linux,code = <BTN_TR2>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw13 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "TOP-LEFT 2";
|
|
|
|
|
+ linux,code = <BTN_TL2>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw14 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "START";
|
|
|
|
|
+ linux,code = <BTN_START>;
|
|
|
|
|
+ };
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ vibrator {
|
|
|
|
|
+ compatible = "pwm-vibrator";
|
|
|
|
|
+ pwms = <&pwm0 0 1000000 0>;
|
|
|
|
|
+ pwm-names = "enable";
|
|
|
|
|
+ };
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+&pinctrl {
|
|
|
|
|
+ btns {
|
|
|
|
|
+ btn_pins: btn-pins {
|
|
|
|
|
+ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ };
|
|
|
|
|
+};
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts 2024-02-03 14:56:33.563329307 +0000
|
|
|
|
|
@@ -0,0 +1,207 @@
|
|
|
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
|
+/*
|
|
|
|
|
+ * # Copyright (C) 2024-present JELOS (https://github.com/JustEnoughLinuxOS)
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+/dts-v1/;
|
|
|
|
|
+#include "rk3326-gameconsole-r3xs.dtsi"
|
|
|
|
|
+
|
|
|
|
|
+/ {
|
|
|
|
|
+ model = "Game Console R36S";
|
|
|
|
|
+ compatible = "gameconsole,r35s", "gameconsole,r36s", "rockchip,rk3326";
|
|
|
|
|
+
|
|
|
|
|
+ joypad: odroidgo3-joypad {
|
|
|
|
|
+ compatible = "odroidgo3-joypad";
|
|
|
|
|
+ pwms = <&pwm0 0 200000000 0>;
|
|
|
|
|
+ pwm-names = "enable";
|
|
|
|
|
+ rumble-boost-weak = <0x0000>;
|
|
|
|
|
+ rumble-boost-strong = <0x0000>;
|
|
|
|
|
+
|
|
|
|
|
+ joypad-name = "r36s_Gamepad";
|
|
|
|
|
+ joypad-product = <0x1188>;
|
|
|
|
|
+ joypad-revision = <0x0188>;
|
|
|
|
|
+
|
|
|
|
|
+ status = "okay";
|
|
|
|
|
+
|
|
|
|
|
+ /* gpio pincontrol setup */
|
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
|
+ pinctrl-0 = <&btn_pins>;
|
|
|
|
|
+ pinctrl-1 = <&pwm0_pin>;
|
|
|
|
|
+
|
|
|
|
|
+ /* Analog mux define */
|
|
|
|
|
+ io-channel-names = "amux_adc";
|
|
|
|
|
+ io-channels = <&saradc 1>;
|
|
|
|
|
+
|
|
|
|
|
+ /* adc mux channel count */
|
|
|
|
|
+ amux-count = <4>;
|
|
|
|
|
+ /* adc mux select(a,b) gpio */
|
|
|
|
|
+ amux-a-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ amux-b-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ /* adc mux enable gpio */
|
|
|
|
|
+ amux-en-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+
|
|
|
|
|
+ /* adc calculate scale */
|
|
|
|
|
+ button-adc-scale = <2>;
|
|
|
|
|
+
|
|
|
|
|
+ /* adc deadzone range */
|
|
|
|
|
+ button-adc-deadzone = <64>;
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ specifies fuzz value that is used to filter noise from
|
|
|
|
|
+ the event stream.
|
|
|
|
|
+ */
|
|
|
|
|
+ button-adc-fuzz = <32>;
|
|
|
|
|
+ button-adc-flat = <32>;
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ Analog Stick data tuning value(precent)
|
|
|
|
|
+ p = positive direction, n = negative direction
|
|
|
|
|
+ report value = (real_adc_data * tuning_value) / 100
|
|
|
|
|
+ */
|
|
|
|
|
+ abs_x-p-tuning = <200>;
|
|
|
|
|
+ abs_x-n-tuning = <200>;
|
|
|
|
|
+
|
|
|
|
|
+ abs_y-p-tuning = <200>;
|
|
|
|
|
+ abs_y-n-tuning = <200>;
|
|
|
|
|
+
|
|
|
|
|
+ abs_rx-p-tuning = <200>;
|
|
|
|
|
+ abs_rx-n-tuning = <200>;
|
|
|
|
|
+
|
|
|
|
|
+ abs_ry-p-tuning = <200>;
|
|
|
|
|
+ abs_ry-n-tuning = <200>;
|
|
|
|
|
+
|
|
|
|
|
+ /* poll device interval (ms), adc read interval */
|
|
|
|
|
+ poll-interval = <10>;
|
|
|
|
|
+
|
|
|
|
|
+ /* required for RG36S */
|
|
|
|
|
+ invert-absx;
|
|
|
|
|
+ invert-absy;
|
|
|
|
|
+
|
|
|
|
|
+ /* gpio button auto repeat set value : default disable */
|
|
|
|
|
+ /*
|
|
|
|
|
+ autorepeat;
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ joypad driver is poll-device driver.
|
|
|
|
|
+ poll-device is does not support wakeup-source.
|
|
|
|
|
+ */
|
|
|
|
|
+ sw1 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO DPAD-UP";
|
|
|
|
|
+ linux,code = <BTN_DPAD_UP>; // 0x220
|
|
|
|
|
+ };
|
|
|
|
|
+ sw2 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO DPAD-DOWN";
|
|
|
|
|
+ linux,code = <BTN_DPAD_DOWN>; // 0x221
|
|
|
|
|
+ };
|
|
|
|
|
+ sw3 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO DPAD-LEFT";
|
|
|
|
|
+ linux,code = <BTN_DPAD_LEFT>; // 0x222
|
|
|
|
|
+ };
|
|
|
|
|
+ sw4 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO DPAD-RIGHT";
|
|
|
|
|
+ linux,code = <BTN_DPAD_RIGHT>; // 0x223
|
|
|
|
|
+ };
|
|
|
|
|
+ sw5 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO KEY BTN-A";
|
|
|
|
|
+ linux,code = <BTN_EAST>; // 0x131
|
|
|
|
|
+ };
|
|
|
|
|
+ sw6 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO BTN-B";
|
|
|
|
|
+ linux,code = <BTN_SOUTH>; // 0x130
|
|
|
|
|
+ };
|
|
|
|
|
+ sw7 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO BTN-Y";
|
|
|
|
|
+ linux,code = <BTN_WEST>; // 0x134
|
|
|
|
|
+ };
|
|
|
|
|
+ sw8 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO BTN-X";
|
|
|
|
|
+ linux,code = <BTN_NORTH>; // 0x133
|
|
|
|
|
+ };
|
|
|
|
|
+ sw11 {
|
|
|
|
|
+ gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO F3";
|
|
|
|
|
+ linux,code = <BTN_TRIGGER_HAPPY3>; // 0x2c2
|
|
|
|
|
+ };
|
|
|
|
|
+ sw12 {
|
|
|
|
|
+ gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO F4";
|
|
|
|
|
+ linux,code = <BTN_TRIGGER_HAPPY4>; // 0x2c3
|
|
|
|
|
+ };
|
|
|
|
|
+ /*sw13 {
|
|
|
|
|
+ gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO F5";
|
|
|
|
|
+ linux,code = <BTN_TRIGGER_HAPPY5>; // 0x2c4
|
|
|
|
|
+ };
|
|
|
|
|
+ sw14 {
|
|
|
|
|
+ gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO F6";
|
|
|
|
|
+ linux,code = <BTN_TRIGGER_HAPPY6>; // 0x13c
|
|
|
|
|
+ };*/
|
|
|
|
|
+ sw15 {
|
|
|
|
|
+ gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO TOP-LEFT";
|
|
|
|
|
+ linux,code = <BTN_TL>; // 0x02
|
|
|
|
|
+ };
|
|
|
|
|
+ sw16 {
|
|
|
|
|
+ gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO TOP-RIGHT";
|
|
|
|
|
+ linux,code = <BTN_TR>; // 0x05
|
|
|
|
|
+ };
|
|
|
|
|
+ sw19 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO F1";
|
|
|
|
|
+ linux,code = <BTN_TRIGGER_HAPPY1>;
|
|
|
|
|
+ };
|
|
|
|
|
+ sw20 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO TOP-RIGHT2";
|
|
|
|
|
+ linux,code = <BTN_TR2>;
|
|
|
|
|
+ };
|
|
|
|
|
+ sw21 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO TOP-LEFT2";
|
|
|
|
|
+ linux,code = <BTN_TL2>;
|
|
|
|
|
+ };
|
|
|
|
|
+ sw22 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "GPIO F2";
|
|
|
|
|
+ linux,code = <BTN_TRIGGER_HAPPY2>;
|
|
|
|
|
+ };
|
|
|
|
|
+ };
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+&pinctrl {
|
|
|
|
|
+ btns {
|
|
|
|
|
+ btn_pins: btn-pins {
|
|
|
|
|
+ rockchip,pins = <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
|
|
|
+
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ };
|
|
|
|
|
+};
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r3xs.dtsi linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r3xs.dtsi
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r3xs.dtsi 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r3xs.dtsi 2024-02-03 14:46:31.754519839 +0000
|
|
|
|
|
@@ -0,0 +1,545 @@
|
|
|
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
|
+/*
|
|
|
|
|
+ * # Copyright (C) 2024-present JELOS (https://github.com/JustEnoughLinuxOS)
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+/dts-v1/;
|
|
|
|
@ -387,83 +718,6 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts l
|
|
|
|
|
+ };
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ builtin_gamepad: r33s_joypad {
|
|
|
|
|
+ compatible = "gpio-keys";
|
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
|
+ pinctrl-0 = <&btn_pins>;
|
|
|
|
|
+
|
|
|
|
|
+ button-sw1 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "DPAD-UP";
|
|
|
|
|
+ linux,code = <BTN_DPAD_UP>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw2 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "DPAD-DOWN";
|
|
|
|
|
+ linux,code = <BTN_DPAD_DOWN>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw3 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "DPAD-LEFT";
|
|
|
|
|
+ linux,code = <BTN_DPAD_LEFT>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw4 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "DPAD-RIGHT";
|
|
|
|
|
+ linux,code = <BTN_DPAD_RIGHT>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw5 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "BTN-A";
|
|
|
|
|
+ linux,code = <BTN_EAST>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw6 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "BTN-B";
|
|
|
|
|
+ linux,code = <BTN_SOUTH>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw7 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "BTN-Y";
|
|
|
|
|
+ linux,code = <BTN_WEST>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw8 {
|
|
|
|
|
+ gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "BTN-X";
|
|
|
|
|
+ linux,code = <BTN_NORTH>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw9 {
|
|
|
|
|
+ gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "TOP-LEFT";
|
|
|
|
|
+ linux,code = <BTN_TL>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw10 {
|
|
|
|
|
+ gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "TOP-RIGHT";
|
|
|
|
|
+ linux,code = <BTN_TR>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw11 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "SELECT";
|
|
|
|
|
+ linux,code = <BTN_SELECT>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw12 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "TOP-RIGHT 2";
|
|
|
|
|
+ linux,code = <BTN_TR2>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw13 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "TOP-LEFT 2";
|
|
|
|
|
+ linux,code = <BTN_TL2>;
|
|
|
|
|
+ };
|
|
|
|
|
+ button-sw14 {
|
|
|
|
|
+ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
|
|
|
|
|
+ label = "START";
|
|
|
|
|
+ linux,code = <BTN_START>;
|
|
|
|
|
+ };
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ battery: battery {
|
|
|
|
|
+ compatible = "simple-battery";
|
|
|
|
|
+ charge-full-design-microamp-hours = <3200000>;
|
|
|
|
@ -482,12 +736,6 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts l
|
|
|
|
|
+ <3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
|
|
|
|
|
+ <3574170 0>;
|
|
|
|
|
+
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ vibrator {
|
|
|
|
|
+ compatible = "pwm-vibrator";
|
|
|
|
|
+ pwms = <&pwm0 0 1000000 0>;
|
|
|
|
|
+ pwm-names = "enable";
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ rk817-sound {
|
|
|
|
@ -896,29 +1144,13 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts l
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+&pinctrl {
|
|
|
|
|
+ btns {
|
|
|
|
|
+ btn_pins: btn-pins {
|
|
|
|
|
+ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
|
|
|
+ };
|
|
|
|
|
+ btn_pins_vol: btn-pins-vol {
|
|
|
|
|
+ rockchip,pins = <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
|
|
|
+ btns {
|
|
|
|
|
+ btn_pins_vol: btn-pins-vol {
|
|
|
|
|
+ rockchip,pins = <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
+ <2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
|
|
|
+ };
|
|
|
|
|
+ };
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ headphone {
|
|
|
|
|
+ hp_det: hp-det {
|
|
|
|
|
+ rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_down>;
|
|
|
|
@ -948,8 +1180,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts l
|
|
|
|
|
+ };
|
|
|
|
|
+};
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts linux/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts 1969-12-31 19:00:00.000000000 -0500
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts 2024-02-01 21:39:27.594961980 -0500
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts 2024-02-03 14:25:41.221185291 +0000
|
|
|
|
|
@@ -0,0 +1,828 @@
|
|
|
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
|
+/*
|
|
|
|
@ -1780,8 +2012,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts linux/
|
|
|
|
|
+ };
|
|
|
|
|
+};
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi 2024-01-29 05:07:30.179290843 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi 2024-01-29 05:08:22.844542450 +0000
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi 2024-02-03 14:24:30.507369024 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi 2024-02-03 14:25:41.221185291 +0000
|
|
|
|
|
@@ -25,93 +25,40 @@
|
|
|
|
|
compatible = "pwm-backlight";
|
|
|
|
|
power-supply = <&vcc_bl>;
|
|
|
|
@ -1938,8 +2170,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi linux/a
|
|
|
|
|
#clock-cells = <1>;
|
|
|
|
|
#sound-dai-cells = <0>;
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts 2024-01-29 05:07:30.179290843 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts 2024-01-29 05:08:22.844542450 +0000
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts 2024-02-03 14:24:30.507369024 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts 2024-02-03 14:25:41.221185291 +0000
|
|
|
|
|
@@ -16,31 +16,187 @@
|
|
|
|
|
mmc1 = &sdio;
|
|
|
|
|
};
|
|
|
|
@ -2221,8 +2453,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts lin
|
|
|
|
|
<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts 2024-01-29 05:07:30.179290843 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts 2024-01-29 05:08:22.844542450 +0000
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts 2024-02-03 14:24:30.507369024 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts 2024-02-03 14:25:41.221185291 +0000
|
|
|
|
|
@@ -12,30 +12,175 @@
|
|
|
|
|
model = "ODROID-GO Advance";
|
|
|
|
|
compatible = "hardkernel,rk3326-odroid-go2", "rockchip,rk3326";
|
|
|
|
@ -2455,8 +2687,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts linux/a
|
|
|
|
|
+ };
|
|
|
|
|
+};
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts 2024-01-29 05:07:30.179290843 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts 2024-01-29 05:08:22.844542450 +0000
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts 2024-02-03 14:24:30.507369024 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts 2024-02-03 14:25:41.221185291 +0000
|
|
|
|
|
@@ -12,67 +12,196 @@
|
|
|
|
|
model = "ODROID-GO Super";
|
|
|
|
|
compatible = "hardkernel,rk3326-odroid-go3", "rockchip,rk3326";
|
|
|
|
@ -2766,7 +2998,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts linux/a
|
|
|
|
|
};
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts 2024-01-29 05:08:22.844542450 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts 2024-02-03 14:25:41.221185291 +0000
|
|
|
|
|
@@ -0,0 +1,280 @@
|
|
|
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
|
+/*
|
|
|
|
@ -3050,7 +3282,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts lin
|
|
|
|
|
+};
|
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb20s.dts linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb20s.dts
|
|
|
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb20s.dts 1970-01-01 00:00:00.000000000 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb20s.dts 2024-01-29 20:21:55.821942737 +0000
|
|
|
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb20s.dts 2024-02-03 14:25:41.221185291 +0000
|
|
|
|
|
@@ -0,0 +1,340 @@
|
|
|
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
|
+/*
|
|
|
|
|