637 lines
12 KiB
Plaintext
637 lines
12 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Copyright (c) 2023 Rockchip Electronics Co., Ltd.
|
|
*
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/rk-input.h>
|
|
#include "rk3568.dtsi"
|
|
|
|
/ {
|
|
model = "Rockchip RK3568 PCIe EP LP4X V10 Board";
|
|
compatible = "rockchip,rk3568-pcie-ep-lp4x-v10", "rockchip,rk3568";
|
|
|
|
adc_keys: adc-keys {
|
|
compatible = "adc-keys";
|
|
io-channels = <&saradc 0>;
|
|
io-channel-names = "buttons";
|
|
keyup-threshold-microvolt = <1800000>;
|
|
poll-interval = <100>;
|
|
|
|
vol-up-key {
|
|
label = "volume up";
|
|
linux,code = <KEY_VOLUMEUP>;
|
|
press-threshold-microvolt = <1750>;
|
|
};
|
|
};
|
|
|
|
chosen: chosen {
|
|
bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rw rootwait default_hugepagesz=32M hugepagesz=32M hugepages=1";
|
|
};
|
|
|
|
dc_12v: dc-12v {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "dc_12v";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <12000000>;
|
|
regulator-max-microvolt = <12000000>;
|
|
};
|
|
|
|
fiq-debugger {
|
|
compatible = "rockchip,fiq-debugger";
|
|
rockchip,serial-id = <2>;
|
|
rockchip,wake-irq = <0>;
|
|
/* If enable uart uses irq instead of fiq */
|
|
rockchip,irq-mode-enable = <1>;
|
|
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
|
|
interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart2m0_xfer>;
|
|
status = "okay";
|
|
};
|
|
|
|
hdmi_sound: hdmi-sound {
|
|
status = "disabled";
|
|
compatible = "rockchip,hdmi";
|
|
rockchip,mclk-fs = <128>;
|
|
rockchip,card-name = "rockchip-hdmi";
|
|
rockchip,cpu = <&i2s0_8ch>;
|
|
rockchip,codec = <&hdmi>;
|
|
rockchip,jack-det;
|
|
};
|
|
|
|
leds: leds {
|
|
compatible = "gpio-leds";
|
|
|
|
work_led: work {
|
|
gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "heartbeat";
|
|
};
|
|
};
|
|
|
|
reserved-memory {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
bar0_region: bar0-region@0x3c000000 {
|
|
reg = <0x0 0x3c000000 0x0 0x00400000>;
|
|
};
|
|
bar2_region: bar2-region@0x40000000 {
|
|
reg = <0x0 0x40000000 0x0 0x04000000>;
|
|
};
|
|
};
|
|
|
|
test-power {
|
|
status = "okay";
|
|
};
|
|
|
|
vcc3v3_pcie: vcc3v3-pcie {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc3v3_pcie";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
enable-active-high;
|
|
gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
|
|
startup-delay-us = <5000>;
|
|
vin-supply = <&dc_12v>;
|
|
};
|
|
|
|
vcc5v0_sys: vcc5v0-sys {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc5v0_sys";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
vin-supply = <&dc_12v>;
|
|
};
|
|
|
|
vcc5v0_host: vcc5v0-host-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc5v0_host";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
enable-active-high;
|
|
gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
|
|
vin-supply = <&vcc5v0_sys>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&vcc5v0_host_en>;
|
|
};
|
|
|
|
vcc5v0_otg: vcc5v0-otg-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc5v0_otg";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
enable-active-high;
|
|
gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
|
|
vin-supply = <&vcc5v0_sys>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&vcc5v0_otg_en>;
|
|
};
|
|
|
|
vcc3v3_sys: vcc3v3-sys {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc3v3_sys";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
vin-supply = <&dc_12v>;
|
|
};
|
|
|
|
vccio_1v8: vccio-1v8 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vccio_1v8";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
vin-supply = <&vcc3v3_sys>;
|
|
};
|
|
|
|
vccio_3v3: vccio-3v3 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vccio_3v3";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
vdd_gpu: vdd-gpu {
|
|
compatible = "pwm-regulator";
|
|
pwms = <&pwm0 0 5000 1>;
|
|
regulator-name = "vdd_gpu";
|
|
regulator-min-microvolt = <810000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-init-microvolt = <920000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-settling-time-up-us = <250>;
|
|
pwm-supply = <&vcc3v3_sys>;
|
|
status = "okay";
|
|
};
|
|
|
|
vdd_logic: vdd-logic {
|
|
compatible = "pwm-regulator";
|
|
pwms = <&pwm1 0 5000 1>;
|
|
regulator-name = "vdd_logic";
|
|
regulator-min-microvolt = <810000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
regulator-init-microvolt = <920000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-settling-time-up-us = <250>;
|
|
pwm-supply = <&vcc3v3_sys>;
|
|
status = "okay";
|
|
};
|
|
|
|
vdd_npu: vdd-npu {
|
|
compatible = "pwm-regulator";
|
|
pwms = <&pwm2 0 5000 1>;
|
|
regulator-name = "vdd_npu";
|
|
regulator-min-microvolt = <810000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-init-microvolt = <920000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-settling-time-up-us = <250>;
|
|
pwm-supply = <&vcc3v3_sys>;
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
&bus_npu {
|
|
bus-supply = <&vdd_logic>;
|
|
pvtm-supply = <&vdd_cpu>;
|
|
status = "okay";
|
|
};
|
|
|
|
&can1 {
|
|
assigned-clocks = <&cru CLK_CAN0>;
|
|
assigned-clock-rates = <150000000>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&can1m0_pins>;
|
|
status = "okay";
|
|
};
|
|
|
|
&combphy0_us {
|
|
status = "okay";
|
|
};
|
|
|
|
&combphy1_usq {
|
|
status = "okay";
|
|
};
|
|
|
|
&combphy2_psq {
|
|
status = "okay";
|
|
};
|
|
|
|
&cpu0 {
|
|
cpu-supply = <&vdd_cpu>;
|
|
};
|
|
|
|
&dfi {
|
|
status = "okay";
|
|
};
|
|
|
|
&dmc {
|
|
center-supply = <&vdd_logic>;
|
|
status = "okay";
|
|
};
|
|
|
|
&display_subsystem {
|
|
status = "okay";
|
|
};
|
|
|
|
&gmac0 {
|
|
phy-mode = "rgmii";
|
|
clock_in_out = "output";
|
|
|
|
snps,reset-gpio = <&gpio4 RK_PB2 GPIO_ACTIVE_LOW>;
|
|
snps,reset-active-low;
|
|
/* Reset time is 20ms, 100ms for rtl8211f */
|
|
snps,reset-delays-us = <0 20000 100000>;
|
|
|
|
assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
|
|
assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>;
|
|
assigned-clock-rates = <0>, <125000000>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&gmac0_miim
|
|
&gmac0_tx_bus2
|
|
&gmac0_rx_bus2
|
|
&gmac0_rgmii_clk
|
|
&gmac0_rgmii_bus>;
|
|
|
|
tx_delay = <0x3c>;
|
|
rx_delay = <0x2f>;
|
|
|
|
phy-handle = <&rgmii_phy0>;
|
|
status = "okay";
|
|
};
|
|
|
|
&gmac1 {
|
|
phy-mode = "rgmii";
|
|
clock_in_out = "output";
|
|
|
|
snps,reset-gpio = <&gpio4 RK_PC0 GPIO_ACTIVE_LOW>;
|
|
snps,reset-active-low;
|
|
/* Reset time is 20ms, 100ms for rtl8211f */
|
|
snps,reset-delays-us = <0 20000 100000>;
|
|
|
|
assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
|
|
assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>;
|
|
assigned-clock-rates = <0>, <125000000>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&gmac1m1_miim
|
|
&gmac1m1_tx_bus2
|
|
&gmac1m1_rx_bus2
|
|
&gmac1m1_rgmii_clk
|
|
&gmac1m1_rgmii_bus>;
|
|
|
|
tx_delay = <0x4f>;
|
|
rx_delay = <0x26>;
|
|
|
|
phy-handle = <&rgmii_phy1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&gpu {
|
|
mali-supply = <&vdd_gpu>;
|
|
status = "okay";
|
|
};
|
|
|
|
&hdmi {
|
|
status = "okay";
|
|
rockchip,phy-table =
|
|
<92812500 0x8009 0x0000 0x0270>,
|
|
<165000000 0x800b 0x0000 0x026d>,
|
|
<185625000 0x800b 0x0000 0x01ed>,
|
|
<297000000 0x800b 0x0000 0x01ad>,
|
|
<594000000 0x8029 0x0000 0x0088>,
|
|
<000000000 0x0000 0x0000 0x0000>;
|
|
};
|
|
|
|
&hdmi_in_vp0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&hdmi_sound {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c0 {
|
|
status = "okay";
|
|
vdd_cpu: rk8600@40 {
|
|
compatible = "rockchip,rk8600";
|
|
reg = <0x40>;
|
|
vin-supply = <&vcc3v3_sys>;
|
|
regulator-compatible = "rk860x-reg";
|
|
regulator-name = "vdd_cpu";
|
|
regulator-min-microvolt = <712500>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-ramp-delay = <2300>;
|
|
rockchip,suspend-voltage-selector = <1>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c2 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c2m1_xfer>;
|
|
};
|
|
|
|
&i2c3 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c3m1_xfer>;
|
|
};
|
|
|
|
&i2s0_8ch {
|
|
status = "okay";
|
|
};
|
|
|
|
&iep {
|
|
status = "okay";
|
|
};
|
|
|
|
&iep_mmu {
|
|
status = "okay";
|
|
};
|
|
|
|
&jpegd {
|
|
status = "okay";
|
|
};
|
|
|
|
&jpegd_mmu {
|
|
status = "okay";
|
|
};
|
|
|
|
&mdio0 {
|
|
rgmii_phy0: phy@1 {
|
|
compatible = "ethernet-phy-ieee802.3-c22";
|
|
reg = <0x1>;
|
|
};
|
|
};
|
|
|
|
&mdio1 {
|
|
rgmii_phy1: phy@1 {
|
|
compatible = "ethernet-phy-ieee802.3-c22";
|
|
reg = <0x1>;
|
|
};
|
|
};
|
|
|
|
&mpp_srv {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie2x1 {
|
|
reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
|
|
vpcie3v3-supply = <&vcc3v3_pcie>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie30phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie3x2 {
|
|
compatible = "rockchip,rk3568-pcie-std-ep";
|
|
memory-region = <&bar0_region>, <&bar2_region>;
|
|
memory-region-names = "bar0", "bar2";
|
|
status = "okay";
|
|
};
|
|
|
|
&pinctrl {
|
|
usb {
|
|
vcc5v0_host_en: vcc5v0-host-en {
|
|
rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
vcc5v0_otg_en: vcc5v0-otg-en {
|
|
rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pmu_io_domains {
|
|
status = "okay";
|
|
pmuio2-supply = <&vccio_3v3>;
|
|
vccio1-supply = <&vccio_3v3>;
|
|
vccio3-supply = <&vccio_3v3>;
|
|
vccio4-supply = <&vccio_3v3>;
|
|
vccio5-supply = <&vccio_3v3>;
|
|
vccio6-supply = <&vccio_3v3>;
|
|
vccio7-supply = <&vccio_3v3>;
|
|
};
|
|
|
|
&pwm0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pwm1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pwm2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&rk_rga {
|
|
status = "okay";
|
|
};
|
|
|
|
&rkvdec {
|
|
status = "okay";
|
|
};
|
|
|
|
&rkvdec_mmu {
|
|
status = "okay";
|
|
};
|
|
|
|
&rkvenc {
|
|
venc-supply = <&vdd_logic>;
|
|
status = "okay";
|
|
};
|
|
|
|
&rkvenc_mmu {
|
|
status = "okay";
|
|
};
|
|
|
|
&rknpu {
|
|
rknpu-supply = <&vdd_npu>;
|
|
status = "okay";
|
|
};
|
|
|
|
&rknpu_mmu {
|
|
status = "okay";
|
|
};
|
|
|
|
&saradc {
|
|
status = "okay";
|
|
vref-supply = <&vccio_1v8>;
|
|
};
|
|
|
|
&sdhci {
|
|
bus-width = <8>;
|
|
no-sdio;
|
|
no-sd;
|
|
non-removable;
|
|
max-frequency = <200000000>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdmmc0 {
|
|
max-frequency = <150000000>;
|
|
no-sdio;
|
|
no-mmc;
|
|
bus-width = <4>;
|
|
cap-mmc-highspeed;
|
|
cap-sd-highspeed;
|
|
disable-wp;
|
|
sd-uhs-sdr104;
|
|
vmmc-supply = <&vccio_3v3>;
|
|
vqmmc-supply = <&vccio_3v3>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdmmc2 {
|
|
max-frequency = <150000000>;
|
|
no-sd;
|
|
no-mmc;
|
|
bus-width = <4>;
|
|
disable-wp;
|
|
cap-sd-highspeed;
|
|
cap-sdio-irq;
|
|
keep-power-in-suspend;
|
|
//mmc-pwrseq = <&sdio_pwrseq>;
|
|
non-removable;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>;
|
|
sd-uhs-sdr104;
|
|
status = "okay";
|
|
};
|
|
|
|
&sfc {
|
|
status = "okay";
|
|
|
|
flash@0 {
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <75000000>;
|
|
spi-rx-bus-width = <4>;
|
|
spi-tx-bus-width = <1>;
|
|
};
|
|
};
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
pinctrl-names = "default", "high_speed";
|
|
pinctrl-0 = <&spi0m1_cs0 &spi0m1_pins>;
|
|
pinctrl-1 = <&spi0m1_cs0 &spi0m1_pins_hs>;
|
|
};
|
|
|
|
&spi2 {
|
|
status = "okay";
|
|
pinctrl-names = "default", "high_speed";
|
|
pinctrl-0 = <&spi2m1_cs0 &spi2m1_cs1 &spi2m1_pins>;
|
|
pinctrl-1 = <&spi2m1_cs0 &spi2m1_cs1 &spi2m1_pins_hs>;
|
|
};
|
|
|
|
&tsadc {
|
|
status = "okay";
|
|
};
|
|
|
|
&uart3 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart3m1_xfer>;
|
|
};
|
|
|
|
/* RS485 */
|
|
&uart4 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart4m0_xfer &uart4m0_ctsn &uart4m0_rtsn>;
|
|
};
|
|
|
|
&uart7 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart7m1_xfer>;
|
|
};
|
|
|
|
&u2phy0_host {
|
|
phy-supply = <&vcc5v0_host>;
|
|
status = "okay";
|
|
};
|
|
|
|
&u2phy0_otg {
|
|
status = "okay";
|
|
vbus-supply = <&vcc5v0_otg>;
|
|
};
|
|
|
|
&usb2phy0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usbdrd_dwc3 {
|
|
dr_mode = "otg";
|
|
extcon = <&usb2phy0>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usbdrd30 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usbhost_dwc3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usbhost30 {
|
|
status = "okay";
|
|
};
|
|
|
|
&vdpu {
|
|
status = "okay";
|
|
};
|
|
|
|
&vdpu_mmu {
|
|
status = "okay";
|
|
};
|
|
|
|
&vepu {
|
|
status = "okay";
|
|
};
|
|
|
|
&vepu_mmu {
|
|
status = "okay";
|
|
};
|
|
|
|
&vop {
|
|
status = "okay";
|
|
assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
|
|
assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
|
|
};
|
|
|
|
&vop_mmu {
|
|
status = "okay";
|
|
};
|