mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-03-31 14:41:55 -07:00
rk3326: move dts from patches to plain files
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
This is a skeleton of joypad with 2 sticks and FN (MODE) button.
|
||||
Fits devices with 1 stick and 2 extra face buttons too.
|
||||
By including this ans setting I/O properties only,
|
||||
devices should get consistent controller id and mapping
|
||||
thus reusing non-game configs:
|
||||
* SDL gamecontrollerdb.txt
|
||||
* ES es_input.cfg
|
||||
* Retroarch gamepad
|
||||
*/
|
||||
|
||||
/ {
|
||||
joypad: retrogame_joypad_s2_f1 {
|
||||
/* These drivers emit the same button set which makes this skeleton ADC-agnostic */
|
||||
/* compatible = "rocknix-joypad"; */
|
||||
/* compatible = "rocknix-singleadc-joypad"; */
|
||||
|
||||
/* These are constants making Joystick Guid the same */
|
||||
joypad-name = "retrogame_joypad_s2_f1";
|
||||
joypad-vendor = <0x484B>;
|
||||
joypad-product = <0x1121>; /* 11 inherited, 2 for number of sticks, 1 for number of FN */
|
||||
joypad-revision = <0x0100>;
|
||||
|
||||
/* require explicit status = "okay"; */
|
||||
status = "disabled";
|
||||
|
||||
/* adc calculate scale */
|
||||
button-adc-scale = <2>;
|
||||
|
||||
/* adc deadzone range */
|
||||
button-adc-deadzone = <64>;
|
||||
|
||||
/*
|
||||
specifies fuzz value that is used to filter noise from
|
||||
the event stream.
|
||||
*/
|
||||
button-adc-fuzz = <32>;
|
||||
button-adc-flat = <32>;
|
||||
|
||||
/* poll device interval (ms), adc read interval */
|
||||
poll-interval = <10>;
|
||||
|
||||
/* gpio button auto repeat set value : default disable */
|
||||
/*
|
||||
autorepeat;
|
||||
*/
|
||||
|
||||
/* meaningful node names for easier use */
|
||||
up {
|
||||
label = "GPIO DPAD-UP";
|
||||
linux,code = <BTN_DPAD_UP>;
|
||||
};
|
||||
down {
|
||||
label = "GPIO DPAD-DOWN";
|
||||
linux,code = <BTN_DPAD_DOWN>;
|
||||
};
|
||||
left {
|
||||
label = "GPIO DPAD-LEFT";
|
||||
linux,code = <BTN_DPAD_LEFT>;
|
||||
};
|
||||
right {
|
||||
label = "GPIO DPAD-RIGHT";
|
||||
linux,code = <BTN_DPAD_RIGHT>;
|
||||
};
|
||||
|
||||
a {
|
||||
label = "GPIO BTN-A";
|
||||
linux,code = <BTN_EAST>;
|
||||
};
|
||||
b {
|
||||
label = "GPIO BTN-B";
|
||||
linux,code = <BTN_SOUTH>;
|
||||
};
|
||||
x {
|
||||
label = "GPIO BTN-X";
|
||||
linux,code = <BTN_NORTH>;
|
||||
};
|
||||
y {
|
||||
label = "GPIO BTN-Y";
|
||||
linux,code = <BTN_WEST>;
|
||||
};
|
||||
|
||||
select {
|
||||
label = "GPIO BTN_SELECT";
|
||||
linux,code = <BTN_SELECT>;
|
||||
};
|
||||
start {
|
||||
label = "GPIO BTN_START";
|
||||
linux,code = <BTN_START>;
|
||||
};
|
||||
mode {
|
||||
label = "GPIO BTN_F";
|
||||
linux,code = <BTN_MODE>;
|
||||
};
|
||||
|
||||
tl {
|
||||
label = "GPIO BTN_TL";
|
||||
linux,code = <BTN_TL>;
|
||||
};
|
||||
tr {
|
||||
label = "GPIO BTN_TR";
|
||||
linux,code = <BTN_TR>;
|
||||
};
|
||||
tl2 {
|
||||
label = "GPIO BTN_TL2";
|
||||
linux,code = <BTN_TL2>;
|
||||
};
|
||||
tr2 {
|
||||
label = "GPIO BTN_TR2";
|
||||
linux,code = <BTN_TR2>;
|
||||
};
|
||||
|
||||
thumbl {
|
||||
label = "GPIO BTN_THUMBL";
|
||||
linux,code = <BTN_THUMBL>;
|
||||
};
|
||||
thumbr {
|
||||
label = "GPIO BTN_THUMBR";
|
||||
linux,code = <BTN_THUMBR>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,58 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2019 Hardkernel Co., Ltd
|
||||
* Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
|
||||
* Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3326-odroid-go.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Anbernic RG351M";
|
||||
compatible = "anbernic,rg351m", "rockchip,rk3326";
|
||||
|
||||
battery: battery {
|
||||
compatible = "simple-battery";
|
||||
charge-full-design-microamp-hours = <3500000>;
|
||||
charge-term-current-microamp = <350000>;
|
||||
constant-charge-current-max-microamp = <2000000>;
|
||||
constant-charge-voltage-max-microvolt = <4200000>;
|
||||
factory-internal-resistance-micro-ohms = <180000>;
|
||||
voltage-max-design-microvolt = <4100000>;
|
||||
voltage-min-design-microvolt = <3500000>;
|
||||
|
||||
ocv-capacity-celsius = <20>;
|
||||
ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
||||
<3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>,
|
||||
<3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>,
|
||||
<3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>,
|
||||
<3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
|
||||
<3574170 0>;
|
||||
};
|
||||
|
||||
vibrator {
|
||||
compatible = "pwm-vibrator";
|
||||
pwms = <&pwm0 0 1000000 0>;
|
||||
pwm-names = "enable";
|
||||
};
|
||||
};
|
||||
|
||||
/delete-node/ &vcc_host; /* conflicts with pwm vibration motor */
|
||||
|
||||
&internal_display {
|
||||
compatible = "elida,kd35t133";
|
||||
iovcc-supply = <&vcc_lcd>;
|
||||
vdd-supply = <&vcc_lcd>;
|
||||
rotation = <270>;
|
||||
};
|
||||
|
||||
&pwm0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rk817_charger {
|
||||
/* This device does not have a current sense resistor */
|
||||
//rockchip,resistor-sense-micro-ohms = <0>;
|
||||
monitored-battery = <&battery>;
|
||||
};
|
||||
@@ -0,0 +1,480 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2019 Hardkernel Co., Ltd
|
||||
* Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
|
||||
* Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/pinctrl/rockchip.h>
|
||||
#include "rk3326.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
mmc0 = &sdmmc;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial2:115200n8";
|
||||
};
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
power-supply = <&vcc_bl>;
|
||||
pwms = <&pwm1 0 25000 0>;
|
||||
};
|
||||
|
||||
/*
|
||||
* LED is a tri-state. Driven high it is red, driven low it is
|
||||
* green, and not driven at all (pin set to input) it is amber.
|
||||
* Additionally, there is a 2nd LED that is not controllable
|
||||
* that is on (red) when plugged in to power.
|
||||
*/
|
||||
gpio_led: gpio-leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pin>;
|
||||
|
||||
red_green_led: led-0 {
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
|
||||
function = LED_FUNCTION_CHARGING;
|
||||
};
|
||||
};
|
||||
|
||||
rk817-sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "rk817_int";
|
||||
simple-audio-card,format = "i2s";
|
||||
simple-audio-card,hp-det-gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
|
||||
simple-audio-card,mclk-fs = <256>;
|
||||
simple-audio-card,widgets =
|
||||
"Microphone", "Mic Jack",
|
||||
"Headphone", "Headphones",
|
||||
"Speaker", "Speaker";
|
||||
simple-audio-card,routing =
|
||||
"MICL", "Mic Jack",
|
||||
"Headphones", "HPOL",
|
||||
"Headphones", "HPOR",
|
||||
"Speaker", "SPKO";
|
||||
|
||||
simple-audio-card,codec {
|
||||
sound-dai = <&rk817>;
|
||||
};
|
||||
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&i2s1_2ch>;
|
||||
};
|
||||
};
|
||||
|
||||
vccsys: regulator-vccsys {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v8_sys";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3800000>;
|
||||
regulator-max-microvolt = <3800000>;
|
||||
};
|
||||
|
||||
vibrator {
|
||||
compatible = "pwm-vibrator";
|
||||
pwms = <&pwm0 0 1000000 0>;
|
||||
pwm-names = "enable";
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&cpu1 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&cpu2 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&cpu3 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
&cru {
|
||||
assigned-clocks = <&cru PLL_NPLL>,
|
||||
<&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
|
||||
<&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
|
||||
<&cru PCLK_BUS_PRE>, <&cru SCLK_GPU>;
|
||||
|
||||
assigned-clock-rates = <1188000000>,
|
||||
<200000000>, <200000000>,
|
||||
<150000000>, <150000000>,
|
||||
<100000000>, <200000000>;
|
||||
};
|
||||
|
||||
&display_subsystem {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dsi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
mipi_out: port@1 {
|
||||
reg = <1>;
|
||||
|
||||
mipi_out_panel: endpoint {
|
||||
remote-endpoint = <&mipi_in_panel>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
internal_display: panel@0 {
|
||||
reg = <0>;
|
||||
backlight = <&backlight>;
|
||||
reset-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
|
||||
|
||||
port {
|
||||
mipi_in_panel: endpoint {
|
||||
remote-endpoint = <&mipi_out_panel>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dsi_dphy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpu {
|
||||
mali-supply = <&vdd_logic>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
clock-frequency = <400000>;
|
||||
i2c-scl-falling-time-ns = <16>;
|
||||
i2c-scl-rising-time-ns = <280>;
|
||||
status = "okay";
|
||||
|
||||
rk817: pmic@20 {
|
||||
compatible = "rockchip,rk817";
|
||||
reg = <0x20>;
|
||||
#clock-cells = <1>;
|
||||
clock-names = "mclk";
|
||||
clock-output-names = "rk808-clkout1", "xin32k";
|
||||
clocks = <&cru SCLK_I2S1_OUT>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
|
||||
pinctrl-names = "default";
|
||||
#sound-dai-cells = <0>;
|
||||
wakeup-source;
|
||||
|
||||
vcc1-supply = <&vccsys>;
|
||||
vcc2-supply = <&vccsys>;
|
||||
vcc3-supply = <&vccsys>;
|
||||
vcc4-supply = <&vccsys>;
|
||||
vcc5-supply = <&vccsys>;
|
||||
vcc6-supply = <&vccsys>;
|
||||
vcc7-supply = <&vccsys>;
|
||||
vcc8-supply = <&vccsys>;
|
||||
|
||||
regulators {
|
||||
vdd_logic: DCDC_REG1 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-name = "vdd_logic";
|
||||
regulator-ramp-delay = <6001>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <950000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_arm: DCDC_REG2 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-ramp-delay = <6001>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <950000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_ddr: DCDC_REG3 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-name = "vcc_ddr";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_3v3: DCDC_REG4 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-name = "vcc_3v3";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_1v8: LDO_REG2 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-name = "vcc_1v8";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_1v0: LDO_REG3 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-name = "vdd_1v0";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc3v3_pmu: LDO_REG4 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-name = "vcc3v3_pmu";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vccio_sd: LDO_REG5 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-name = "vccio_sd";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_sd: LDO_REG6 {
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-name = "vcc_sd";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_bl: LDO_REG7 {
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-name = "vcc_bl";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_lcd: LDO_REG8 {
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-name = "vcc_lcd";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <2800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_wifi: LDO_REG9 {
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-name = "vcc_wifi";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
usb_midu: BOOST {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <5400000>;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-name = "usb_midu";
|
||||
};
|
||||
};
|
||||
|
||||
rk817_codec: codec {
|
||||
rockchip,mic-in-differential;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2s1_2ch {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&io_domains {
|
||||
vccio1-supply = <&vcc_3v3>;
|
||||
vccio2-supply = <&vccio_sd>;
|
||||
vccio3-supply = <&vcc_3v3>;
|
||||
vccio4-supply = <&vcc_3v3>;
|
||||
vccio5-supply = <&vcc_3v3>;
|
||||
vccio6-supply = <&vcc_3v3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pmu_io_domains {
|
||||
pmuio1-supply = <&vcc3v3_pmu>;
|
||||
pmuio2-supply = <&vcc3v3_pmu>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&vcc_1v8>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
cap-sd-highspeed;
|
||||
card-detect-delay = <200>;
|
||||
cd-gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_LOW>;
|
||||
sd-uhs-sdr12;
|
||||
sd-uhs-sdr25;
|
||||
sd-uhs-sdr50;
|
||||
sd-uhs-sdr104;
|
||||
vmmc-supply = <&vcc_sd>;
|
||||
vqmmc-supply = <&vccio_sd>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sfc {
|
||||
#address-cells = <1>;
|
||||
pinctrl-0 = <&sfc_clk &sfc_cs0 &sfc_bus2>;
|
||||
pinctrl-names = "default";
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <108000000>;
|
||||
spi-rx-bus-width = <2>;
|
||||
spi-tx-bus-width = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&tsadc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy {
|
||||
status = "okay";
|
||||
|
||||
u2phy_host: host-port {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
u2phy_otg: otg-port {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&usb20_otg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-0 = <&uart2m1_xfer>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopb {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopb_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
headphone {
|
||||
hp_det: hp-det {
|
||||
rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
led_pin: led-pin {
|
||||
rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
pmic {
|
||||
dc_det: dc-det {
|
||||
rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
pmic_int: pmic-int {
|
||||
rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
|
||||
soc_slppin_gpio: soc_slppin_gpio {
|
||||
rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
|
||||
};
|
||||
|
||||
soc_slppin_rst: soc_slppin_rst {
|
||||
rockchip,pins = <0 RK_PA4 2 &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
soc_slppin_slp: soc_slppin_slp {
|
||||
rockchip,pins = <0 RK_PA4 1 &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,124 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2019 Hardkernel Co., Ltd
|
||||
* Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
|
||||
* Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3326-odroid-go.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Anbernic RG351V";
|
||||
compatible = "anbernic,rg351v", "rockchip,rk3326";
|
||||
|
||||
aliases {
|
||||
mmc0 = &sdio;
|
||||
mmc1 = &sdmmc;
|
||||
};
|
||||
|
||||
gpio-keys-vol {
|
||||
compatible = "gpio-keys";
|
||||
autorepeat;
|
||||
pinctrl-0 = <&btn_pins_vol>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
button-vol-down {
|
||||
gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
label = "VOLUMEDOWN";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
};
|
||||
|
||||
button-volume-up {
|
||||
gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||
label = "VOLUMEUP";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
};
|
||||
};
|
||||
|
||||
battery: battery {
|
||||
compatible = "simple-battery";
|
||||
charge-full-design-microamp-hours = <3500000>;
|
||||
charge-term-current-microamp = <350000>;
|
||||
constant-charge-current-max-microamp = <2000000>;
|
||||
constant-charge-voltage-max-microvolt = <4200000>;
|
||||
factory-internal-resistance-micro-ohms = <180000>;
|
||||
voltage-max-design-microvolt = <4100000>;
|
||||
voltage-min-design-microvolt = <3500000>;
|
||||
|
||||
ocv-capacity-celsius = <20>;
|
||||
ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
||||
<3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>,
|
||||
<3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>,
|
||||
<3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>,
|
||||
<3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
|
||||
<3574170 0>;
|
||||
};
|
||||
|
||||
vibrator {
|
||||
compatible = "pwm-vibrator";
|
||||
pwms = <&pwm0 0 1000000 0>;
|
||||
pwm-names = "enable";
|
||||
};
|
||||
};
|
||||
|
||||
/* conflicts with pwm vibration motor */
|
||||
/delete-node/ &vcc_host;
|
||||
|
||||
/* Device only has 1 LED compared to Odroid Go Advance */
|
||||
/delete-node/ &gpio_led;
|
||||
|
||||
&internal_display {
|
||||
compatible = "anbernic,rg351v-panel", "newvision,nv3051d";
|
||||
iovcc-supply = <&vcc_lcd>;
|
||||
vdd-supply = <&vcc_lcd>;
|
||||
};
|
||||
|
||||
&io_domains {
|
||||
vccio1-supply = <&vccio_sd>;
|
||||
};
|
||||
|
||||
/delete-node/ &pwm_led;
|
||||
|
||||
&pwm0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/delete-node/ &pwm3;
|
||||
|
||||
&rk817_charger {
|
||||
/* This device does not have a current sense resistor */
|
||||
rockchip,resistor-sense-micro-ohms = <0>;
|
||||
monitored-battery = <&battery>;
|
||||
};
|
||||
|
||||
&sdio {
|
||||
cap-sd-highspeed;
|
||||
card-detect-delay = <200>;
|
||||
cd-gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; /*[> CD GPIO <]*/
|
||||
sd-uhs-sdr12;
|
||||
sd-uhs-sdr25;
|
||||
sd-uhs-sdr50;
|
||||
sd-uhs-sdr104;
|
||||
vmmc-supply = <&vcc_sd>;
|
||||
vqmmc-supply = <&vccio_sd>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vcc_sd {
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
&vccio_sd {
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
btns {
|
||||
btn_pins_vol: btn-pins-vol {
|
||||
rockchip,pins = <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
};
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,124 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* # Copyright (C) 2022-24 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3326-gameconsole-r3xs.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Game Console R33S";
|
||||
compatible = "gameconsole,r33s", "rockchip,rk3326";
|
||||
|
||||
builtin_gamepad: r33s_joypad {
|
||||
compatible = "rocknix-singleadc-joypad";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&btn_pins>;
|
||||
joypad-name = "r33s_joypad";
|
||||
joypad-product = <0x0AA2>;
|
||||
joypad-revision = <0x0100>;
|
||||
joypad-vendor = <0x0001>;
|
||||
|
||||
status = "okay";
|
||||
amux-count = <0>;
|
||||
/* poll device interval (ms), adc read interval */
|
||||
poll-interval = <10>;
|
||||
pwms = <&pwm0 0 1000000000 0>;
|
||||
pwm-names = "enable";
|
||||
rumble-boost-weak = <0x0000>;
|
||||
rumble-boost-strong = <0x0000>;
|
||||
|
||||
button-sw1 {
|
||||
gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
label = "DPAD-UP";
|
||||
linux,code = <BTN_DPAD_UP>;
|
||||
};
|
||||
button-sw2 {
|
||||
gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
|
||||
label = "DPAD-DOWN";
|
||||
linux,code = <BTN_DPAD_DOWN>;
|
||||
};
|
||||
button-sw3 {
|
||||
gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
|
||||
label = "DPAD-LEFT";
|
||||
linux,code = <BTN_DPAD_LEFT>;
|
||||
};
|
||||
button-sw4 {
|
||||
gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "DPAD-RIGHT";
|
||||
linux,code = <BTN_DPAD_RIGHT>;
|
||||
};
|
||||
button-sw5 {
|
||||
gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "BTN-A";
|
||||
linux,code = <BTN_EAST>;
|
||||
};
|
||||
button-sw6 {
|
||||
gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "BTN-B";
|
||||
linux,code = <BTN_SOUTH>;
|
||||
};
|
||||
button-sw7 {
|
||||
gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "BTN-Y";
|
||||
linux,code = <BTN_WEST>;
|
||||
};
|
||||
button-sw8 {
|
||||
gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "BTN-X";
|
||||
linux,code = <BTN_NORTH>;
|
||||
};
|
||||
button-sw9 {
|
||||
gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "TOP-LEFT";
|
||||
linux,code = <BTN_TL>;
|
||||
};
|
||||
button-sw10 {
|
||||
gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "TOP-RIGHT";
|
||||
linux,code = <BTN_TR>;
|
||||
};
|
||||
button-sw11 {
|
||||
gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
|
||||
label = "SELECT";
|
||||
linux,code = <BTN_SELECT>;
|
||||
};
|
||||
button-sw12 {
|
||||
gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "TOP-RIGHT 2";
|
||||
linux,code = <BTN_TR2>;
|
||||
};
|
||||
button-sw13 {
|
||||
gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
|
||||
label = "TOP-LEFT 2";
|
||||
linux,code = <BTN_TL2>;
|
||||
};
|
||||
button-sw14 {
|
||||
gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
label = "START";
|
||||
linux,code = <BTN_START>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
btns {
|
||||
btn_pins: btn-pins {
|
||||
rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,202 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* # Copyright (C) 2022-24 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3326-gameconsole-r3xs.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Game Console R36S";
|
||||
compatible = "gameconsole,r35s", "gameconsole,r36s", "rockchip,rk3326";
|
||||
|
||||
joypad: odroidgo3-joypad {
|
||||
compatible = "odroidgo3-joypad";
|
||||
pwms = <&pwm0 0 200000000 0>;
|
||||
pwm-names = "enable";
|
||||
rumble-boost-weak = <0x0000>;
|
||||
rumble-boost-strong = <0x0000>;
|
||||
|
||||
joypad-name = "r36s_Gamepad";
|
||||
joypad-product = <0x1188>;
|
||||
joypad-revision = <0x0188>;
|
||||
|
||||
status = "okay";
|
||||
|
||||
/* gpio pincontrol setup */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&btn_pins>;
|
||||
pinctrl-1 = <&pwm0_pin>;
|
||||
|
||||
/* Analog mux define */
|
||||
io-channel-names = "amux_adc";
|
||||
io-channels = <&saradc 1>;
|
||||
|
||||
/* adc mux channel count */
|
||||
amux-count = <4>;
|
||||
/* adc mux select(a,b) gpio */
|
||||
amux-a-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
|
||||
amux-b-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
|
||||
/* adc mux enable gpio */
|
||||
amux-en-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
|
||||
|
||||
/* adc calculate scale */
|
||||
button-adc-scale = <2>;
|
||||
|
||||
/* adc deadzone range */
|
||||
button-adc-deadzone = <64>;
|
||||
|
||||
/*
|
||||
specifies fuzz value that is used to filter noise from
|
||||
the event stream.
|
||||
*/
|
||||
button-adc-fuzz = <32>;
|
||||
button-adc-flat = <32>;
|
||||
|
||||
/*
|
||||
Analog Stick data tuning value(precent)
|
||||
p = positive direction, n = negative direction
|
||||
report value = (real_adc_data * tuning_value) / 100
|
||||
*/
|
||||
abs_x-p-tuning = <200>;
|
||||
abs_x-n-tuning = <200>;
|
||||
|
||||
abs_y-p-tuning = <200>;
|
||||
abs_y-n-tuning = <200>;
|
||||
|
||||
abs_rx-p-tuning = <200>;
|
||||
abs_rx-n-tuning = <200>;
|
||||
|
||||
abs_ry-p-tuning = <200>;
|
||||
abs_ry-n-tuning = <200>;
|
||||
|
||||
/* poll device interval (ms), adc read interval */
|
||||
poll-interval = <10>;
|
||||
|
||||
/* required for RG36S */
|
||||
invert-absx;
|
||||
invert-absy;
|
||||
|
||||
/* gpio button auto repeat set value : default disable */
|
||||
/*
|
||||
autorepeat;
|
||||
*/
|
||||
|
||||
/*
|
||||
joypad driver is poll-device driver.
|
||||
poll-device is does not support wakeup-source.
|
||||
*/
|
||||
sw1 {
|
||||
gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-UP";
|
||||
linux,code = <BTN_DPAD_UP>; // 0x220
|
||||
};
|
||||
sw2 {
|
||||
gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-DOWN";
|
||||
linux,code = <BTN_DPAD_DOWN>; // 0x221
|
||||
};
|
||||
sw3 {
|
||||
gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-LEFT";
|
||||
linux,code = <BTN_DPAD_LEFT>; // 0x222
|
||||
};
|
||||
sw4 {
|
||||
gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-RIGHT";
|
||||
linux,code = <BTN_DPAD_RIGHT>; // 0x223
|
||||
};
|
||||
sw5 {
|
||||
gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO KEY BTN-A";
|
||||
linux,code = <BTN_EAST>; // 0x131
|
||||
};
|
||||
sw6 {
|
||||
gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-B";
|
||||
linux,code = <BTN_SOUTH>; // 0x130
|
||||
};
|
||||
sw7 {
|
||||
gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-Y";
|
||||
linux,code = <BTN_WEST>; // 0x134
|
||||
};
|
||||
sw8 {
|
||||
gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-X";
|
||||
linux,code = <BTN_NORTH>; // 0x133
|
||||
};
|
||||
sw11 {
|
||||
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN_THUMBL";
|
||||
linux,code = <BTN_THUMBL>; // 0x2c2
|
||||
};
|
||||
sw12 {
|
||||
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN_THUMBR";
|
||||
linux,code = <BTN_THUMBR>; // 0x2c3
|
||||
};
|
||||
sw13 {
|
||||
gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN_FN";
|
||||
linux,code = <BTN_MODE>; // 0x2c4
|
||||
};
|
||||
sw15 {
|
||||
gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-LEFT";
|
||||
linux,code = <BTN_TL>; // 0x02
|
||||
};
|
||||
sw16 {
|
||||
gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-RIGHT";
|
||||
linux,code = <BTN_TR>; // 0x05
|
||||
};
|
||||
sw19 {
|
||||
gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN_SELECT";
|
||||
linux,code = <BTN_SELECT>;
|
||||
};
|
||||
sw20 {
|
||||
gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-RIGHT2";
|
||||
linux,code = <BTN_TR2>;
|
||||
};
|
||||
sw21 {
|
||||
gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-LEFT2";
|
||||
linux,code = <BTN_TL2>;
|
||||
};
|
||||
sw22 {
|
||||
gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN_START";
|
||||
linux,code = <BTN_START>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
btns {
|
||||
btn_pins: btn-pins {
|
||||
rockchip,pins = <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,109 @@
|
||||
/// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2024-present ROCKNIX (https://github.com/ROCKNIX)
|
||||
* Copyright (c) 2024 Olivier Schonken <olivier.schonken@gmail.com>
|
||||
*/
|
||||
|
||||
#include "rk3326-magicx-xu10.dts"
|
||||
|
||||
/ {
|
||||
model = "MagicX XU Mini M";
|
||||
compatible = "magicx,xu-mini-m", "rockchip,rk3326";
|
||||
};
|
||||
|
||||
&battery {
|
||||
charge-full-design-microamp-hours = <2600000>;
|
||||
};
|
||||
|
||||
&dsi {
|
||||
internal_display: panel@0 {
|
||||
compatible = "rocknix,generic-dsi";
|
||||
panel_description =
|
||||
"G size=69,139 delays=5,20,20,120,20 format=rgb888 lanes=2 flags=0xe03",
|
||||
|
||||
"M clock=25000 horizontal=480,60,10,54 vertical=640,20,10,20 default=1",
|
||||
"M clock=25200 horizontal=480,60,22,54 vertical=640,20,139,20",
|
||||
"M clock=25000 horizontal=480,60,31,54 vertical=640,20,120,20",
|
||||
"M clock=25660 horizontal=480,60,22,54 vertical=640,20,153,20",
|
||||
"M clock=25300 horizontal=480,60,31,54 vertical=640,20,24,20",
|
||||
"M clock=28590 horizontal=480,60,15,54 vertical=640,20,106,20",
|
||||
"M clock=25380 horizontal=480,60,17,54 vertical=640,20,13,20",
|
||||
"M clock=25410 horizontal=480,60,11,54 vertical=640,20,20,20",
|
||||
"M clock=29490 horizontal=480,60,24,54 vertical=640,20,114,20",
|
||||
"M clock=33520 horizontal=480,60,36,54 vertical=640,20,25,20",
|
||||
"M clock=38430 horizontal=480,60,16,54 vertical=640,20,20,20",
|
||||
"M clock=50820 horizontal=480,60,11,54 vertical=640,20,20,20",
|
||||
|
||||
"I seq=ff7701000013",
|
||||
"I seq=ef08",
|
||||
"I seq=ff7701000010",
|
||||
"I seq=c04f00", "I seq=c11002", "I seq=c22002", "I seq=cc10",
|
||||
"I seq=b006161e0e12060a0809230412102b311f",
|
||||
"I seq=b1060f160d100704090720051210262f1f",
|
||||
"I seq=ff7701000011",
|
||||
"I seq=b065", "I seq=b185", "I seq=b282", "I seq=b380", "I seq=b542", "I seq=b785",
|
||||
"I seq=b820",
|
||||
"I seq=c178", "I seq=c278",
|
||||
"I seq=d088",
|
||||
"I seq=e0000002",
|
||||
"I seq=e104a006a005a007a0004444",
|
||||
"I seq=e2000000000000000000000000",
|
||||
"I seq=e300002222",
|
||||
"I seq=e44444",
|
||||
"I seq=e50c90a0a00e92a0a0088ca0a00a8ea0a0",
|
||||
"I seq=e600002222",
|
||||
"I seq=e74444",
|
||||
"I seq=e80d91a0a00f93a0a0098da0a00b8fa0a0",
|
||||
"I seq=eb0000e4e4440040",
|
||||
"I seq=edfff5476f0ba1abffffba1ab0f6745fff",
|
||||
"I seq=ef080808403f64",
|
||||
"I seq=ff7701000013",
|
||||
"I seq=e6167c", "I seq=e8000e",
|
||||
"I seq=e8000c wait=50",
|
||||
"I seq=e80000",
|
||||
"I seq=ff7701000000",
|
||||
"I seq=11 wait=150",
|
||||
"I seq=29 wait=120";
|
||||
rotation = <90>;
|
||||
};
|
||||
};
|
||||
|
||||
&joypad {
|
||||
joypad-name = "XU Mini M Gamepad";
|
||||
|
||||
invert-absrx;
|
||||
/delete-property/ invert-absx;
|
||||
|
||||
sw5 {
|
||||
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-B";
|
||||
};
|
||||
sw6 {
|
||||
gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-A";
|
||||
};
|
||||
sw7 {
|
||||
gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-X";
|
||||
};
|
||||
sw8 {
|
||||
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-Y";
|
||||
};
|
||||
sw16 {
|
||||
gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
sw17 {
|
||||
gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
headphone {
|
||||
hp_det: hp-det {
|
||||
rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,308 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2019 Hardkernel Co., Ltd
|
||||
* Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
|
||||
* Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3326-odroid-go.dtsi"
|
||||
|
||||
/ {
|
||||
model = "ODROID-GO Advance Black Edition";
|
||||
compatible = "hardkernel,rk3326-odroid-go2-v11", "rockchip,rk3326";
|
||||
|
||||
aliases {
|
||||
mmc1 = &sdio;
|
||||
};
|
||||
|
||||
gpio_keys: volume-keys {
|
||||
compatible = "gpio-keys";
|
||||
autorepeat;
|
||||
pinctrl-0 = <&btn_pins_vol>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
volume-up-button {
|
||||
label = "VOLUMEUP";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
|
||||
|
||||
};
|
||||
volume-down-button {
|
||||
label = "VOLUMEDOWN";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
joypad: odroidgo2-joypad {
|
||||
compatible = "odroidgo2-v11-joypad";
|
||||
|
||||
/*
|
||||
- odroidgo2-joypad sysfs list -
|
||||
* for poll device interval(ms)
|
||||
/sys/devices/platform/odroidgo2_joypad/poll_interval [rw]
|
||||
* for button-adc-fuzz
|
||||
/sys/devices/platform/odroidgo2_joypad/adc_fuzz [r]
|
||||
* for button-adc-flat
|
||||
/sys/devices/platform/odroidgo2_joypad/adc_flat [r]
|
||||
|
||||
* for report control(1:enable, 0:disable)
|
||||
/sys/devices/platform/odroidgo2_joypad/enable [rw]
|
||||
* for adc calibration value setup(1:current adcs value -> cal value)
|
||||
/sys/devices/platform/odroidgo2_joypad/adc_cal [rw]
|
||||
*/
|
||||
|
||||
/* gpio pincontrol setup */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&btn_pins>;
|
||||
|
||||
/* JOY_X, JOY_Y Channel define */
|
||||
io-channel-names = "joy_x", "joy_y";
|
||||
io-channels = <&saradc 1>, <&saradc 2>;
|
||||
|
||||
/* adc channel count */
|
||||
button-adc-count = <2>;
|
||||
|
||||
/* adc calculate scale */
|
||||
button-adc-scale = <2>;
|
||||
|
||||
/* adc deadzone range */
|
||||
button-adc-deadzone = <20>;
|
||||
|
||||
/*
|
||||
joy-stick voltage range
|
||||
/sys/devices/platform/ff288000.saradc/iio:device0
|
||||
adc-x : in_voltage1_raw
|
||||
adc-y : in_voltage2_raw
|
||||
|
||||
range calculate.
|
||||
(adc raw max value - adc raw min value) * scale * 1.7515
|
||||
*/
|
||||
button-adc-x-range = <1800>;
|
||||
button-adc-y-range = <1800>;
|
||||
|
||||
/*
|
||||
specifies fuzz value that is used to filter noise from
|
||||
the event stream.
|
||||
*/
|
||||
button-adc-fuzz = <32>;
|
||||
button-adc-flat = <32>;
|
||||
|
||||
/* poll device interval (ms), adc read interval */
|
||||
poll-interval = <10>;
|
||||
|
||||
/* gpio button auto repeat set value : default disable */
|
||||
/*
|
||||
autorepeat;
|
||||
*/
|
||||
|
||||
/*
|
||||
*** ODROIDGO2-Advance Switch layoout ***
|
||||
|------------------------------------------------|
|
||||
| sw15 sw16 |
|
||||
| sw20 sw21 |
|
||||
|------------------------------------------------|
|
||||
| sw1 |-------------------| sw8 |
|
||||
| sw3 sw4 | | sw7 sw5 |
|
||||
| sw2 | LCD Display | sw6 |
|
||||
| | | |
|
||||
| |-------------------| |
|
||||
| sw9 sw10 vol- vol+ sw13 sw14 |
|
||||
|------------------------------------------------|
|
||||
*/
|
||||
/*
|
||||
joypad driver is poll-device driver.
|
||||
poll-device is does not support wakeup-source.
|
||||
*/
|
||||
sw1 {
|
||||
gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-UP";
|
||||
linux,code = <BTN_DPAD_UP>; // 0x220
|
||||
};
|
||||
sw2 {
|
||||
gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-DOWN";
|
||||
linux,code = <BTN_DPAD_DOWN>; // 0x221
|
||||
};
|
||||
sw3 {
|
||||
gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-LEFT";
|
||||
linux,code = <BTN_DPAD_LEFT>; // 0x222
|
||||
};
|
||||
sw4 {
|
||||
gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-RIGHT";
|
||||
linux,code = <BTN_DPAD_RIGHT>; // 0x223
|
||||
};
|
||||
sw5 {
|
||||
gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO KEY BTN-A";
|
||||
linux,code = <BTN_EAST>; // 0x131
|
||||
};
|
||||
sw6 {
|
||||
gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-B";
|
||||
linux,code = <BTN_SOUTH>; // 0x130
|
||||
};
|
||||
sw7 {
|
||||
gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-Y";
|
||||
linux,code = <BTN_WEST>; // 0x134
|
||||
};
|
||||
sw8 {
|
||||
gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-X";
|
||||
linux,code = <BTN_NORTH>; // 0x133
|
||||
};
|
||||
sw9 {
|
||||
gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-SELECT";
|
||||
linux,code = <BTN_SELECT>; // 0x2c0
|
||||
};
|
||||
sw10 {
|
||||
gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-THUMBL";
|
||||
linux,code = <BTN_THUMBL>; // 0x2c1
|
||||
};
|
||||
sw13 {
|
||||
gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-THUMBR";
|
||||
linux,code = <BTN_THUMBR>; // 0x2c4
|
||||
};
|
||||
sw14 {
|
||||
gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-START";
|
||||
linux,code = <BTN_START>; // 0x13c
|
||||
};
|
||||
sw15 {
|
||||
gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-LEFT";
|
||||
linux,code = <BTN_TL>; // 0x02
|
||||
};
|
||||
sw16 {
|
||||
gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-RIGHT";
|
||||
linux,code = <BTN_TR>; // 0x05
|
||||
};
|
||||
sw20 {
|
||||
gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-LEFT2";
|
||||
linux,code = <BTN_TL2>;
|
||||
};
|
||||
sw21 {
|
||||
gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-RIGHT2";
|
||||
linux,code = <BTN_TR2>;
|
||||
};
|
||||
};
|
||||
|
||||
battery: battery {
|
||||
compatible = "simple-battery";
|
||||
charge-full-design-microamp-hours = <3000000>;
|
||||
charge-term-current-microamp = <300000>;
|
||||
constant-charge-current-max-microamp = <2000000>;
|
||||
constant-charge-voltage-max-microvolt = <4200000>;
|
||||
factory-internal-resistance-micro-ohms = <180000>;
|
||||
voltage-max-design-microvolt = <4100000>;
|
||||
voltage-min-design-microvolt = <3500000>;
|
||||
|
||||
ocv-capacity-celsius = <20>;
|
||||
ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
||||
<3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>,
|
||||
<3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>,
|
||||
<3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>,
|
||||
<3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
|
||||
<3574170 0>;
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&wifi_pwrseq_pins>;
|
||||
reset-gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
|
||||
post-power-on-delay-ms = <300>;
|
||||
power-off-delay-us = <200000>;
|
||||
};
|
||||
};
|
||||
|
||||
&internal_display {
|
||||
compatible = "elida,kd35t133";
|
||||
iovcc-supply = <&vcc_lcd>;
|
||||
vdd-supply = <&vcc_lcd>;
|
||||
rotation = <270>;
|
||||
};
|
||||
|
||||
&rk817 {
|
||||
regulators {
|
||||
vcc_wifi: LDO_REG9 {
|
||||
regulator-name = "vcc_wifi";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&rk817_charger {
|
||||
monitored-battery = <&battery>;
|
||||
};
|
||||
|
||||
&sdio {
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
cap-sdio-irq;
|
||||
disable-wp;
|
||||
keep-power-in-suspend;
|
||||
non-removable;
|
||||
vmmc-supply = <&vcc_wifi>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
status = "okay";
|
||||
|
||||
esp8089: wifi@1 {
|
||||
compatible = "esp,esp8089";
|
||||
reg = <1>;
|
||||
esp,crystal-26M-en = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
btns {
|
||||
btn_pins: btn-pins {
|
||||
rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
btn_pins_vol: btn-pins-vol {
|
||||
rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
wifi {
|
||||
wifi_pwrseq_pins: wifi-pwrseq-pins {
|
||||
rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB6 RK_FUNC_GPIO &pcfg_output_high>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,235 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2019 Hardkernel Co., Ltd
|
||||
* Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
|
||||
* Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3326-odroid-go.dtsi"
|
||||
|
||||
/ {
|
||||
model = "ODROID-GO Advance";
|
||||
compatible = "hardkernel,rk3326-odroid-go2", "rockchip,rk3326";
|
||||
|
||||
gpio_keys: volume-keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <5>;
|
||||
autorepeat;
|
||||
|
||||
volume-up-button {
|
||||
label = "VOLUME-UP";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
|
||||
|
||||
};
|
||||
volume-down-button {
|
||||
label = "VOLUME-DOWN";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
joypad: odroidgo2-joypad {
|
||||
compatible = "odroidgo2-joypad";
|
||||
|
||||
/*
|
||||
- odroidgo2-joypad sysfs list -
|
||||
* for poll device interval(ms)
|
||||
/sys/devices/platform/odroidgo2_joypad/poll_interval [rw]
|
||||
* for button-adc-fuzz
|
||||
/sys/devices/platform/odroidgo2_joypad/adc_fuzz [r]
|
||||
* for button-adc-flat
|
||||
/sys/devices/platform/odroidgo2_joypad/adc_flat [r]
|
||||
|
||||
* for report control(1:enable, 0:disable)
|
||||
/sys/devices/platform/odroidgo2_joypad/enable [rw]
|
||||
* for adc calibration value setup(1:current adcs value -> cal value)
|
||||
/sys/devices/platform/odroidgo2_joypad/adc_cal [rw]
|
||||
*/
|
||||
|
||||
/* gpio pincontrol setup */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&btn_pins>;
|
||||
|
||||
/* JOY_X, JOY_Y Channel define */
|
||||
io-channel-names = "joy_x", "joy_y";
|
||||
io-channels = <&saradc 1>, <&saradc 2>;
|
||||
|
||||
/* adc channel count */
|
||||
button-adc-count = <2>;
|
||||
|
||||
/* adc calculate scale */
|
||||
button-adc-scale = <2>;
|
||||
|
||||
/* adc deadzone range */
|
||||
button-adc-deadzone = <20>;
|
||||
|
||||
/*
|
||||
joy-stick voltage range
|
||||
/sys/devices/platform/ff288000.saradc/iio:device0
|
||||
adc-x : in_voltage1_raw
|
||||
adc-y : in_voltage2_raw
|
||||
|
||||
range calculate.
|
||||
(adc raw max value - adc raw min value) * scale * 1.7515
|
||||
*/
|
||||
button-adc-x-range = <1800>;
|
||||
button-adc-y-range = <1800>;
|
||||
|
||||
/*
|
||||
specifies fuzz value that is used to filter noise from
|
||||
the event stream.
|
||||
*/
|
||||
button-adc-fuzz = <32>;
|
||||
button-adc-flat = <32>;
|
||||
|
||||
/* poll device interval (ms), adc read interval */
|
||||
poll-interval = <10>;
|
||||
|
||||
/* gpio button auto repeat set value : default disable */
|
||||
/*
|
||||
autorepeat;
|
||||
*/
|
||||
|
||||
/*
|
||||
*** ODROIDGO2-Advance Switch layoout ***
|
||||
|------------------------------------------------|
|
||||
| sw15 sw16 |
|
||||
|------------------------------------------------|
|
||||
| sw1 |-------------------| sw8 |
|
||||
| sw3 sw4 | | sw7 sw5 |
|
||||
| sw2 | LCD Display | sw6 |
|
||||
| | | |
|
||||
| |-------------------| |
|
||||
| sw9 sw10 vol- vol+ sw13 sw14 |
|
||||
|------------------------------------------------|
|
||||
*/
|
||||
/*
|
||||
joypad driver is poll-device driver.
|
||||
poll-device is does not support wakeup-source.
|
||||
*/
|
||||
sw1 {
|
||||
gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-UP";
|
||||
linux,code = <BTN_DPAD_UP>; // 0x220
|
||||
};
|
||||
sw2 {
|
||||
gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-DOWN";
|
||||
linux,code = <BTN_DPAD_DOWN>; // 0x221
|
||||
};
|
||||
sw3 {
|
||||
gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-LEFT";
|
||||
linux,code = <BTN_DPAD_LEFT>; // 0x222
|
||||
};
|
||||
sw4 {
|
||||
gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-RIGHT";
|
||||
linux,code = <BTN_DPAD_RIGHT>; // 0x223
|
||||
};
|
||||
sw5 {
|
||||
gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO KEY BTN-A";
|
||||
linux,code = <BTN_EAST>; // 0x131
|
||||
};
|
||||
sw6 {
|
||||
gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-B";
|
||||
linux,code = <BTN_SOUTH>; // 0x130
|
||||
};
|
||||
sw7 {
|
||||
gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-Y";
|
||||
linux,code = <BTN_WEST>; // 0x134
|
||||
};
|
||||
sw8 {
|
||||
gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-X";
|
||||
linux,code = <BTN_NORTH>; // 0x133
|
||||
};
|
||||
sw9 {
|
||||
gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F1";
|
||||
linux,code = <BTN_TRIGGER_HAPPY1>; // 0x2c0
|
||||
};
|
||||
sw10 {
|
||||
gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F2";
|
||||
linux,code = <BTN_TRIGGER_HAPPY2>; // 0x2c1
|
||||
};
|
||||
sw13 {
|
||||
gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F5";
|
||||
linux,code = <BTN_TRIGGER_HAPPY5>; // 0x2c4
|
||||
};
|
||||
sw14 {
|
||||
gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F6";
|
||||
linux,code = <BTN_TRIGGER_HAPPY6>; // 0x13c
|
||||
};
|
||||
sw15 {
|
||||
gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-LEFT";
|
||||
linux,code = <BTN_TL>; // 0x02
|
||||
};
|
||||
sw16 {
|
||||
gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-RIGHT";
|
||||
linux,code = <BTN_TR>; // 0x05
|
||||
};
|
||||
};
|
||||
|
||||
battery: battery {
|
||||
compatible = "simple-battery";
|
||||
charge-full-design-microamp-hours = <3000000>;
|
||||
charge-term-current-microamp = <300000>;
|
||||
constant-charge-current-max-microamp = <2000000>;
|
||||
constant-charge-voltage-max-microvolt = <4200000>;
|
||||
factory-internal-resistance-micro-ohms = <180000>;
|
||||
voltage-max-design-microvolt = <4100000>;
|
||||
voltage-min-design-microvolt = <3500000>;
|
||||
|
||||
ocv-capacity-celsius = <20>;
|
||||
ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
||||
<3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>,
|
||||
<3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>,
|
||||
<3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>,
|
||||
<3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
|
||||
<3574170 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&internal_display {
|
||||
compatible = "elida,kd35t133";
|
||||
iovcc-supply = <&vcc_lcd>;
|
||||
vdd-supply = <&vcc_lcd>;
|
||||
rotation = <270>;
|
||||
};
|
||||
|
||||
&rk817_charger {
|
||||
monitored-battery = <&battery>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
btns {
|
||||
btn_pins: btn-pins {
|
||||
rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,289 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2019 Hardkernel Co., Ltd
|
||||
* Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
|
||||
* Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3326-odroid-go.dtsi"
|
||||
|
||||
/ {
|
||||
model = "ODROID-GO Super";
|
||||
compatible = "hardkernel,rk3326-odroid-go3", "rockchip,rk3326";
|
||||
|
||||
joypad: odroidgo3-joypad {
|
||||
compatible = "odroidgo3-joypad";
|
||||
|
||||
joypad-name = "odroidgo3_joypad";
|
||||
joypad-product = <0x0001>;
|
||||
joypad-revision = <0x0101>;
|
||||
|
||||
status = "okay";
|
||||
/*
|
||||
- odroidgo3-joypad sysfs list -
|
||||
* for poll device interval(ms)
|
||||
/sys/devices/platform/odroidgo3_joypad/poll_interval [rw]
|
||||
ex) echo 20 > poll_interval
|
||||
* for button-adc-fuzz
|
||||
/sys/devices/platform/odroidgo3_joypad/adc_fuzz [r]
|
||||
* for button-adc-flat
|
||||
/sys/devices/platform/odroidgo3_joypad/adc_flat [r]
|
||||
|
||||
* for report control(1:enable, 0:disable)
|
||||
/sys/devices/platform/odroidgo3_joypad/enable [rw]
|
||||
* for adc calibration value setup(current adcs value -> cal value)
|
||||
/sys/devices/platform/odroidgo3_joypad/adc_cal [rw]
|
||||
ex) echo 0 > adc_cal
|
||||
* for amux data debug
|
||||
* Joypad driver is disabled when using this sysfs.
|
||||
/sys/devices/platform/odroidgo3_joypad/amux_debug [rw]
|
||||
ex) echo 0 > amux_debug --> select amux channel
|
||||
ex) cat amux_debug --> get adc data of seleted channel
|
||||
*/
|
||||
|
||||
/* gpio pincontrol setup */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&btn_pins>;
|
||||
|
||||
/* Analog mux define */
|
||||
io-channel-names = "amux_adc";
|
||||
io-channels = <&saradc 1>;
|
||||
|
||||
/* adc mux channel count */
|
||||
amux-count = <4>;
|
||||
/* adc mux select(a,b) gpio */
|
||||
amux-a-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
|
||||
amux-b-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
|
||||
/* adc mux enable gpio */
|
||||
amux-en-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
|
||||
|
||||
/* adc calculate scale */
|
||||
button-adc-scale = <2>;
|
||||
|
||||
/* adc deadzone range */
|
||||
button-adc-deadzone = <64>;
|
||||
|
||||
/*
|
||||
specifies fuzz value that is used to filter noise from
|
||||
the event stream.
|
||||
*/
|
||||
button-adc-fuzz = <32>;
|
||||
button-adc-flat = <32>;
|
||||
|
||||
/*
|
||||
Analog Stick data tuning value(precent)
|
||||
p = positive direction, n = negative direction
|
||||
report value = (real_adc_data * tuning_value) / 100
|
||||
*/
|
||||
abs_x-p-tuning = <180>;
|
||||
abs_x-n-tuning = <180>;
|
||||
|
||||
abs_y-p-tuning = <180>;
|
||||
abs_y-n-tuning = <170>;
|
||||
|
||||
abs_rx-p-tuning = <180>;
|
||||
abs_rx-n-tuning = <180>;
|
||||
|
||||
abs_ry-p-tuning = <180>;
|
||||
abs_ry-n-tuning = <170>;
|
||||
|
||||
/* poll device interval (ms), adc read interval */
|
||||
poll-interval = <10>;
|
||||
|
||||
/* gpio button auto repeat set value : default disable */
|
||||
/*
|
||||
autorepeat;
|
||||
*/
|
||||
|
||||
/*
|
||||
*** ODROIDGO3-Advance Switch layoout ***
|
||||
|------------------------------------------------|
|
||||
| sw15 sw21 sw10 sw9 sw20 sw16 |
|
||||
|------------------------------------------------|
|
||||
| sw19 sw22 |
|
||||
| |-------------------| |
|
||||
| sw1 | | sw8 |
|
||||
| sw3 sw4 | | sw7 sw5 |
|
||||
| sw2 | LCD Display | sw6 |
|
||||
| | | |
|
||||
| | | |
|
||||
| |-------------------| |
|
||||
| sw11 sw12 | sd-slot | sw13 sw14 |
|
||||
|-------------------| |------------------|
|
||||
*/
|
||||
/*
|
||||
joypad driver is poll-device driver.
|
||||
poll-device is does not support wakeup-source.
|
||||
*/
|
||||
sw1 {
|
||||
gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-UP";
|
||||
linux,code = <BTN_DPAD_UP>; // 0x220
|
||||
};
|
||||
sw2 {
|
||||
gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-DOWN";
|
||||
linux,code = <BTN_DPAD_DOWN>; // 0x221
|
||||
};
|
||||
sw3 {
|
||||
gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-LEFT";
|
||||
linux,code = <BTN_DPAD_LEFT>; // 0x222
|
||||
};
|
||||
sw4 {
|
||||
gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-RIGHT";
|
||||
linux,code = <BTN_DPAD_RIGHT>; // 0x223
|
||||
};
|
||||
sw5 {
|
||||
gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO KEY BTN-A";
|
||||
linux,code = <BTN_EAST>; // 0x131
|
||||
};
|
||||
sw6 {
|
||||
gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-B";
|
||||
linux,code = <BTN_SOUTH>; // 0x130
|
||||
};
|
||||
sw7 {
|
||||
gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-Y";
|
||||
linux,code = <BTN_WEST>; // 0x134
|
||||
};
|
||||
sw8 {
|
||||
gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-X";
|
||||
linux,code = <BTN_NORTH>; // 0x133
|
||||
};
|
||||
sw11 {
|
||||
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F3";
|
||||
linux,code = <BTN_TRIGGER_HAPPY3>; // 0x2c2
|
||||
};
|
||||
sw12 {
|
||||
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F4";
|
||||
linux,code = <BTN_THUMBL>; // 0x2c3
|
||||
};
|
||||
sw13 {
|
||||
gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F5";
|
||||
linux,code = <BTN_THUMBR>; // 0x2c4
|
||||
};
|
||||
sw14 {
|
||||
gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F6";
|
||||
linux,code = <BTN_TRIGGER_HAPPY6>; // 0x13c
|
||||
};
|
||||
sw15 {
|
||||
gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-LEFT";
|
||||
linux,code = <BTN_TL>; // 0x02
|
||||
};
|
||||
sw16 {
|
||||
gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-RIGHT";
|
||||
linux,code = <BTN_TR>; // 0x05
|
||||
};
|
||||
sw19 {
|
||||
gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F1";
|
||||
linux,code = <BTN_SELECT>;
|
||||
};
|
||||
sw20 {
|
||||
gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-RIGHT2";
|
||||
linux,code = <BTN_TR2>;
|
||||
};
|
||||
sw21 {
|
||||
gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-LEFT2";
|
||||
linux,code = <BTN_TL2>;
|
||||
};
|
||||
sw22 {
|
||||
gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F2";
|
||||
linux,code = <BTN_START>;
|
||||
};
|
||||
};
|
||||
|
||||
battery: battery {
|
||||
compatible = "simple-battery";
|
||||
charge-full-design-microamp-hours = <4000000>;
|
||||
charge-term-current-microamp = <300000>;
|
||||
constant-charge-current-max-microamp = <2000000>;
|
||||
constant-charge-voltage-max-microvolt = <4200000>;
|
||||
factory-internal-resistance-micro-ohms = <180000>;
|
||||
voltage-max-design-microvolt = <4100000>;
|
||||
voltage-min-design-microvolt = <3500000>;
|
||||
|
||||
ocv-capacity-celsius = <20>;
|
||||
ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
||||
<3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>,
|
||||
<3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>,
|
||||
<3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>,
|
||||
<3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
|
||||
<3574170 0>;
|
||||
};
|
||||
|
||||
gpio-keys-vol {
|
||||
compatible = "gpio-keys";
|
||||
autorepeat;
|
||||
pinctrl-0 = <&btn_pins_vol>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
button-vol-down {
|
||||
gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
label = "VOLUMEDOWN";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
};
|
||||
|
||||
button-volume-up {
|
||||
gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||
label = "VOLUMEUP";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&internal_display {
|
||||
compatible = "elida,kd50t048a", "sitronix,st7701";
|
||||
reset-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
|
||||
IOVCC-supply = <&vcc_lcd>;
|
||||
VCC-supply = <&vcc_lcd>;
|
||||
rotation = <270>;
|
||||
};
|
||||
|
||||
&rk817_charger {
|
||||
monitored-battery = <&battery>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
btns {
|
||||
btn_pins: btn-pins {
|
||||
rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
btn_pins_vol: btn-pins-vol {
|
||||
rockchip,pins = <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,280 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2019 Hardkernel Co., Ltd
|
||||
* Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
|
||||
* Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3326-odroid-go.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Powkiddy RGB10";
|
||||
compatible = "powkiddy,rk3326-rgb10", "rockchip,rk3326";
|
||||
|
||||
aliases {
|
||||
mmc1 = &sdio;
|
||||
};
|
||||
|
||||
joypad: odroidgo2-joypad {
|
||||
compatible = "odroidgo2-v11-joypad";
|
||||
|
||||
/*
|
||||
- odroidgo2-joypad sysfs list -
|
||||
* for poll device interval(ms)
|
||||
/sys/devices/platform/odroidgo2_joypad/poll_interval [rw]
|
||||
* for button-adc-fuzz
|
||||
/sys/devices/platform/odroidgo2_joypad/adc_fuzz [r]
|
||||
* for button-adc-flat
|
||||
/sys/devices/platform/odroidgo2_joypad/adc_flat [r]
|
||||
|
||||
* for report control(1:enable, 0:disable)
|
||||
/sys/devices/platform/odroidgo2_joypad/enable [rw]
|
||||
* for adc calibration value setup(1:current adcs value -> cal value)
|
||||
/sys/devices/platform/odroidgo2_joypad/adc_cal [rw]
|
||||
*/
|
||||
|
||||
/* gpio pincontrol setup */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&btn_pins>;
|
||||
|
||||
/* JOY_X, JOY_Y Channel define */
|
||||
io-channel-names = "joy_x", "joy_y";
|
||||
io-channels = <&saradc 1>, <&saradc 2>;
|
||||
|
||||
/* adc channel count */
|
||||
button-adc-count = <2>;
|
||||
|
||||
/* adc calculate scale */
|
||||
button-adc-scale = <2>;
|
||||
|
||||
/* adc deadzone range */
|
||||
button-adc-deadzone = <20>;
|
||||
|
||||
/*
|
||||
joy-stick voltage range
|
||||
/sys/devices/platform/ff288000.saradc/iio:device0
|
||||
adc-x : in_voltage1_raw
|
||||
adc-y : in_voltage2_raw
|
||||
|
||||
range calculate.
|
||||
(adc raw max value - adc raw min value) * scale * 1.7515
|
||||
*/
|
||||
button-adc-x-range = <1800>;
|
||||
button-adc-y-range = <1800>;
|
||||
|
||||
/*
|
||||
specifies fuzz value that is used to filter noise from
|
||||
the event stream.
|
||||
*/
|
||||
button-adc-fuzz = <32>;
|
||||
button-adc-flat = <32>;
|
||||
|
||||
/* poll device interval (ms), adc read interval */
|
||||
poll-interval = <10>;
|
||||
|
||||
/* gpio button auto repeat set value : default disable */
|
||||
/*
|
||||
autorepeat;
|
||||
*/
|
||||
|
||||
/*
|
||||
*** RGB10 Switch layoout ***
|
||||
|------------------------------------------------|
|
||||
| sw15 sw16 |
|
||||
| sw20 sw21 |
|
||||
|------------------------------------------------|
|
||||
| sw1 sw10 |-------------------| sw13 sw8 |
|
||||
| sw3 sw4 | | sw7 sw5 |
|
||||
| sw2 | LCD Display | sw6 |
|
||||
| | | |
|
||||
| |-------------------| |
|
||||
|------------------------------------------------|
|
||||
*/
|
||||
/*
|
||||
joypad driver is poll-device driver.
|
||||
poll-device is does not support wakeup-source.
|
||||
*/
|
||||
sw1 {
|
||||
gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-UP";
|
||||
linux,code = <BTN_DPAD_UP>; // 0x220
|
||||
};
|
||||
sw2 {
|
||||
gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-DOWN";
|
||||
linux,code = <BTN_DPAD_DOWN>; // 0x221
|
||||
};
|
||||
sw3 {
|
||||
gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-LEFT";
|
||||
linux,code = <BTN_DPAD_LEFT>; // 0x222
|
||||
};
|
||||
sw4 {
|
||||
gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-RIGHT";
|
||||
linux,code = <BTN_DPAD_RIGHT>; // 0x223
|
||||
};
|
||||
sw5 {
|
||||
gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO KEY BTN-A";
|
||||
linux,code = <BTN_EAST>; // 0x131
|
||||
};
|
||||
sw6 {
|
||||
gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-B";
|
||||
linux,code = <BTN_SOUTH>; // 0x130
|
||||
};
|
||||
sw7 {
|
||||
gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-Y";
|
||||
linux,code = <BTN_WEST>; // 0x134
|
||||
};
|
||||
sw8 {
|
||||
gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-X";
|
||||
linux,code = <BTN_NORTH>; // 0x133
|
||||
};
|
||||
sw9 {
|
||||
gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-SELECT";
|
||||
linux,code = <BTN_SELECT>; // 0x2c0
|
||||
};
|
||||
sw10 {
|
||||
gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-THUMBL";
|
||||
linux,code = <BTN_THUMBL>; // 0x2c1
|
||||
};
|
||||
sw13 {
|
||||
gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-THUMBR";
|
||||
linux,code = <BTN_THUMBR>; // 0x2c4
|
||||
};
|
||||
sw14 {
|
||||
gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-START";
|
||||
linux,code = <BTN_START>; // 0x13c
|
||||
};
|
||||
sw15 {
|
||||
gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-LEFT";
|
||||
linux,code = <BTN_TL>; // 0x02
|
||||
};
|
||||
sw16 {
|
||||
gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-RIGHT";
|
||||
linux,code = <BTN_TR>; // 0x05
|
||||
};
|
||||
sw20 {
|
||||
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-LEFT2";
|
||||
linux,code = <BTN_TL2>;
|
||||
};
|
||||
sw21 {
|
||||
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-RIGHT2";
|
||||
linux,code = <BTN_TR2>;
|
||||
};
|
||||
};
|
||||
|
||||
battery: battery {
|
||||
compatible = "simple-battery";
|
||||
charge-full-design-microamp-hours = <2800000>;
|
||||
charge-term-current-microamp = <280000>;
|
||||
constant-charge-current-max-microamp = <2000000>;
|
||||
constant-charge-voltage-max-microvolt = <4200000>;
|
||||
factory-internal-resistance-micro-ohms = <180000>;
|
||||
voltage-max-design-microvolt = <4100000>;
|
||||
voltage-min-design-microvolt = <3500000>;
|
||||
|
||||
ocv-capacity-celsius = <20>;
|
||||
ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
||||
<3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>,
|
||||
<3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>,
|
||||
<3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>,
|
||||
<3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
|
||||
<3574170 0>;
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&wifi_pwrseq_pins>;
|
||||
/*reset-gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;*/
|
||||
};
|
||||
};
|
||||
|
||||
&internal_display {
|
||||
compatible = "elida,kd35t133";
|
||||
iovcc-supply = <&vcc_lcd>;
|
||||
vdd-supply = <&vcc_lcd>;
|
||||
rotation = <270>;
|
||||
};
|
||||
|
||||
&rk817 {
|
||||
regulators {
|
||||
vcc_wifi: LDO_REG9 {
|
||||
regulator-name = "vcc_wifi";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&rk817_charger {
|
||||
monitored-battery = <&battery>;
|
||||
};
|
||||
|
||||
&sdio {
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
cap-sdio-irq;
|
||||
disable-wp;
|
||||
keep-power-in-suspend;
|
||||
non-removable;
|
||||
vmmc-supply = <&vcc_wifi>;
|
||||
status = "okay";
|
||||
|
||||
esp8089: wifi@1 {
|
||||
compatible = "esp,esp8089";
|
||||
reg = <1>;
|
||||
esp,crystal-26M-en = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
btns {
|
||||
btn_pins: btn-pins {
|
||||
rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
wifi {
|
||||
wifi_pwrseq_pins: wifi-pwrseq-pins {
|
||||
rockchip,pins = /*<3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,*/
|
||||
<3 RK_PB6 RK_FUNC_GPIO &pcfg_output_high>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,209 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2024 ROCKNIX
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3326-odroid-go.dtsi"
|
||||
#include "retrogame_joypad_s2_f1.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Powkiddy RGB10X";
|
||||
compatible = "powkiddy,rk3326-rgb10x", "rockchip,rk3326";
|
||||
|
||||
aliases {
|
||||
mmc1 = &sdio;
|
||||
};
|
||||
|
||||
battery: battery {
|
||||
compatible = "simple-battery";
|
||||
charge-full-design-microamp-hours = <2800000>;
|
||||
charge-term-current-microamp = <280000>;
|
||||
constant-charge-current-max-microamp = <2000000>;
|
||||
constant-charge-voltage-max-microvolt = <4200000>;
|
||||
factory-internal-resistance-micro-ohms = <180000>;
|
||||
voltage-max-design-microvolt = <4100000>;
|
||||
voltage-min-design-microvolt = <3500000>;
|
||||
|
||||
ocv-capacity-celsius = <20>;
|
||||
ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
||||
<3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>,
|
||||
<3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>,
|
||||
<3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>,
|
||||
<3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
|
||||
<3574170 0>;
|
||||
};
|
||||
|
||||
gpio-keys-vol {
|
||||
compatible = "gpio-keys";
|
||||
autorepeat;
|
||||
pinctrl-0 = <&btn_pins_vol>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
button-vol-down {
|
||||
gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
label = "VOLUMEDOWN";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
};
|
||||
|
||||
button-volume-up {
|
||||
gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||
label = "VOLUMEUP";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&joypad {
|
||||
compatible = "rocknix-singleadc-joypad";
|
||||
joypad-name = "retrogame_joypad_s1_f2"; /* distinct name to indicate there is 1 stick and 2 fn buttons */
|
||||
joypad-product = <0x1112>; /* 11 inherited, 1 for number of sticks, 2 for number of FN */
|
||||
status = "okay";
|
||||
|
||||
/* gpio pincontrol setup */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&btn_pins>;
|
||||
|
||||
/* Analog mux define */
|
||||
io-channel-names = "amux_adc";
|
||||
io-channels = <&saradc 1>;
|
||||
|
||||
/* adc mux channel count */
|
||||
/* despite there is only left stick, amux-count needs to be 4, */
|
||||
/* because amux 0 and 1 are hardcoded as RX and RY in the driver */
|
||||
amux-count = <4>;
|
||||
/* adc mux select(a,b) gpio */
|
||||
amux-a-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
|
||||
amux-b-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
|
||||
/* adc mux enable gpio */
|
||||
amux-en-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
|
||||
|
||||
/*
|
||||
Analog Stick data tuning value(precent)
|
||||
p = positive direction, n = negative direction
|
||||
report value = (real_adc_data * tuning_value) / 100
|
||||
*/
|
||||
abs_x-p-tuning = <200>;
|
||||
abs_x-n-tuning = <200>;
|
||||
|
||||
abs_y-p-tuning = <200>;
|
||||
abs_y-n-tuning = <200>;
|
||||
|
||||
abs_rx-p-tuning = <200>;
|
||||
abs_rx-n-tuning = <200>;
|
||||
|
||||
abs_ry-p-tuning = <200>;
|
||||
abs_ry-n-tuning = <200>;
|
||||
|
||||
/* required for RGB10X */
|
||||
invert-absx;
|
||||
invert-absy;
|
||||
|
||||
/*
|
||||
joypad driver is poll-device driver.
|
||||
poll-device is does not support wakeup-source.
|
||||
*/
|
||||
up { gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>; };
|
||||
down { gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>; };
|
||||
left { gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>; };
|
||||
right { gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>; };
|
||||
|
||||
a { gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>; };
|
||||
b { gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>; };
|
||||
x { gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>; };
|
||||
y { gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>; };
|
||||
|
||||
tl { gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>; };
|
||||
tr { gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>; };
|
||||
tr2 { gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; };
|
||||
tl2 { gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; };
|
||||
|
||||
select{ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; };
|
||||
start { gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; };
|
||||
|
||||
thumbl{ gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>; };
|
||||
|
||||
/* Plus and Minus face buttons are mapped to mode and thumbr */
|
||||
mode {
|
||||
gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO MINUS";
|
||||
};
|
||||
thumbr {
|
||||
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO PLUS";
|
||||
};
|
||||
};
|
||||
|
||||
&internal_display {
|
||||
compatible = "powkiddy,rk2023-panel", "newvision,nv3051d";
|
||||
vdd-supply = <&vcc_lcd>;
|
||||
};
|
||||
|
||||
&io_domains {
|
||||
vccio1-supply = <&vccio_sd>;
|
||||
};
|
||||
|
||||
/delete-node/ &pwm3;
|
||||
/delete-node/ &pwm_led;
|
||||
|
||||
&red_led {
|
||||
gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&red_led_pin {
|
||||
rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
&rk817_charger {
|
||||
monitored-battery = <&battery>;
|
||||
};
|
||||
|
||||
&sdio {
|
||||
cap-sd-highspeed;
|
||||
card-detect-delay = <200>;
|
||||
cd-gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>;
|
||||
sd-uhs-sdr12;
|
||||
sd-uhs-sdr25;
|
||||
sd-uhs-sdr50;
|
||||
sd-uhs-sdr104;
|
||||
vmmc-supply = <&vcc_sd>;
|
||||
vqmmc-supply = <&vccio_sd>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vcc_sd {
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
&vccio_sd {
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
btns {
|
||||
btn_pins: btn-pins {
|
||||
rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
btn_pins_vol: btn-pins-vol {
|
||||
rockchip,pins = <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,340 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2019 Hardkernel Co., Ltd
|
||||
* Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
|
||||
* Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3326-odroid-go.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Powkiddy RGB20S";
|
||||
compatible = "powkiddy,rgb20s", "rockchip,rk3326";
|
||||
|
||||
aliases {
|
||||
mmc0 = &sdio;
|
||||
mmc1 = &sdmmc;
|
||||
};
|
||||
|
||||
gpio-keys-vol {
|
||||
compatible = "gpio-keys";
|
||||
autorepeat;
|
||||
pinctrl-0 = <&btn_pins_vol>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
button-vol-down {
|
||||
gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
label = "VOLUMEDOWN";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
};
|
||||
|
||||
button-volume-up {
|
||||
gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||
label = "VOLUMEUP";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
};
|
||||
};
|
||||
|
||||
joypad: rgb20s-joypad {
|
||||
compatible = "rgb20s-joypad";
|
||||
|
||||
pwms = <&pwm0 0 200000000 0>;
|
||||
pwm-names = "enable";
|
||||
rumble-boost-weak = <0x0000>;
|
||||
rumble-boost-strong = <0x0000>;
|
||||
|
||||
joypad-name = "RGB20S Gamepad";
|
||||
joypad-product = <0x1177>;
|
||||
joypad-revision = <0x0177>;
|
||||
|
||||
status = "okay";
|
||||
/*
|
||||
- odroidgo3-joypad sysfs list -
|
||||
* for poll device interval(ms)
|
||||
/sys/devices/platform/odroidgo3_joypad/poll_interval [rw]
|
||||
ex) echo 20 > poll_interval
|
||||
* for button-adc-fuzz
|
||||
/sys/devices/platform/odroidgo3_joypad/adc_fuzz [r]
|
||||
* for button-adc-flat
|
||||
/sys/devices/platform/odroidgo3_joypad/adc_flat [r]
|
||||
|
||||
* for report control(1:enable, 0:disable)
|
||||
/sys/devices/platform/odroidgo3_joypad/enable [rw]
|
||||
* for adc calibration value setup(current adcs value -> cal value)
|
||||
/sys/devices/platform/odroidgo3_joypad/adc_cal [rw]
|
||||
ex) echo 0 > adc_cal
|
||||
|
||||
* for rumble period(ns)
|
||||
/sys/devices/platform/odroidgo3_joypad/rumble_period
|
||||
ex) echo 20000000 > rumble_duty_cycle
|
||||
ex) cat rumble_duty_cycle -->get current duty cycle
|
||||
|
||||
* for rumble boost(0~65535)
|
||||
/sys/devices/platform/odroidgo3_joypad/rumble_boost_weak
|
||||
/sys/devices/platform/odroidgo3_joypad/rumble_boost_strong
|
||||
|
||||
* for amux data debug
|
||||
* Joypad driver is disabled when using this sysfs.
|
||||
/sys/devices/platform/odroidgo3_joypad/amux_debug [rw]
|
||||
ex) echo 0 > amux_debug --> select amux channel
|
||||
ex) cat amux_debug --> get adc data of seleted channel
|
||||
*/
|
||||
|
||||
/* gpio pincontrol setup */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&btn_pins>;
|
||||
pinctrl-1 = <&pwm0_pin>;
|
||||
|
||||
/* Analog mux define */
|
||||
io-channel-names = "amux_adc";
|
||||
io-channels = <&saradc 1>;
|
||||
|
||||
/* adc mux channel count */
|
||||
amux-count = <4>;
|
||||
/* adc mux select(a,b) gpio */
|
||||
amux-a-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
|
||||
amux-b-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
|
||||
/* adc mux enable gpio */
|
||||
amux-en-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
|
||||
|
||||
/* adc calculate scale */
|
||||
button-adc-scale = <2>;
|
||||
|
||||
/* adc deadzone range */
|
||||
button-adc-deadzone = <64>;
|
||||
|
||||
/*
|
||||
specifies fuzz value that is used to filter noise from
|
||||
the event stream.
|
||||
*/
|
||||
button-adc-fuzz = <32>;
|
||||
button-adc-flat = <32>;
|
||||
|
||||
/*
|
||||
Analog Stick data tuning value(precent)
|
||||
p = positive direction, n = negative direction
|
||||
report value = (real_adc_data * tuning_value) / 100
|
||||
*/
|
||||
abs_x-p-tuning = <200>;
|
||||
abs_x-n-tuning = <200>;
|
||||
|
||||
abs_y-p-tuning = <200>;
|
||||
abs_y-n-tuning = <200>;
|
||||
|
||||
abs_rx-p-tuning = <200>;
|
||||
abs_rx-n-tuning = <200>;
|
||||
|
||||
abs_ry-p-tuning = <200>;
|
||||
abs_ry-n-tuning = <200>;
|
||||
|
||||
/* poll device interval (ms), adc read interval */
|
||||
poll-interval = <10>;
|
||||
|
||||
/* required for RG351MP */
|
||||
invert-absx;
|
||||
invert-absy;
|
||||
|
||||
/* gpio button auto repeat set value : default disable */
|
||||
/*
|
||||
autorepeat;
|
||||
*/
|
||||
|
||||
/*
|
||||
joypad driver is poll-device driver.
|
||||
poll-device is does not support wakeup-source.
|
||||
*/
|
||||
sw1 {
|
||||
gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-UP";
|
||||
linux,code = <BTN_DPAD_UP>; // 0x220
|
||||
};
|
||||
sw2 {
|
||||
gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-DOWN";
|
||||
linux,code = <BTN_DPAD_DOWN>; // 0x221
|
||||
};
|
||||
sw3 {
|
||||
gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-LEFT";
|
||||
linux,code = <BTN_DPAD_LEFT>; // 0x222
|
||||
};
|
||||
sw4 {
|
||||
gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO DPAD-RIGHT";
|
||||
linux,code = <BTN_DPAD_RIGHT>; // 0x223
|
||||
};
|
||||
sw5 {
|
||||
gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO KEY BTN-A";
|
||||
linux,code = <BTN_EAST>; // 0x131
|
||||
};
|
||||
sw6 {
|
||||
gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-B";
|
||||
linux,code = <BTN_SOUTH>; // 0x130
|
||||
};
|
||||
sw7 {
|
||||
gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-Y";
|
||||
linux,code = <BTN_WEST>; // 0x134
|
||||
};
|
||||
sw8 {
|
||||
gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO BTN-X";
|
||||
linux,code = <BTN_NORTH>; // 0x133
|
||||
};
|
||||
sw11 {
|
||||
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F3";
|
||||
linux,code = <BTN_TRIGGER_HAPPY3>; // 0x2c2
|
||||
};
|
||||
sw12 {
|
||||
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F4";
|
||||
linux,code = <BTN_TRIGGER_HAPPY4>; // 0x2c3
|
||||
};
|
||||
/*sw13 {
|
||||
gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F5";
|
||||
linux,code = <BTN_TRIGGER_HAPPY5>; // 0x2c4
|
||||
};
|
||||
sw14 {
|
||||
gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F6";
|
||||
linux,code = <BTN_TRIGGER_HAPPY6>; // 0x13c
|
||||
};*/
|
||||
sw15 {
|
||||
gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-LEFT";
|
||||
linux,code = <BTN_TL>; // 0x02
|
||||
};
|
||||
sw16 {
|
||||
gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-RIGHT";
|
||||
linux,code = <BTN_TR>; // 0x05
|
||||
};
|
||||
sw19 {
|
||||
gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F1";
|
||||
linux,code = <BTN_TRIGGER_HAPPY1>;
|
||||
};
|
||||
sw20 {
|
||||
gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-RIGHT2";
|
||||
linux,code = <BTN_TR2>;
|
||||
};
|
||||
sw21 {
|
||||
gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO TOP-LEFT2";
|
||||
linux,code = <BTN_TL2>;
|
||||
};
|
||||
sw22 {
|
||||
gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO F2";
|
||||
linux,code = <BTN_TRIGGER_HAPPY2>;
|
||||
};
|
||||
};
|
||||
|
||||
battery: battery {
|
||||
compatible = "simple-battery";
|
||||
charge-full-design-microamp-hours = <3500000>;
|
||||
charge-term-current-microamp = <350000>;
|
||||
constant-charge-current-max-microamp = <2000000>;
|
||||
constant-charge-voltage-max-microvolt = <4200000>;
|
||||
factory-internal-resistance-micro-ohms = <180000>;
|
||||
voltage-max-design-microvolt = <4100000>;
|
||||
voltage-min-design-microvolt = <3500000>;
|
||||
|
||||
ocv-capacity-celsius = <20>;
|
||||
ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
||||
<3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>,
|
||||
<3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>,
|
||||
<3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>,
|
||||
<3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
|
||||
<3574170 0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* conflicts with pwm vibration motor */
|
||||
/delete-node/ &vcc_host;
|
||||
|
||||
/* Device only has 1 LED compared to Odroid Go Advance */
|
||||
/delete-node/ &gpio_led;
|
||||
|
||||
&internal_display {
|
||||
// compatible = "anbernic,rg351v-panel", "newvision,nv3051d";
|
||||
compatible = "powkiddy,rk2023-panel", "newvision,nv3051d";
|
||||
iovcc-supply = <&vcc_lcd>;
|
||||
vdd-supply = <&vcc_lcd>;
|
||||
};
|
||||
|
||||
&io_domains {
|
||||
vccio1-supply = <&vccio_sd>;
|
||||
};
|
||||
|
||||
/delete-node/ &pwm_led;
|
||||
|
||||
&pwm0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/delete-node/ &pwm3;
|
||||
|
||||
&rk817_charger {
|
||||
/* This device does not have a current sense resistor */
|
||||
rockchip,resistor-sense-micro-ohms = <0>;
|
||||
monitored-battery = <&battery>;
|
||||
};
|
||||
|
||||
&sdio {
|
||||
cap-sd-highspeed;
|
||||
card-detect-delay = <200>;
|
||||
cd-gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; /*[> CD GPIO <]*/
|
||||
sd-uhs-sdr12;
|
||||
sd-uhs-sdr25;
|
||||
sd-uhs-sdr50;
|
||||
sd-uhs-sdr104;
|
||||
vmmc-supply = <&vcc_sd>;
|
||||
vqmmc-supply = <&vccio_sd>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vcc_sd {
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
&vccio_sd {
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
btns {
|
||||
btn_pins_vol: btn-pins-vol {
|
||||
rockchip,pins = <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
|
||||
btn_pins: btn-pins {
|
||||
rockchip,pins = <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
||||
<3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -5079,7 +5079,6 @@ CONFIG_DEVFREQ_GOV_PASSIVE=y
|
||||
# DEVFREQ Drivers
|
||||
#
|
||||
CONFIG_ARM_RK3399_DMC_DEVFREQ=y
|
||||
# CONFIG_ARM_ROCKCHIP_BUS_DEVFREQ is not set
|
||||
CONFIG_PM_DEVFREQ_EVENT=y
|
||||
CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=y
|
||||
CONFIG_EXTCON=y
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user