mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
579 lines
12 KiB
579 lines
12 KiB
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
|
/* |
|
* Copyright (c) 2019 Hardkernel Co., Ltd |
|
* Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH |
|
*/ |
|
|
|
/dts-v1/; |
|
#include <dt-bindings/gpio/gpio.h> |
|
#include <dt-bindings/input/input.h> |
|
#include <dt-bindings/pinctrl/rockchip.h> |
|
#include "rk3326.dtsi" |
|
|
|
/ { |
|
model = "ODROID-GO Advance"; |
|
compatible = "hardkernel,rk3326-odroid-go2", "rockchip,rk3326"; |
|
|
|
chosen { |
|
stdout-path = "serial2:115200n8"; |
|
}; |
|
|
|
adc-joystick { |
|
compatible = "adc-joystick"; |
|
io-channels = <&saradc 1>, |
|
<&saradc 2>; |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
|
|
axis@0 { |
|
reg = <0>; |
|
abs-flat = <10>; |
|
abs-fuzz = <10>; |
|
abs-range = <172 772>; |
|
linux,code = <ABS_X>; |
|
}; |
|
|
|
axis@1 { |
|
reg = <1>; |
|
abs-flat = <10>; |
|
abs-fuzz = <10>; |
|
abs-range = <278 815>; |
|
linux,code = <ABS_Y>; |
|
}; |
|
}; |
|
|
|
backlight: backlight { |
|
compatible = "pwm-backlight"; |
|
power-supply = <&vcc_bl>; |
|
pwms = <&pwm1 0 25000 0>; |
|
}; |
|
|
|
gpio-keys { |
|
compatible = "gpio-keys"; |
|
pinctrl-names = "default"; |
|
pinctrl-0 = <&btn_pins>; |
|
|
|
/* |
|
* *** ODROIDGO2-Advance Switch layout *** |
|
* |------------------------------------------------| |
|
* | sw15 sw16 | |
|
* |------------------------------------------------| |
|
* | sw1 |-------------------| sw8 | |
|
* | sw3 sw4 | | sw7 sw5 | |
|
* | sw2 | LCD Display | sw6 | |
|
* | | | | |
|
* | |-------------------| | |
|
* | sw9 sw10 sw11 sw12 sw13 sw14 | |
|
* |------------------------------------------------| |
|
*/ |
|
|
|
sw1 { |
|
gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>; |
|
label = "DPAD-UP"; |
|
linux,code = <BTN_DPAD_UP>; |
|
}; |
|
sw2 { |
|
gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>; |
|
label = "DPAD-DOWN"; |
|
linux,code = <BTN_DPAD_DOWN>; |
|
}; |
|
sw3 { |
|
gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>; |
|
label = "DPAD-LEFT"; |
|
linux,code = <BTN_DPAD_LEFT>; |
|
}; |
|
sw4 { |
|
gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>; |
|
label = "DPAD-RIGHT"; |
|
linux,code = <BTN_DPAD_RIGHT>; |
|
}; |
|
sw5 { |
|
gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>; |
|
label = "BTN-A"; |
|
linux,code = <BTN_EAST>; |
|
}; |
|
sw6 { |
|
gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>; |
|
label = "BTN-B"; |
|
linux,code = <BTN_SOUTH>; |
|
}; |
|
sw7 { |
|
gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>; |
|
label = "BTN-Y"; |
|
linux,code = <BTN_WEST>; |
|
}; |
|
sw8 { |
|
gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>; |
|
label = "BTN-X"; |
|
linux,code = <BTN_NORTH>; |
|
}; |
|
sw9 { |
|
gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>; |
|
label = "F1"; |
|
linux,code = <BTN_TRIGGER_HAPPY1>; |
|
}; |
|
sw10 { |
|
gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>; |
|
label = "F2"; |
|
linux,code = <BTN_TRIGGER_HAPPY2>; |
|
}; |
|
sw11 { |
|
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>; |
|
label = "F3"; |
|
linux,code = <BTN_TRIGGER_HAPPY3>; |
|
}; |
|
sw12 { |
|
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>; |
|
label = "F4"; |
|
linux,code = <BTN_TRIGGER_HAPPY4>; |
|
}; |
|
sw13 { |
|
gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>; |
|
label = "F5"; |
|
linux,code = <BTN_TRIGGER_HAPPY5>; |
|
}; |
|
sw14 { |
|
gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>; |
|
label = "F6"; |
|
linux,code = <BTN_TRIGGER_HAPPY6>; |
|
}; |
|
sw15 { |
|
gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>; |
|
label = "TOP-LEFT"; |
|
linux,code = <BTN_TL>; |
|
}; |
|
sw16 { |
|
gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>; |
|
label = "TOP-RIGHT"; |
|
linux,code = <BTN_TR>; |
|
}; |
|
}; |
|
|
|
leds: gpio-leds { |
|
compatible = "gpio-leds"; |
|
pinctrl-names = "default"; |
|
pinctrl-0 = <&blue_led_pin>; |
|
|
|
blue_led: led-0 { |
|
label = "blue:heartbeat"; |
|
gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>; |
|
linux,default-trigger = "heartbeat"; |
|
}; |
|
}; |
|
|
|
vccsys: vccsys { |
|
compatible = "regulator-fixed"; |
|
regulator-name = "vcc3v8_sys"; |
|
regulator-always-on; |
|
regulator-min-microvolt = <3800000>; |
|
regulator-max-microvolt = <3800000>; |
|
}; |
|
|
|
vcc_host: vcc_host { |
|
compatible = "regulator-fixed"; |
|
regulator-name = "vcc_host"; |
|
regulator-min-microvolt = <5000000>; |
|
regulator-max-microvolt = <5000000>; |
|
|
|
gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; |
|
enable-active-high; |
|
regulator-always-on; |
|
vin-supply = <&vccsys>; |
|
}; |
|
}; |
|
|
|
&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>, |
|
<&cru PLL_CPLL>; |
|
|
|
assigned-clock-rates = <1188000000>, |
|
<200000000>, <200000000>, |
|
<150000000>, <150000000>, |
|
<100000000>, <200000000>, |
|
<17000000>; |
|
}; |
|
|
|
&display_subsystem { |
|
status = "okay"; |
|
}; |
|
|
|
&dsi { |
|
status = "okay"; |
|
|
|
ports { |
|
mipi_out: port@1 { |
|
reg = <1>; |
|
|
|
mipi_out_panel: endpoint { |
|
remote-endpoint = <&mipi_in_panel>; |
|
}; |
|
}; |
|
}; |
|
|
|
panel@0 { |
|
compatible = "elida,kd35t133"; |
|
reg = <0>; |
|
backlight = <&backlight>; |
|
iovcc-supply = <&vcc_lcd>; |
|
reset-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; |
|
vdd-supply = <&vcc_lcd>; |
|
|
|
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>; |
|
interrupt-parent = <&gpio0>; |
|
interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>; |
|
pinctrl-names = "default"; |
|
pinctrl-0 = <&pmic_int>; |
|
wakeup-source; |
|
#clock-cells = <1>; |
|
clock-output-names = "rk808-clkout1", "xin32k"; |
|
|
|
vcc1-supply = <&vccsys>; |
|
vcc2-supply = <&vccsys>; |
|
vcc3-supply = <&vccsys>; |
|
vcc4-supply = <&vccsys>; |
|
vcc5-supply = <&vccsys>; |
|
vcc6-supply = <&vccsys>; |
|
vcc7-supply = <&vccsys>; |
|
|
|
regulators { |
|
vdd_logic: DCDC_REG1 { |
|
regulator-name = "vdd_logic"; |
|
regulator-min-microvolt = <950000>; |
|
regulator-max-microvolt = <1150000>; |
|
regulator-ramp-delay = <6001>; |
|
regulator-always-on; |
|
regulator-boot-on; |
|
|
|
regulator-state-mem { |
|
regulator-on-in-suspend; |
|
regulator-suspend-microvolt = <950000>; |
|
}; |
|
}; |
|
|
|
vdd_arm: DCDC_REG2 { |
|
regulator-name = "vdd_arm"; |
|
regulator-min-microvolt = <950000>; |
|
regulator-max-microvolt = <1350000>; |
|
regulator-ramp-delay = <6001>; |
|
regulator-always-on; |
|
regulator-boot-on; |
|
|
|
regulator-state-mem { |
|
regulator-off-in-suspend; |
|
regulator-suspend-microvolt = <950000>; |
|
}; |
|
}; |
|
|
|
vcc_ddr: DCDC_REG3 { |
|
regulator-name = "vcc_ddr"; |
|
regulator-always-on; |
|
regulator-boot-on; |
|
|
|
regulator-state-mem { |
|
regulator-on-in-suspend; |
|
}; |
|
}; |
|
|
|
vcc_3v3: DCDC_REG4 { |
|
regulator-name = "vcc_3v3"; |
|
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>; |
|
}; |
|
}; |
|
|
|
vcc_1v8: LDO_REG2 { |
|
regulator-name = "vcc_1v8"; |
|
regulator-min-microvolt = <1800000>; |
|
regulator-max-microvolt = <1800000>; |
|
regulator-always-on; |
|
regulator-boot-on; |
|
|
|
regulator-state-mem { |
|
regulator-on-in-suspend; |
|
regulator-suspend-microvolt = <1800000>; |
|
}; |
|
}; |
|
|
|
vdd_1v0: LDO_REG3 { |
|
regulator-name = "vdd_1v0"; |
|
regulator-min-microvolt = <1000000>; |
|
regulator-max-microvolt = <1000000>; |
|
regulator-always-on; |
|
regulator-boot-on; |
|
|
|
regulator-state-mem { |
|
regulator-on-in-suspend; |
|
regulator-suspend-microvolt = <1000000>; |
|
}; |
|
}; |
|
|
|
vcc3v3_pmu: LDO_REG4 { |
|
regulator-name = "vcc3v3_pmu"; |
|
regulator-min-microvolt = <3300000>; |
|
regulator-max-microvolt = <3300000>; |
|
regulator-always-on; |
|
regulator-boot-on; |
|
|
|
regulator-state-mem { |
|
regulator-on-in-suspend; |
|
regulator-suspend-microvolt = <3300000>; |
|
}; |
|
}; |
|
|
|
vccio_sd: LDO_REG5 { |
|
regulator-name = "vccio_sd"; |
|
regulator-min-microvolt = <1800000>; |
|
regulator-max-microvolt = <3300000>; |
|
regulator-always-on; |
|
regulator-boot-on; |
|
|
|
regulator-state-mem { |
|
regulator-on-in-suspend; |
|
regulator-suspend-microvolt = <3300000>; |
|
}; |
|
}; |
|
|
|
vcc_sd: LDO_REG6 { |
|
regulator-name = "vcc_sd"; |
|
regulator-min-microvolt = <3300000>; |
|
regulator-max-microvolt = <3300000>; |
|
regulator-boot-on; |
|
|
|
regulator-state-mem { |
|
regulator-on-in-suspend; |
|
regulator-suspend-microvolt = <3300000>; |
|
}; |
|
}; |
|
|
|
vcc_bl: LDO_REG7 { |
|
regulator-name = "vcc_bl"; |
|
regulator-min-microvolt = <3300000>; |
|
regulator-max-microvolt = <3300000>; |
|
|
|
regulator-state-mem { |
|
regulator-off-in-suspend; |
|
regulator-suspend-microvolt = <3300000>; |
|
}; |
|
}; |
|
|
|
vcc_lcd: LDO_REG8 { |
|
regulator-name = "vcc_lcd"; |
|
regulator-min-microvolt = <2800000>; |
|
regulator-max-microvolt = <2800000>; |
|
|
|
regulator-state-mem { |
|
regulator-off-in-suspend; |
|
regulator-suspend-microvolt = <2800000>; |
|
}; |
|
}; |
|
|
|
vcc_cam: LDO_REG9 { |
|
regulator-name = "vcc_cam"; |
|
regulator-min-microvolt = <3000000>; |
|
regulator-max-microvolt = <3000000>; |
|
|
|
regulator-state-mem { |
|
regulator-off-in-suspend; |
|
regulator-suspend-microvolt = <3000000>; |
|
}; |
|
}; |
|
}; |
|
}; |
|
}; |
|
|
|
/* EXT Header(P2): 7(SCL:GPIO0.C2), 8(SDA:GPIO0.C3) */ |
|
&i2c1 { |
|
clock-frequency = <400000>; |
|
status = "okay"; |
|
}; |
|
|
|
/* I2S 1 Channel Used */ |
|
&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"; |
|
}; |
|
|
|
&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>; /*[> CD GPIO <]*/ |
|
sd-uhs-sdr12; |
|
sd-uhs-sdr25; |
|
sd-uhs-sdr50; |
|
sd-uhs-sdr104; |
|
vmmc-supply = <&vcc_sd>; |
|
vqmmc-supply = <&vccio_sd>; |
|
status = "okay"; |
|
}; |
|
|
|
&tsadc { |
|
status = "okay"; |
|
}; |
|
|
|
&u2phy { |
|
status = "okay"; |
|
|
|
u2phy_host: host-port { |
|
status = "okay"; |
|
}; |
|
|
|
u2phy_otg: otg-port { |
|
status = "disabled"; |
|
}; |
|
}; |
|
|
|
&usb20_otg { |
|
status = "okay"; |
|
}; |
|
|
|
/* EXT Header(P2): 2(RXD:GPIO1.C0),3(TXD:.C1),4(CTS:.C2),5(RTS:.C3) */ |
|
&uart1 { |
|
pinctrl-names = "default"; |
|
pinctrl-0 = <&uart1_xfer &uart1_cts>; |
|
status = "okay"; |
|
}; |
|
|
|
&uart2 { |
|
pinctrl-names = "default"; |
|
pinctrl-0 = <&uart2m1_xfer>; |
|
status = "okay"; |
|
}; |
|
|
|
&vopb { |
|
status = "okay"; |
|
}; |
|
|
|
&vopb_mmu { |
|
status = "okay"; |
|
}; |
|
|
|
&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_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>; |
|
}; |
|
}; |
|
|
|
headphone { |
|
hp_det: hp-det { |
|
rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_down>; |
|
}; |
|
}; |
|
|
|
leds { |
|
blue_led_pin: blue-led-pin { |
|
rockchip,pins = <0 RK_PC1 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>; |
|
}; |
|
}; |
|
};
|
|
|