// 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-rg353x.dtsi" / { model = "RG353P"; compatible = "anbernic,rg353p", "rockchip,rk3566"; aliases { mmc0 = &sdhci; mmc1 = &sdmmc0; mmc2 = &sdmmc1; mmc3 = &sdmmc2; }; battery: battery { compatible = "simple-battery"; charge-full-design-microamp-hours = <3472000>; charge-term-current-microamp = <300000>; constant-charge-current-max-microamp = <2000000>; constant-charge-voltage-max-microvolt = <4200000>; factory-internal-resistance-micro-ohms = <117000>; voltage-max-design-microvolt = <4172000>; voltage-min-design-microvolt = <3400000>; ocv-capacity-celsius = <20>; ocv-capacity-table-0 = <4172000 100>, <4054000 95>, <3984000 90>, <3926000 85>, <3874000 80>, <3826000 75>, <3783000 70>, <3746000 65>, <3714000 60>, <3683000 55>, <3650000 50>, <3628000 45>, <3612000 40>, <3600000 35>, <3587000 30>, <3571000 25>, <3552000 20>, <3525000 15>, <3492000 10>, <3446000 5>, <3400000 0>; }; /* Channels reversed for both headphones and speakers. */ sound { compatible = "simple-audio-card"; simple-audio-card,name = "rk817_ext"; simple-audio-card,aux-devs = <&spk_amp>; simple-audio-card,format = "i2s"; simple-audio-card,hp-det-gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>; simple-audio-card,mclk-fs = <256>; simple-audio-card,widgets = "Microphone", "Mic Jack", "Headphone", "Headphones", "Speaker", "Internal Speakers"; simple-audio-card,routing = "MICL", "Mic Jack", "Headphones", "HPOL", "Headphones", "HPOR", "Internal Speakers", "Speaker Amp OUTL", "Internal Speakers", "Speaker Amp OUTR", "Speaker Amp INL", "HPOL", "Speaker Amp INR", "HPOR"; simple-audio-card,pin-switches = "Internal Speakers"; simple-audio-card,codec { sound-dai = <&rk817>; }; simple-audio-card,cpu { sound-dai = <&i2s1_8ch>; }; }; spk_amp: audio-amplifier { compatible = "simple-audio-amplifier"; enable-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>; pinctrl-0 = <&spk_amp_enable_h>; pinctrl-names = "default"; sound-name-prefix = "Speaker Amp"; }; }; &gpio_keys_control { 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>; }; }; &i2c2 { pintctrl-names = "default"; pinctrl-0 = <&i2c2m1_xfer>; status = "okay"; touch@1a { compatible = "hynitron,cst340"; reg = <0x1a>; interrupt-parent = <&gpio4>; interrupts = <RK_PB1 IRQ_TYPE_EDGE_FALLING>; pinctrl-0 = <&touch_rst>; pinctrl-names = "default"; reset-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_LOW>; touchscreen-size-x = <640>; touchscreen-size-y = <480>; }; }; &pinctrl { audio-amplifier { spk_amp_enable_h: spk-amp-enable-h { rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; }; }; touch { touch_rst: touch-rst { rockchip,pins = <4 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; }; }; }; &rk817 { rk817_charger: charger { monitored-battery = <&battery>; rockchip,resistor-sense-micro-ohms = <10000>; rockchip,sleep-enter-current-microamp = <300000>; rockchip,sleep-filter-current-microamp = <100000>; }; }; &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"; };