xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3566-anbernic-rg353x.dtsi (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
11e141cf1SChris Morgan// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
21e141cf1SChris Morgan
31e141cf1SChris Morgan/dts-v1/;
41e141cf1SChris Morgan
51e141cf1SChris Morgan#include <dt-bindings/gpio/gpio.h>
61e141cf1SChris Morgan#include <dt-bindings/input/linux-event-codes.h>
71e141cf1SChris Morgan#include <dt-bindings/pinctrl/rockchip.h>
81e141cf1SChris Morgan#include "rk3566-anbernic-rgxx3.dtsi"
91e141cf1SChris Morgan
101e141cf1SChris Morgan/ {
11*46943b33SChris Morgan	adc-joystick {
12*46943b33SChris Morgan		compatible = "adc-joystick";
13*46943b33SChris Morgan		io-channels = <&adc_mux 0>,
14*46943b33SChris Morgan			      <&adc_mux 1>,
15*46943b33SChris Morgan			      <&adc_mux 2>,
16*46943b33SChris Morgan			      <&adc_mux 3>;
17*46943b33SChris Morgan		pinctrl-0 = <&joy_mux_en>;
18*46943b33SChris Morgan		pinctrl-names = "default";
19*46943b33SChris Morgan		poll-interval = <60>;
20*46943b33SChris Morgan		#address-cells = <1>;
21*46943b33SChris Morgan		#size-cells = <0>;
22*46943b33SChris Morgan
23*46943b33SChris Morgan		axis@0 {
24*46943b33SChris Morgan			reg = <0>;
25*46943b33SChris Morgan			abs-flat = <32>;
26*46943b33SChris Morgan			abs-fuzz = <32>;
27*46943b33SChris Morgan			abs-range = <1023 15>;
28*46943b33SChris Morgan			linux,code = <ABS_X>;
29*46943b33SChris Morgan		};
30*46943b33SChris Morgan
31*46943b33SChris Morgan		axis@1 {
32*46943b33SChris Morgan			reg = <1>;
33*46943b33SChris Morgan			abs-flat = <32>;
34*46943b33SChris Morgan			abs-fuzz = <32>;
35*46943b33SChris Morgan			abs-range = <15 1023>;
36*46943b33SChris Morgan			linux,code = <ABS_RX>;
37*46943b33SChris Morgan		};
38*46943b33SChris Morgan
39*46943b33SChris Morgan		axis@2 {
40*46943b33SChris Morgan			reg = <2>;
41*46943b33SChris Morgan			abs-flat = <32>;
42*46943b33SChris Morgan			abs-fuzz = <32>;
43*46943b33SChris Morgan			abs-range = <15 1023>;
44*46943b33SChris Morgan			linux,code = <ABS_Y>;
45*46943b33SChris Morgan		};
46*46943b33SChris Morgan
47*46943b33SChris Morgan		axis@3 {
48*46943b33SChris Morgan			reg = <3>;
49*46943b33SChris Morgan			abs-flat = <32>;
50*46943b33SChris Morgan			abs-fuzz = <32>;
51*46943b33SChris Morgan			abs-range = <1023 15>;
52*46943b33SChris Morgan			linux,code = <ABS_RY>;
53*46943b33SChris Morgan		};
54*46943b33SChris Morgan	};
55*46943b33SChris Morgan
56*46943b33SChris Morgan	adc_mux: adc-mux {
57*46943b33SChris Morgan		compatible = "io-channel-mux";
58*46943b33SChris Morgan		channels = "left_x", "right_x", "left_y", "right_y";
59*46943b33SChris Morgan		#io-channel-cells = <1>;
60*46943b33SChris Morgan		io-channels = <&saradc 3>;
61*46943b33SChris Morgan		io-channel-names = "parent";
62*46943b33SChris Morgan		mux-controls = <&gpio_mux>;
63*46943b33SChris Morgan		settle-time-us = <100>;
64*46943b33SChris Morgan	};
65*46943b33SChris Morgan
661e141cf1SChris Morgan	backlight: backlight {
671e141cf1SChris Morgan		compatible = "pwm-backlight";
681e141cf1SChris Morgan		power-supply = <&vcc_sys>;
691e141cf1SChris Morgan		pwms = <&pwm4 0 25000 0>;
701e141cf1SChris Morgan	};
71*46943b33SChris Morgan
72*46943b33SChris Morgan	gpio_mux: mux-controller {
73*46943b33SChris Morgan		compatible = "gpio-mux";
74*46943b33SChris Morgan		mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>,
75*46943b33SChris Morgan			    <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
76*46943b33SChris Morgan		#mux-control-cells = <0>;
77*46943b33SChris Morgan	};
781e141cf1SChris Morgan};
791e141cf1SChris Morgan
801e141cf1SChris Morgan&cru {
8187891399SChris Morgan	assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>,
8287891399SChris Morgan			  <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;
8387891399SChris Morgan	assigned-clock-rates = <32768>, <1200000000>,
8487891399SChris Morgan			       <200000000>, <241500000>;
851e141cf1SChris Morgan};
861e141cf1SChris Morgan
875e60ec02SChris Morgan&dsi_dphy0 {
885e60ec02SChris Morgan	status = "okay";
895e60ec02SChris Morgan};
905e60ec02SChris Morgan
915e60ec02SChris Morgan&dsi0 {
925e60ec02SChris Morgan	status = "okay";
935e60ec02SChris Morgan	#address-cells = <1>;
945e60ec02SChris Morgan	#size-cells = <0>;
955e60ec02SChris Morgan
965e60ec02SChris Morgan	ports {
975e60ec02SChris Morgan		dsi0_in: port@0 {
985e60ec02SChris Morgan			reg = <0>;
995e60ec02SChris Morgan			dsi0_in_vp1: endpoint {
1005e60ec02SChris Morgan				remote-endpoint = <&vp1_out_dsi0>;
1015e60ec02SChris Morgan			};
1025e60ec02SChris Morgan		};
1035e60ec02SChris Morgan
1045e60ec02SChris Morgan		dsi0_out: port@1 {
1055e60ec02SChris Morgan			reg = <1>;
1065e60ec02SChris Morgan			mipi_out_panel: endpoint {
1075e60ec02SChris Morgan				remote-endpoint = <&mipi_in_panel>;
1085e60ec02SChris Morgan			};
1095e60ec02SChris Morgan		};
1105e60ec02SChris Morgan	};
1115e60ec02SChris Morgan
1125e60ec02SChris Morgan	panel: panel@0 {
1135e60ec02SChris Morgan		compatible = "anbernic,rg353p-panel", "newvision,nv3051d";
1145e60ec02SChris Morgan		reg = <0>;
1155e60ec02SChris Morgan		backlight = <&backlight>;
1165e60ec02SChris Morgan		pinctrl-names = "default";
1175e60ec02SChris Morgan		pinctrl-0 = <&lcd_rst>;
1185e60ec02SChris Morgan		reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>;
1195e60ec02SChris Morgan		vdd-supply = <&vcc3v3_lcd0_n>;
1205e60ec02SChris Morgan
1215e60ec02SChris Morgan		port {
1225e60ec02SChris Morgan			mipi_in_panel: endpoint {
1235e60ec02SChris Morgan				remote-endpoint = <&mipi_out_panel>;
1245e60ec02SChris Morgan			};
1255e60ec02SChris Morgan		};
1265e60ec02SChris Morgan	};
1275e60ec02SChris Morgan};
1285e60ec02SChris Morgan
1291e141cf1SChris Morgan&gpio_keys_control {
1301e141cf1SChris Morgan	button-a {
1311e141cf1SChris Morgan		gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>;
1321e141cf1SChris Morgan		label = "EAST";
1331e141cf1SChris Morgan		linux,code = <BTN_EAST>;
1341e141cf1SChris Morgan	};
1351e141cf1SChris Morgan
1361e141cf1SChris Morgan	button-left {
1371e141cf1SChris Morgan		gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>;
1381e141cf1SChris Morgan		label = "DPAD-LEFT";
1391e141cf1SChris Morgan		linux,code = <BTN_DPAD_LEFT>;
1401e141cf1SChris Morgan	};
1411e141cf1SChris Morgan
1421e141cf1SChris Morgan	button-right {
1431e141cf1SChris Morgan		gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>;
1441e141cf1SChris Morgan		label = "DPAD-RIGHT";
1451e141cf1SChris Morgan		linux,code = <BTN_DPAD_RIGHT>;
1461e141cf1SChris Morgan	};
1471e141cf1SChris Morgan
148*46943b33SChris Morgan	button-thumbl {
149*46943b33SChris Morgan		gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
150*46943b33SChris Morgan		label = "THUMBL";
151*46943b33SChris Morgan		linux,code = <BTN_THUMBL>;
152*46943b33SChris Morgan	};
153*46943b33SChris Morgan
154*46943b33SChris Morgan	button-thumbr {
155*46943b33SChris Morgan		gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>;
156*46943b33SChris Morgan		label = "THUMBR";
157*46943b33SChris Morgan		linux,code = <BTN_THUMBR>;
158*46943b33SChris Morgan	};
159*46943b33SChris Morgan
1601e141cf1SChris Morgan	button-y {
1611e141cf1SChris Morgan		gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>;
1621e141cf1SChris Morgan		label = "WEST";
1631e141cf1SChris Morgan		linux,code = <BTN_WEST>;
1641e141cf1SChris Morgan	};
1651e141cf1SChris Morgan};
1661e141cf1SChris Morgan
1671e141cf1SChris Morgan&i2c0 {
1681e141cf1SChris Morgan	/* This hardware is physically present but unused. */
1691e141cf1SChris Morgan	power-monitor@62 {
1701e141cf1SChris Morgan		compatible = "cellwise,cw2015";
1711e141cf1SChris Morgan		reg = <0x62>;
1721e141cf1SChris Morgan		status = "disabled";
1731e141cf1SChris Morgan	};
1741e141cf1SChris Morgan};
1751e141cf1SChris Morgan
1765e60ec02SChris Morgan&pinctrl {
1775e60ec02SChris Morgan	gpio-lcd {
1785e60ec02SChris Morgan		lcd_rst: lcd-rst {
1795e60ec02SChris Morgan			rockchip,pins =
1805e60ec02SChris Morgan				<4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
1815e60ec02SChris Morgan		};
1825e60ec02SChris Morgan	};
1835e60ec02SChris Morgan};
1845e60ec02SChris Morgan
1851e141cf1SChris Morgan&pwm4 {
1861e141cf1SChris Morgan	status = "okay";
1871e141cf1SChris Morgan};
1885e60ec02SChris Morgan
1895e60ec02SChris Morgan&vp1 {
1905e60ec02SChris Morgan	vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 {
1915e60ec02SChris Morgan		reg = <ROCKCHIP_VOP2_EP_MIPI0>;
1925e60ec02SChris Morgan		remote-endpoint = <&dsi0_in_vp1>;
1935e60ec02SChris Morgan	};
1945e60ec02SChris Morgan};
195