mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 17:17:04 -04:00
Merge tag 'sunxi-dt-for-6.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt
- new boards: RG35XX 2024, RG35XX-Plus, RG35XX-H * tag 'sunxi-dt-for-6.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: h700: Add RG35XX-H DTS arm64: dts: allwinner: h700: Add RG35XX-Plus DTS arm64: dts: allwinner: h700: Add RG35XX 2024 DTS dt-bindings: arm: sunxi: document Anbernic RG35XX handheld gaming device variants Link: https://lore.kernel.org/r/20240427133006.GA146501@jernej-laptop Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -56,6 +56,21 @@ properties:
|
||||
- const: anbernic,rg-nano
|
||||
- const: allwinner,sun8i-v3s
|
||||
|
||||
- description: Anbernic RG35XX (2024)
|
||||
- items:
|
||||
- const: anbernic,rg35xx-2024
|
||||
- const: allwinner,sun50i-h700
|
||||
|
||||
- description: Anbernic RG35XX Plus
|
||||
- items:
|
||||
- const: anbernic,rg35xx-plus
|
||||
- const: allwinner,sun50i-h700
|
||||
|
||||
- description: Anbernic RG35XX H
|
||||
- items:
|
||||
- const: anbernic,rg35xx-h
|
||||
- const: allwinner,sun50i-h700
|
||||
|
||||
- description: Amarula A64 Relic
|
||||
items:
|
||||
- const: amarula,a64-relic
|
||||
|
||||
@@ -48,3 +48,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-longanpi-3h.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero3.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-transpeed-8k618-t.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-2024.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-h.dtb
|
||||
|
||||
@@ -0,0 +1,327 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
/*
|
||||
* Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sun50i-h616.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/linux-event-codes.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "Anbernic RG35XX 2024";
|
||||
chassis-type = "handset";
|
||||
compatible = "anbernic,rg35xx-2024", "allwinner,sun50i-h700";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
gpio_keys_gamepad: gpio-keys-gamepad {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
button-a {
|
||||
label = "Action-Pad A";
|
||||
gpios = <&pio 0 0 GPIO_ACTIVE_LOW>; /* PA0 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_EAST>;
|
||||
};
|
||||
|
||||
button-b {
|
||||
label = "Action-Pad B";
|
||||
gpios = <&pio 0 1 GPIO_ACTIVE_LOW>; /* PA1 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_SOUTH>;
|
||||
};
|
||||
|
||||
button-down {
|
||||
label = "D-Pad Down";
|
||||
gpios = <&pio 4 0 GPIO_ACTIVE_LOW>; /* PE0 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_DPAD_DOWN>;
|
||||
};
|
||||
|
||||
button-l1 {
|
||||
label = "Key L1";
|
||||
gpios = <&pio 0 10 GPIO_ACTIVE_LOW>; /* PA10 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_TL>;
|
||||
};
|
||||
|
||||
button-l2 {
|
||||
label = "Key L2";
|
||||
gpios = <&pio 0 11 GPIO_ACTIVE_LOW>; /* PA11 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_TL2>;
|
||||
};
|
||||
|
||||
button-left {
|
||||
label = "D-Pad left";
|
||||
gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_DPAD_LEFT>;
|
||||
};
|
||||
|
||||
button-menu {
|
||||
label = "Key Menu";
|
||||
gpios = <&pio 4 3 GPIO_ACTIVE_LOW>; /* PE3 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_MODE>;
|
||||
};
|
||||
|
||||
button-r1 {
|
||||
label = "Key R1";
|
||||
gpios = <&pio 0 12 GPIO_ACTIVE_LOW>; /* PA12 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_TR>;
|
||||
};
|
||||
|
||||
button-r2 {
|
||||
label = "Key R2";
|
||||
gpios = <&pio 0 7 GPIO_ACTIVE_LOW>; /* PA7 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_TR2>;
|
||||
};
|
||||
|
||||
button-right {
|
||||
label = "D-Pad Right";
|
||||
gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_DPAD_RIGHT>;
|
||||
};
|
||||
|
||||
button-select {
|
||||
label = "Key Select";
|
||||
gpios = <&pio 0 5 GPIO_ACTIVE_LOW>; /* PA5 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_SELECT>;
|
||||
};
|
||||
button-start {
|
||||
label = "Key Start";
|
||||
gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_START>;
|
||||
};
|
||||
|
||||
button-up {
|
||||
label = "D-Pad Up";
|
||||
gpios = <&pio 0 6 GPIO_ACTIVE_LOW>; /* PA6 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_DPAD_UP>;
|
||||
};
|
||||
|
||||
button-x {
|
||||
label = "Action-Pad X";
|
||||
gpios = <&pio 0 3 GPIO_ACTIVE_LOW>; /* PA3 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_NORTH>;
|
||||
};
|
||||
|
||||
button-y {
|
||||
label = "Action Pad Y";
|
||||
gpios = <&pio 0 2 GPIO_ACTIVE_LOW>; /* PA2 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_WEST>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys-volume {
|
||||
compatible = "gpio-keys";
|
||||
autorepeat;
|
||||
|
||||
button-vol-up {
|
||||
label = "Key Volume Up";
|
||||
gpios = <&pio 4 1 GPIO_ACTIVE_LOW>; /* PE1 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
};
|
||||
|
||||
button-vol-down {
|
||||
label = "Key Volume Down";
|
||||
gpios = <&pio 4 2 GPIO_ACTIVE_LOW>; /* PE2 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led-0 {
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&pio 8 12 GPIO_ACTIVE_HIGH>; /* PI12 */
|
||||
default-state = "on";
|
||||
};
|
||||
};
|
||||
|
||||
reg_vcc5v: regulator-vcc5v { /* USB-C power input */
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc-5v";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdc1>;
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_cldo3>;
|
||||
disable-wp;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
vcc-pa-supply = <®_cldo3>;
|
||||
vcc-pc-supply = <®_cldo3>;
|
||||
vcc-pe-supply = <®_cldo3>;
|
||||
vcc-pf-supply = <®_cldo3>;
|
||||
vcc-pg-supply = <®_aldo4>;
|
||||
vcc-ph-supply = <®_cldo3>;
|
||||
vcc-pi-supply = <®_cldo3>;
|
||||
};
|
||||
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
axp717: pmic@3a3 {
|
||||
compatible = "x-powers,axp717";
|
||||
reg = <0x3a3>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-parent = <&nmi_intc>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
vin1-supply = <®_vcc5v>;
|
||||
vin2-supply = <®_vcc5v>;
|
||||
vin3-supply = <®_vcc5v>;
|
||||
vin4-supply = <®_vcc5v>;
|
||||
|
||||
regulators {
|
||||
reg_dcdc1: dcdc1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
|
||||
reg_dcdc2: dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <940000>;
|
||||
regulator-max-microvolt = <940000>;
|
||||
regulator-name = "vdd-gpu-sys";
|
||||
};
|
||||
|
||||
reg_dcdc3: dcdc3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-name = "vdd-dram";
|
||||
};
|
||||
|
||||
reg_aldo1: aldo1 {
|
||||
/* 1.8v - unused */
|
||||
};
|
||||
|
||||
reg_aldo2: aldo2 {
|
||||
/* 1.8v - unused */
|
||||
};
|
||||
|
||||
reg_aldo3: aldo3 {
|
||||
/* 1.8v - unused */
|
||||
};
|
||||
|
||||
reg_aldo4: aldo4 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcc-pg";
|
||||
};
|
||||
|
||||
reg_bldo1: bldo1 {
|
||||
/* 1.8v - unused */
|
||||
};
|
||||
|
||||
reg_bldo2: bldo2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcc-pll";
|
||||
};
|
||||
|
||||
reg_bldo3: bldo3 {
|
||||
/* 2.8v - unused */
|
||||
};
|
||||
|
||||
reg_bldo4: bldo4 {
|
||||
/* 1.2v - unused */
|
||||
};
|
||||
|
||||
reg_cldo1: cldo1 {
|
||||
/* 3.3v - audio codec - not yet implemented */
|
||||
};
|
||||
|
||||
reg_cldo2: cldo2 {
|
||||
/* 3.3v - unused */
|
||||
};
|
||||
|
||||
reg_cldo3: cldo3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-io";
|
||||
};
|
||||
|
||||
reg_cldo4: cldo4 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi";
|
||||
};
|
||||
|
||||
reg_boost: boost {
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5200000>;
|
||||
regulator-name = "boost";
|
||||
};
|
||||
|
||||
reg_cpusldo: cpusldo {
|
||||
/* unused */
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_ph_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* the AXP717 has USB type-C role switch functionality, not yet described by the binding */
|
||||
&usbotg {
|
||||
dr_mode = "peripheral"; /* USB type-C receptable */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
/*
|
||||
* Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>.
|
||||
* Copyright (C) 2024 Chris Morgan <macroalpha82@gmail.com>.
|
||||
*/
|
||||
|
||||
#include "sun50i-h700-anbernic-rg35xx-plus.dts"
|
||||
|
||||
/ {
|
||||
model = "Anbernic RG35XX H";
|
||||
compatible = "anbernic,rg35xx-h", "allwinner,sun50i-h700";
|
||||
};
|
||||
|
||||
&gpio_keys_gamepad {
|
||||
button-thumbl {
|
||||
label = "GPIO Thumb Left";
|
||||
gpios = <&pio 4 8 GPIO_ACTIVE_LOW>; /* PE8 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_THUMBL>;
|
||||
};
|
||||
|
||||
button-thumbr {
|
||||
label = "GPIO Thumb Right";
|
||||
gpios = <&pio 4 9 GPIO_ACTIVE_LOW>; /* PE9 */
|
||||
linux,input-type = <EV_KEY>;
|
||||
linux,code = <BTN_THUMBR>;
|
||||
};
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -0,0 +1,53 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
/*
|
||||
* Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>.
|
||||
*/
|
||||
|
||||
#include "sun50i-h700-anbernic-rg35xx-2024.dts"
|
||||
|
||||
/ {
|
||||
model = "Anbernic RG35XX Plus";
|
||||
compatible = "anbernic,rg35xx-plus", "allwinner,sun50i-h700";
|
||||
|
||||
wifi_pwrseq: pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
clocks = <&rtc CLK_OSC32K_FANOUT>;
|
||||
clock-names = "ext_clock";
|
||||
pinctrl-0 = <&x32clk_fanout_pin>;
|
||||
pinctrl-names = "default";
|
||||
post-power-on-delay-ms = <200>;
|
||||
reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */
|
||||
};
|
||||
};
|
||||
|
||||
/* SDIO WiFi RTL8821CS */
|
||||
&mmc1 {
|
||||
vmmc-supply = <®_cldo4>;
|
||||
vqmmc-supply = <®_aldo4>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
||||
sdio_wifi: wifi@1 {
|
||||
reg = <1>;
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <6 15 IRQ_TYPE_LEVEL_LOW>; /* PG15 */
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
/* Bluetooth RTL8821CS */
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||
uart-has-rtscts;
|
||||
status = "okay";
|
||||
|
||||
bluetooth {
|
||||
compatible = "realtek,rtl8821cs-bt", "realtek,rtl8723bs-bt";
|
||||
device-wake-gpios = <&pio 6 17 GPIO_ACTIVE_HIGH>; /* PG17 */
|
||||
enable-gpios = <&pio 6 19 GPIO_ACTIVE_HIGH>; /* PG19 */
|
||||
host-wake-gpios = <&pio 6 16 GPIO_ACTIVE_HIGH>; /* PG16 */
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user