xref: /openbmc/linux/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353v.dts (revision 24f68eb5bf14a74027946970a18bc902e19d986a)
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-rg353x.dtsi"
91e141cf1SChris Morgan
101e141cf1SChris Morgan/ {
111e141cf1SChris Morgan	model = "RG353V";
121e141cf1SChris Morgan	compatible = "anbernic,rg353v", "rockchip,rk3566";
131e141cf1SChris Morgan
141e141cf1SChris Morgan	aliases {
151e141cf1SChris Morgan		mmc0 = &sdhci;
161e141cf1SChris Morgan		mmc1 = &sdmmc0;
171e141cf1SChris Morgan		mmc2 = &sdmmc1;
181e141cf1SChris Morgan		mmc3 = &sdmmc2;
191e141cf1SChris Morgan	};
201e141cf1SChris Morgan
211e141cf1SChris Morgan	battery: battery {
221e141cf1SChris Morgan		compatible = "simple-battery";
231e141cf1SChris Morgan		charge-full-design-microamp-hours = <3151000>;
241e141cf1SChris Morgan		charge-term-current-microamp = <300000>;
251e141cf1SChris Morgan		constant-charge-current-max-microamp = <2000000>;
261e141cf1SChris Morgan		constant-charge-voltage-max-microvolt = <4200000>;
271e141cf1SChris Morgan		factory-internal-resistance-micro-ohms = <117000>;
281e141cf1SChris Morgan		voltage-max-design-microvolt = <4172000>;
291e141cf1SChris Morgan		voltage-min-design-microvolt = <3400000>;
301e141cf1SChris Morgan
311e141cf1SChris Morgan		ocv-capacity-celsius = <20>;
321e141cf1SChris Morgan		ocv-capacity-table-0 =  <4172000 100>, <4054000 95>, <3984000 90>, <3926000 85>,
331e141cf1SChris Morgan					<3874000 80>, <3826000 75>, <3783000 70>, <3746000 65>,
341e141cf1SChris Morgan					<3714000 60>, <3683000 55>, <3650000 50>, <3628000 45>,
351e141cf1SChris Morgan					<3612000 40>, <3600000 35>, <3587000 30>, <3571000 25>,
361e141cf1SChris Morgan					<3552000 20>, <3525000 15>, <3492000 10>, <3446000 5>,
371e141cf1SChris Morgan					<3400000 0>;
381e141cf1SChris Morgan	};
391e141cf1SChris Morgan
401e141cf1SChris Morgan	/* Channels reversed for headphones. */
411e141cf1SChris Morgan	sound {
421e141cf1SChris Morgan		compatible = "simple-audio-card";
431e141cf1SChris Morgan		simple-audio-card,name = "rk817_int";
441e141cf1SChris Morgan		simple-audio-card,format = "i2s";
451e141cf1SChris Morgan		simple-audio-card,hp-det-gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
461e141cf1SChris Morgan		simple-audio-card,mclk-fs = <256>;
471e141cf1SChris Morgan		simple-audio-card,widgets =
481e141cf1SChris Morgan			"Microphone", "Mic Jack",
491e141cf1SChris Morgan			"Headphone", "Headphones",
501e141cf1SChris Morgan			"Speaker", "Internal Speakers";
511e141cf1SChris Morgan		simple-audio-card,routing =
521e141cf1SChris Morgan			"MICL", "Mic Jack",
531e141cf1SChris Morgan			"Headphones", "HPOL",
541e141cf1SChris Morgan			"Headphones", "HPOR",
551e141cf1SChris Morgan			"Internal Speakers", "SPKO";
561e141cf1SChris Morgan
571e141cf1SChris Morgan		simple-audio-card,codec {
581e141cf1SChris Morgan			sound-dai = <&rk817>;
591e141cf1SChris Morgan		};
601e141cf1SChris Morgan
611e141cf1SChris Morgan		simple-audio-card,cpu {
621e141cf1SChris Morgan			sound-dai = <&i2s1_8ch>;
631e141cf1SChris Morgan		};
641e141cf1SChris Morgan	};
651e141cf1SChris Morgan};
661e141cf1SChris Morgan
671e141cf1SChris Morgan&gpio_keys_control {
681e141cf1SChris Morgan	button-r1 {
691e141cf1SChris Morgan		gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
701e141cf1SChris Morgan		label = "TR";
711e141cf1SChris Morgan		linux,code = <BTN_TR>;
721e141cf1SChris Morgan	};
731e141cf1SChris Morgan
741e141cf1SChris Morgan	button-r2 {
751e141cf1SChris Morgan		gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
761e141cf1SChris Morgan		label = "TR2";
771e141cf1SChris Morgan		linux,code = <BTN_TR2>;
781e141cf1SChris Morgan	};
791e141cf1SChris Morgan};
801e141cf1SChris Morgan
811e141cf1SChris Morgan&i2c2 {
82*54d80a60SHeiko Stuebner	pinctrl-names = "default";
831e141cf1SChris Morgan	pinctrl-0 = <&i2c2m1_xfer>;
841e141cf1SChris Morgan	status = "okay";
8531a47014SChris Morgan
8631a47014SChris Morgan	touch@1a {
8731a47014SChris Morgan		compatible = "hynitron,cst340";
8831a47014SChris Morgan		reg = <0x1a>;
8931a47014SChris Morgan		interrupt-parent = <&gpio4>;
9031a47014SChris Morgan		interrupts = <RK_PB1 IRQ_TYPE_EDGE_FALLING>;
9131a47014SChris Morgan		pinctrl-0 = <&touch_rst>;
9231a47014SChris Morgan		pinctrl-names = "default";
9331a47014SChris Morgan		reset-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_LOW>;
9431a47014SChris Morgan		touchscreen-size-x = <640>;
9531a47014SChris Morgan		touchscreen-size-y = <480>;
9631a47014SChris Morgan	};
971e141cf1SChris Morgan};
981e141cf1SChris Morgan
991e141cf1SChris Morgan&pinctrl {
1001e141cf1SChris Morgan	touch {
1011e141cf1SChris Morgan		touch_rst: touch-rst {
1021e141cf1SChris Morgan			rockchip,pins =
1031e141cf1SChris Morgan				<4 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
1041e141cf1SChris Morgan		};
1051e141cf1SChris Morgan	};
1061e141cf1SChris Morgan};
1071e141cf1SChris Morgan
1081e141cf1SChris Morgan&rk817 {
1091e141cf1SChris Morgan	rk817_charger: charger {
1101e141cf1SChris Morgan		monitored-battery = <&battery>;
1111e141cf1SChris Morgan		rockchip,resistor-sense-micro-ohms = <10000>;
1121e141cf1SChris Morgan		rockchip,sleep-enter-current-microamp = <300000>;
1131e141cf1SChris Morgan		rockchip,sleep-filter-current-microamp = <100000>;
1141e141cf1SChris Morgan	};
1151e141cf1SChris Morgan};
1161e141cf1SChris Morgan
1171e141cf1SChris Morgan&sdhci {
1181e141cf1SChris Morgan	pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, <&emmc_cmd>, <&emmc_datastrobe>, <&emmc_rstnout>;
1191e141cf1SChris Morgan	pinctrl-names = "default";
1201e141cf1SChris Morgan	bus-width = <8>;
1211e141cf1SChris Morgan	mmc-hs200-1_8v;
1221e141cf1SChris Morgan	non-removable;
1231e141cf1SChris Morgan	vmmc-supply = <&vcc_3v3>;
1241e141cf1SChris Morgan	vqmmc-supply = <&vcc_1v8>;
1251e141cf1SChris Morgan	status = "okay";
1261e141cf1SChris Morgan};
127