162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2019 Hardkernel Co., Ltd 462306a36Sopenharmony_ci * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH 562306a36Sopenharmony_ci * Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/dts-v1/; 962306a36Sopenharmony_ci#include "rk3326-odroid-go.dtsi" 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/ { 1262306a36Sopenharmony_ci model = "ODROID-GO Super"; 1362306a36Sopenharmony_ci compatible = "hardkernel,rk3326-odroid-go3", "rockchip,rk3326"; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci joystick_mux_controller: mux-controller { 1662306a36Sopenharmony_ci compatible = "gpio-mux"; 1762306a36Sopenharmony_ci pinctrl = <&mux_en_pins>; 1862306a36Sopenharmony_ci #mux-control-cells = <0>; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci mux-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>, 2162306a36Sopenharmony_ci <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; 2262306a36Sopenharmony_ci }; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci joystick_mux: adc-mux { 2562306a36Sopenharmony_ci compatible = "io-channel-mux"; 2662306a36Sopenharmony_ci io-channels = <&saradc 1>; 2762306a36Sopenharmony_ci io-channel-names = "parent"; 2862306a36Sopenharmony_ci #io-channel-cells = <1>; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci mux-controls = <&joystick_mux_controller>; 3162306a36Sopenharmony_ci channels = "0", "1", "2", "3"; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci analog_sticks: adc-joystick { 3562306a36Sopenharmony_ci compatible = "adc-joystick"; 3662306a36Sopenharmony_ci io-channels = <&joystick_mux 0>, 3762306a36Sopenharmony_ci <&joystick_mux 1>, 3862306a36Sopenharmony_ci <&joystick_mux 2>, 3962306a36Sopenharmony_ci <&joystick_mux 3>; 4062306a36Sopenharmony_ci poll-interval = <60>; 4162306a36Sopenharmony_ci #address-cells = <1>; 4262306a36Sopenharmony_ci #size-cells = <0>; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci axis@0 { 4562306a36Sopenharmony_ci reg = <0>; 4662306a36Sopenharmony_ci abs-flat = <10>; 4762306a36Sopenharmony_ci abs-fuzz = <10>; 4862306a36Sopenharmony_ci abs-range = <180 800>; 4962306a36Sopenharmony_ci linux,code = <ABS_X>; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci axis@1 { 5362306a36Sopenharmony_ci reg = <1>; 5462306a36Sopenharmony_ci abs-flat = <10>; 5562306a36Sopenharmony_ci abs-fuzz = <10>; 5662306a36Sopenharmony_ci abs-range = <180 800>; 5762306a36Sopenharmony_ci linux,code = <ABS_RX>; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci axis@2 { 6162306a36Sopenharmony_ci reg = <2>; 6262306a36Sopenharmony_ci abs-flat = <10>; 6362306a36Sopenharmony_ci abs-fuzz = <10>; 6462306a36Sopenharmony_ci abs-range = <180 800>; 6562306a36Sopenharmony_ci linux,code = <ABS_Y>; 6662306a36Sopenharmony_ci }; 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci axis@3 { 6962306a36Sopenharmony_ci reg = <3>; 7062306a36Sopenharmony_ci abs-flat = <10>; 7162306a36Sopenharmony_ci abs-fuzz = <10>; 7262306a36Sopenharmony_ci abs-range = <180 800>; 7362306a36Sopenharmony_ci linux,code = <ABS_RY>; 7462306a36Sopenharmony_ci }; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci battery: battery { 7862306a36Sopenharmony_ci compatible = "simple-battery"; 7962306a36Sopenharmony_ci charge-full-design-microamp-hours = <4000000>; 8062306a36Sopenharmony_ci charge-term-current-microamp = <300000>; 8162306a36Sopenharmony_ci constant-charge-current-max-microamp = <2000000>; 8262306a36Sopenharmony_ci constant-charge-voltage-max-microvolt = <4200000>; 8362306a36Sopenharmony_ci factory-internal-resistance-micro-ohms = <180000>; 8462306a36Sopenharmony_ci voltage-max-design-microvolt = <4100000>; 8562306a36Sopenharmony_ci voltage-min-design-microvolt = <3500000>; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci ocv-capacity-celsius = <20>; 8862306a36Sopenharmony_ci ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>, 8962306a36Sopenharmony_ci <3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>, 9062306a36Sopenharmony_ci <3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>, 9162306a36Sopenharmony_ci <3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>, 9262306a36Sopenharmony_ci <3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>, 9362306a36Sopenharmony_ci <3574170 0>; 9462306a36Sopenharmony_ci }; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci gpio-keys-vol { 9762306a36Sopenharmony_ci compatible = "gpio-keys"; 9862306a36Sopenharmony_ci autorepeat; 9962306a36Sopenharmony_ci pinctrl-0 = <&btn_pins_vol>; 10062306a36Sopenharmony_ci pinctrl-names = "default"; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci button-vol-down { 10362306a36Sopenharmony_ci gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>; 10462306a36Sopenharmony_ci label = "VOLUMEDOWN"; 10562306a36Sopenharmony_ci linux,code = <KEY_VOLUMEDOWN>; 10662306a36Sopenharmony_ci }; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci button-volume-up { 10962306a36Sopenharmony_ci gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>; 11062306a36Sopenharmony_ci label = "VOLUMEUP"; 11162306a36Sopenharmony_ci linux,code = <KEY_VOLUMEUP>; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci}; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci/* f1 and f2 conflict with volume buttons */ 11762306a36Sopenharmony_ci/delete-node/ &btn_f1; 11862306a36Sopenharmony_ci/delete-node/ &btn_f2; 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci&builtin_gamepad { 12162306a36Sopenharmony_ci button-sw19 { 12262306a36Sopenharmony_ci gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; 12362306a36Sopenharmony_ci label = "SELECT"; 12462306a36Sopenharmony_ci linux,code = <BTN_SELECT>; 12562306a36Sopenharmony_ci }; 12662306a36Sopenharmony_ci /* note that TR2 and TL2 are swapped */ 12762306a36Sopenharmony_ci button-sw20 { 12862306a36Sopenharmony_ci gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 12962306a36Sopenharmony_ci label = "TOP-RIGHT 2"; 13062306a36Sopenharmony_ci linux,code = <BTN_TR2>; 13162306a36Sopenharmony_ci }; 13262306a36Sopenharmony_ci button-sw21 { 13362306a36Sopenharmony_ci gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; 13462306a36Sopenharmony_ci label = "TOP-LEFT 2"; 13562306a36Sopenharmony_ci linux,code = <BTN_TL2>; 13662306a36Sopenharmony_ci }; 13762306a36Sopenharmony_ci button-sw22 { 13862306a36Sopenharmony_ci gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; 13962306a36Sopenharmony_ci label = "START"; 14062306a36Sopenharmony_ci linux,code = <BTN_START>; 14162306a36Sopenharmony_ci }; 14262306a36Sopenharmony_ci}; 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci&internal_display { 14562306a36Sopenharmony_ci compatible = "elida,kd50t048a", "sitronix,st7701"; 14662306a36Sopenharmony_ci reset-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>; 14762306a36Sopenharmony_ci IOVCC-supply = <&vcc_lcd>; 14862306a36Sopenharmony_ci VCC-supply = <&vcc_lcd>; 14962306a36Sopenharmony_ci}; 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci&rk817_charger { 15262306a36Sopenharmony_ci monitored-battery = <&battery>; 15362306a36Sopenharmony_ci}; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci&pinctrl { 15662306a36Sopenharmony_ci btns { 15762306a36Sopenharmony_ci btn_pins: btn-pins { 15862306a36Sopenharmony_ci rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>, 15962306a36Sopenharmony_ci <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>, 16062306a36Sopenharmony_ci <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>, 16162306a36Sopenharmony_ci <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>, 16262306a36Sopenharmony_ci <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>, 16362306a36Sopenharmony_ci <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>, 16462306a36Sopenharmony_ci <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>, 16562306a36Sopenharmony_ci <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>, 16662306a36Sopenharmony_ci <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>, 16762306a36Sopenharmony_ci <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>, 16862306a36Sopenharmony_ci <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, 16962306a36Sopenharmony_ci <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>, 17062306a36Sopenharmony_ci <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>, 17162306a36Sopenharmony_ci <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>, 17262306a36Sopenharmony_ci <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>, 17362306a36Sopenharmony_ci <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>, 17462306a36Sopenharmony_ci <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>, 17562306a36Sopenharmony_ci <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>; 17662306a36Sopenharmony_ci }; 17762306a36Sopenharmony_ci btn_pins_vol: btn-pins-vol { 17862306a36Sopenharmony_ci rockchip,pins = <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>, 17962306a36Sopenharmony_ci <2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 18062306a36Sopenharmony_ci }; 18162306a36Sopenharmony_ci }; 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci joystick { 18462306a36Sopenharmony_ci mux_en_pins: mux-pins { 18562306a36Sopenharmony_ci rockchip,pins = <3 RK_PB5 RK_FUNC_GPIO &pcfg_output_low>; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci}; 189