mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-30 21:52:21 +00:00

The #address-cells and #size-cells properties are not useful on the DSI controller node; they are only useful/required on ports and panel(s). So remove them from the controller node and add them where actually needed on the various px30 based boards, which includes rk3326. This fixes the following DTB validation warnings: unnecessary #address-cells/#size-cells without "ranges", "dma-ranges" or child "reg" property Signed-off-by: Diederik de Haas <didi.debian@cknow.org> Link: https://lore.kernel.org/r/20250709132323.128757-2-didi.debian@cknow.org Signed-off-by: Heiko Stuebner <heiko@sntech.de>
618 lines
13 KiB
Plaintext
618 lines
13 KiB
Plaintext
// 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>;
|
|
};
|
|
|
|
builtin_gamepad: gpio-keys {
|
|
compatible = "gpio-keys";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&btn_pins>;
|
|
|
|
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>;
|
|
};
|
|
btn_f1: button-sw9 {
|
|
gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
|
|
label = "F1";
|
|
linux,code = <BTN_TRIGGER_HAPPY1>;
|
|
};
|
|
btn_f2: button-sw10 {
|
|
gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
|
|
label = "F2";
|
|
linux,code = <BTN_TRIGGER_HAPPY2>;
|
|
};
|
|
btn_f3: button-sw11 {
|
|
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
|
|
label = "F3";
|
|
linux,code = <BTN_TRIGGER_HAPPY3>;
|
|
};
|
|
btn_f4: button-sw12 {
|
|
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
|
|
label = "F4";
|
|
linux,code = <BTN_TRIGGER_HAPPY4>;
|
|
};
|
|
btn_f5: button-sw13 {
|
|
gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
|
|
label = "F5";
|
|
linux,code = <BTN_TRIGGER_HAPPY5>;
|
|
};
|
|
btn_f6: button-sw14 {
|
|
gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
|
|
label = "F6";
|
|
linux,code = <BTN_TRIGGER_HAPPY6>;
|
|
};
|
|
button-sw15 {
|
|
gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
label = "TOP-LEFT";
|
|
linux,code = <BTN_TL>;
|
|
};
|
|
button-sw16 {
|
|
gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
|
|
label = "TOP-RIGHT";
|
|
linux,code = <BTN_TR>;
|
|
};
|
|
};
|
|
|
|
/* led-1 is wired directly to output of always-on regulator */
|
|
|
|
gpio_led: gpio-leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&red_led_pin>;
|
|
|
|
red_led: led-3 {
|
|
color = <LED_COLOR_ID_RED>;
|
|
gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
|
|
function = LED_FUNCTION_CHARGING;
|
|
};
|
|
};
|
|
|
|
pwm_led: led-controller {
|
|
compatible = "pwm-leds";
|
|
|
|
blue_led: led-2 {
|
|
color = <LED_COLOR_ID_BLUE>;
|
|
function = LED_FUNCTION_STATUS;
|
|
linux,default-trigger = "heartbeat";
|
|
max-brightness = <255>;
|
|
pwms = <&pwm3 0 25000 0>;
|
|
};
|
|
};
|
|
|
|
rk817-sound {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,name = "rk817_int";
|
|
simple-audio-card,format = "i2s";
|
|
simple-audio-card,hp-det-gpios = <&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>;
|
|
};
|
|
|
|
vcc_host: regulator-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;
|
|
regulator-boot-on;
|
|
vin-supply = <&usb_midu>;
|
|
};
|
|
};
|
|
|
|
&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>;
|
|
rotation = <270>;
|
|
|
|
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>;
|
|
clock-output-names = "rk808-clkout1", "xin32k";
|
|
clock-names = "mclk";
|
|
clocks = <&cru SCLK_I2S1_OUT>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
|
|
wakeup-source;
|
|
#clock-cells = <1>;
|
|
#sound-dai-cells = <0>;
|
|
|
|
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-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>;
|
|
};
|
|
};
|
|
|
|
LDO_REG9 {
|
|
/* unused */
|
|
};
|
|
|
|
usb_midu: BOOST {
|
|
regulator-name = "usb_midu";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5400000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
};
|
|
|
|
rk817_charger: charger {
|
|
rockchip,resistor-sense-micro-ohms = <10000>;
|
|
rockchip,sleep-enter-current-microamp = <300000>;
|
|
rockchip,sleep-filter-current-microamp = <100000>;
|
|
};
|
|
|
|
rk817_codec: codec {
|
|
rockchip,mic-in-differential;
|
|
};
|
|
};
|
|
};
|
|
|
|
/* 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";
|
|
};
|
|
|
|
&pwm3 {
|
|
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";
|
|
};
|
|
|
|
&sfc {
|
|
pinctrl-0 = <&sfc_clk &sfc_cs0 &sfc_bus2>;
|
|
pinctrl-names = "default";
|
|
#address-cells = <1>;
|
|
#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";
|
|
};
|
|
|
|
/* 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 {
|
|
red_led_pin: red-led-pin {
|
|
rockchip,pins = <0 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>;
|
|
};
|
|
};
|
|
};
|