Anbernic RG353P and RG503 are both RK3566 based handheld gaming devices from Anbernic. Both devices have: - 2 SDMMC slots. - A Realtek rtl8821cs WiFi/Bluetooth adapter. - A mini HDMI port. - A USB C host port and a USB C otg port (currently only working as device). - Multiple GPIO buttons and a single ADC button. - Dual analog joysticks controlled via a GPIO mux. - A headphone jack with amplified stereo speakers via a SGM4865 amp. - A PWM based vibrator for force feedback. The RG353P has: - 2GB LPDDR4 RAM. - A 32GB eMMC. - A 3.5 inch 640x480 4-lane DSI panel of unknown origin with an i2c controlled touchscreen (touchscreen is a Hynitron CST340). The RG503 has: - 1GB LPDDR4 RAM. - A 5 inch 960x544 AMOLED 2-lane DSI/DBI panel manufactured by Samsung with part number ams495qa04. Data for this panel is provided via the DSI interface, however commands are sent via a 9-bit 3-wire SPI interface. The MISO pin of SPI3 of the SOC is wired to the input of the panel, so it must be bitbanged. This devicetree enables the following hardware: - HDMI (plus audio). - Analog audio, including speakers. - All buttons. - All SDMMC/eMMC/SDIO controllers. - The ADC joysticks (note a pending patch is required to use them). - WiFi/Bluetooth (note out of tree drivers are required). - The PWM based vibrator motor. The following hardware is not enabled: - The display panels (drivers are being written and there are issues with the upstream DSI and VOP2 subsystems). - Battery (driver pending). - Touchscreen on the RG353P (note the i2c2 bus is enabled for it). Signed-off-by: Chris Morgan <macromorgan@hotmail.com> Link: https://lore.kernel.org/r/20220906210324.28986-4-macroalpha82@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de>
95 lines
1.7 KiB
Plaintext
95 lines
1.7 KiB
Plaintext
// 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-rgxx3.dtsi"
|
|
|
|
/ {
|
|
model = "RG353P";
|
|
compatible = "anbernic,rg353p", "rockchip,rk3566";
|
|
|
|
aliases {
|
|
mmc0 = &sdhci;
|
|
mmc1 = &sdmmc0;
|
|
mmc2 = &sdmmc1;
|
|
mmc3 = &sdmmc2;
|
|
};
|
|
|
|
backlight: backlight {
|
|
compatible = "pwm-backlight";
|
|
power-supply = <&vcc_sys>;
|
|
pwms = <&pwm4 0 25000 0>;
|
|
};
|
|
};
|
|
|
|
&gpio_keys_control {
|
|
button-a {
|
|
gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>;
|
|
label = "EAST";
|
|
linux,code = <BTN_EAST>;
|
|
};
|
|
|
|
button-left {
|
|
gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
label = "DPAD-LEFT";
|
|
linux,code = <BTN_DPAD_LEFT>;
|
|
};
|
|
|
|
button-r1 {
|
|
gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
|
|
label = "TR";
|
|
linux,code = <BTN_TR>;
|
|
};
|
|
|
|
button-r2 {
|
|
gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
|
|
label = "TR2";
|
|
linux,code = <BTN_TR2>;
|
|
};
|
|
|
|
button-right {
|
|
gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>;
|
|
label = "DPAD-RIGHT";
|
|
linux,code = <BTN_DPAD_RIGHT>;
|
|
};
|
|
|
|
button-y {
|
|
gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>;
|
|
label = "WEST";
|
|
linux,code = <BTN_WEST>;
|
|
};
|
|
};
|
|
|
|
&i2c0 {
|
|
/* This hardware is physically present but unused. */
|
|
power-monitor@62 {
|
|
compatible = "cellwise,cw2015";
|
|
reg = <0x62>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
&i2c2 {
|
|
pintctrl-names = "default";
|
|
pinctrl-0 = <&i2c2m1_xfer>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pwm4 {
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhci {
|
|
pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, <&emmc_cmd>, <&emmc_datastrobe>, <&emmc_rstnout>;
|
|
pinctrl-names = "default";
|
|
bus-width = <8>;
|
|
mmc-hs200-1_8v;
|
|
non-removable;
|
|
vmmc-supply = <&vcc_3v3>;
|
|
vqmmc-supply = <&vcc_1v8>;
|
|
status = "okay";
|
|
};
|