Message ID | 20210722152044.1407388-2-pbrobinson@gmail.com |
---|---|
State | Accepted |
Commit | 27e1b5ee9b3d9b1a5dd92e22d3450929d4a57c49 |
Delegated to: | Kever Yang |
Headers | show |
Series | [1/3] arm: dts: sync the Rockhip 3399 SoCs from Linux | expand |
Peter Robinson <pbrobinson@gmail.com> 于2021年7月22日周四 下午11:21写道: > > Sync the rk3328 DTs and associated bits from 5.14-rc1. > > Signed-off-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Thanks, - Kever > --- > arch/arm/dts/rk3328-evb.dts | 23 +- > arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi | 2 +- > arch/arm/dts/rk3328-nanopi-r2s.dts | 51 ++- > arch/arm/dts/rk3328-roc-cc-u-boot.dtsi | 2 +- > arch/arm/dts/rk3328-roc-cc.dts | 41 +- > arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi | 4 +- > arch/arm/dts/rk3328-rock-pi-e.dts | 439 +++++++++++++-------- > arch/arm/dts/rk3328-rock64-u-boot.dtsi | 2 +- > arch/arm/dts/rk3328-rock64.dts | 72 ++-- > arch/arm/dts/rk3328.dtsi | 109 ++--- > 10 files changed, 487 insertions(+), 258 deletions(-) > > diff --git a/arch/arm/dts/rk3328-evb.dts b/arch/arm/dts/rk3328-evb.dts > index 6abc6f4a86..ff6b466e0e 100644 > --- a/arch/arm/dts/rk3328-evb.dts > +++ b/arch/arm/dts/rk3328-evb.dts > @@ -10,6 +10,12 @@ > model = "Rockchip RK3328 EVB"; > compatible = "rockchip,rk3328-evb", "rockchip,rk3328"; > > + aliases { > + mmc0 = &sdmmc; > + mmc1 = &sdio; > + mmc2 = &emmc; > + }; > + > chosen { > stdout-path = "serial2:1500000n8"; > }; > @@ -41,7 +47,7 @@ > compatible = "regulator-fixed"; > gpio = <&gpio0 30 GPIO_ACTIVE_LOW>; > pinctrl-names = "default"; > - pinctrl-0 = <&sdmmc0m1_gpio>; > + pinctrl-0 = <&sdmmc0m1_pin>; > regulator-name = "vcc_sd"; > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > @@ -70,6 +76,18 @@ > cpu-supply = <&vdd_arm>; > }; > > +&cpu1 { > + cpu-supply = <&vdd_arm>; > +}; > + > +&cpu2 { > + cpu-supply = <&vdd_arm>; > +}; > + > +&cpu3 { > + cpu-supply = <&vdd_arm>; > +}; > + > &emmc { > bus-width = <8>; > cap-mmc-highspeed; > @@ -82,11 +100,10 @@ > &gmac2phy { > phy-supply = <&vcc_phy>; > clock_in_out = "output"; > - assigned-clocks = <&cru SCLK_MAC2PHY_SRC>; > assigned-clock-rate = <50000000>; > assigned-clocks = <&cru SCLK_MAC2PHY>; > assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>; > - > + status = "okay"; > }; > > &i2c1 { > diff --git a/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi b/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi > index 9e2ced1541..8db5e55af6 100644 > --- a/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi > +++ b/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi > @@ -20,7 +20,7 @@ > u-boot,dm-spl; > }; > > -&sdmmc0m1_gpio { > +&sdmmc0m1_pin { > u-boot,dm-spl; > }; > > diff --git a/arch/arm/dts/rk3328-nanopi-r2s.dts b/arch/arm/dts/rk3328-nanopi-r2s.dts > index 5445c5cb3d..3857d487ab 100644 > --- a/arch/arm/dts/rk3328-nanopi-r2s.dts > +++ b/arch/arm/dts/rk3328-nanopi-r2s.dts > @@ -13,6 +13,11 @@ > model = "FriendlyElec NanoPi R2S"; > compatible = "friendlyarm,nanopi-r2s", "rockchip,rk3328"; > > + aliases { > + ethernet1 = &rtl8153; > + mmc0 = &sdmmc; > + }; > + > chosen { > stdout-path = "serial2:1500000n8"; > }; > @@ -50,6 +55,7 @@ > sys_led: led-1 { > gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; > label = "nanopi-r2s:red:sys"; > + default-state = "on"; > }; > > wan_led: led-2 { > @@ -71,15 +77,15 @@ > regulator-settling-time-us = <5000>; > regulator-type = "voltage"; > startup-delay-us = <2000>; > - states = <1800000 0x1 > - 3300000 0x0>; > + states = <1800000 0x1>, > + <3300000 0x0>; > vin-supply = <&vcc_io_33>; > }; > > vcc_sd: sdmmc-regulator { > compatible = "regulator-fixed"; > gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; > - pinctrl-0 = <&sdmmc0m1_gpio>; > + pinctrl-0 = <&sdmmc0m1_pin>; > pinctrl-names = "default"; > regulator-name = "vcc_sd"; > regulator-boot-on; > @@ -96,6 +102,18 @@ > regulator-min-microvolt = <5000000>; > regulator-max-microvolt = <5000000>; > }; > + > + vdd_5v_lan: vdd-5v-lan { > + compatible = "regulator-fixed"; > + enable-active-high; > + gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>; > + pinctrl-0 = <&lan_vdd_pin>; > + pinctrl-names = "default"; > + regulator-name = "vdd_5v_lan"; > + regulator-always-on; > + regulator-boot-on; > + vin-supply = <&vdd_5v>; > + }; > }; > > &cpu0 { > @@ -114,6 +132,10 @@ > cpu-supply = <&vdd_arm>; > }; > > +&display_subsystem { > + status = "disabled"; > +}; > + > &gmac2io { > assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; > assigned-clock-parents = <&gmac_clk>, <&gmac_clk>; > @@ -134,8 +156,6 @@ > #size-cells = <0>; > > rtl8211e: ethernet-phy@1 { > - compatible = "ethernet-phy-id001c.c915", > - "ethernet-phy-ieee802.3-c22"; > reg = <1>; > pinctrl-0 = <ð_phy_reset_pin>; > pinctrl-names = "default"; > @@ -282,7 +302,7 @@ > }; > }; > > - ethernet-phy { > + gmac2io { > eth_phy_reset_pin: eth-phy-reset-pin { > rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; > }; > @@ -302,6 +322,12 @@ > }; > }; > > + lan { > + lan_vdd_pin: lan-vdd-pin { > + rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + }; > + > pmic { > pmic_int_l: pmic-int-l { > rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; > @@ -361,6 +387,19 @@ > dr_mode = "host"; > }; > > +&usbdrd3 { > + dr_mode = "host"; > + status = "okay"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + /* Second port is for USB 3.0 */ > + rtl8153: device@2 { > + compatible = "usbbda,8153"; > + reg = <2>; > + }; > +}; > + > &usb_host0_ehci { > status = "okay"; > }; > diff --git a/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi b/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi > index 08806dfc0f..20a62134a0 100644 > --- a/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi > +++ b/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi > @@ -40,7 +40,7 @@ > u-boot,dm-spl; > }; > > -&sdmmc0m1_gpio { > +&sdmmc0m1_pin { > u-boot,dm-spl; > }; > > diff --git a/arch/arm/dts/rk3328-roc-cc.dts b/arch/arm/dts/rk3328-roc-cc.dts > index 8d553c9218..aa22a0c222 100644 > --- a/arch/arm/dts/rk3328-roc-cc.dts > +++ b/arch/arm/dts/rk3328-roc-cc.dts > @@ -10,6 +10,11 @@ > model = "Firefly roc-rk3328-cc"; > compatible = "firefly,roc-rk3328-cc", "rockchip,rk3328"; > > + aliases { > + mmc0 = &sdmmc; > + mmc1 = &emmc; > + }; > + > chosen { > stdout-path = "serial2:1500000n8"; > }; > @@ -34,7 +39,7 @@ > compatible = "regulator-fixed"; > gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; > pinctrl-names = "default"; > - pinctrl-0 = <&sdmmc0m1_gpio>; > + pinctrl-0 = <&sdmmc0m1_pin>; > regulator-boot-on; > regulator-name = "vcc_sd"; > regulator-min-microvolt = <3300000>; > @@ -45,8 +50,8 @@ > vcc_sdio: sdmmcio-regulator { > compatible = "regulator-gpio"; > gpios = <&grf_gpio 0 GPIO_ACTIVE_HIGH>; > - states = <1800000 0x1 > - 3300000 0x0>; > + states = <1800000 0x1>, > + <3300000 0x0>; > regulator-name = "vcc_sdio"; > regulator-type = "voltage"; > regulator-min-microvolt = <1800000>; > @@ -86,7 +91,7 @@ > leds { > compatible = "gpio-leds"; > > - power { > + power_led: led-0 { > label = "firefly:blue:power"; > linux,default-trigger = "heartbeat"; > gpios = <&rk805 1 GPIO_ACTIVE_LOW>; > @@ -94,7 +99,7 @@ > mode = <0x23>; > }; > > - user { > + user_led: led-1 { > label = "firefly:yellow:user"; > linux,default-trigger = "mmc1"; > gpios = <&rk805 0 GPIO_ACTIVE_LOW>; > @@ -104,6 +109,14 @@ > }; > }; > > +&analog_sound { > + status = "okay"; > +}; > + > +&codec { > + status = "okay"; > +}; > + > &cpu0 { > cpu-supply = <&vdd_arm>; > }; > @@ -161,6 +174,10 @@ > status = "okay"; > }; > > +&hdmi_sound { > + status = "okay"; > +}; > + > &i2c1 { > status = "okay"; > > @@ -270,6 +287,14 @@ > }; > }; > > +&i2s0 { > + status = "okay"; > +}; > + > +&i2s1 { > + status = "okay"; > +}; > + > &io_domains { > status = "okay"; > > @@ -334,6 +359,12 @@ > }; > > &usb20_otg { > + dr_mode = "host"; > + status = "okay"; > +}; > + > +&usbdrd3 { > + dr_mode = "host"; > status = "okay"; > }; > > diff --git a/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi b/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi > index 4fc055eacb..9d557eb988 100644 > --- a/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi > +++ b/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi > @@ -37,7 +37,7 @@ > u-boot,dm-spl; > }; > > -&sdmmc0m1_gpio { > +&sdmmc0m1_pin { > u-boot,dm-spl; > }; > > @@ -46,7 +46,7 @@ > }; > > &usb_host0_xhci { > - vbus-supply = <&vcc5v0_host_xhci>; > + vbus-supply = <&vcc_host_5v>; > status = "okay"; > }; > > diff --git a/arch/arm/dts/rk3328-rock-pi-e.dts b/arch/arm/dts/rk3328-rock-pi-e.dts > index 4b9f9a8248..018a3a5075 100644 > --- a/arch/arm/dts/rk3328-rock-pi-e.dts > +++ b/arch/arm/dts/rk3328-rock-pi-e.dts > @@ -1,58 +1,118 @@ > -// SPDX-License-Identifier: GPL-2.0+ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > /* > - * (C) Copyright 2020 Radxa > + * (C) Copyright 2020 Chen-Yu Tsai <wens@csie.org> > + * > + * Based on ./rk3328-rock64.dts, which is > + * > + * Copyright (c) 2017 PINE64 > */ > > /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 "rk3328.dtsi" > > / { > - model = "Radxa Rockpi E"; > - compatible = "radxa,rock-pi-e", "rockchip,rk3328"; > + model = "Radxa ROCK Pi E"; > + compatible = "radxa,rockpi-e", "rockchip,rk3328"; > + > + aliases { > + mmc0 = &sdmmc; > + mmc1 = &emmc; > + }; > > chosen { > - stdout-path = "serial2:1500000n8"; > + stdout-path = "serial2:1500000n8"; > + }; > + > + adc-keys { > + compatible = "adc-keys"; > + io-channels = <&saradc 0>; > + io-channel-names = "buttons"; > + keyup-threshold-microvolt = <1750000>; > + > + /* This button is unpopulated out of the factory. */ > + button-recovery { > + label = "Recovery"; > + linux,code = <KEY_VENDOR>; > + press-threshold-microvolt = <10000>; > + }; > }; > > gmac_clkin: external-gmac-clock { > - compatible = "fixed-clock"; > - clock-frequency = <125000000>; > - clock-output-names = "gmac_clkin"; > - #clock-cells = <0>; > + compatible = "fixed-clock"; > + clock-frequency = <125000000>; > + clock-output-names = "gmac_clkin"; > + #clock-cells = <0>; > + }; > + > + leds { > + compatible = "gpio-leds"; > + pinctrl-0 = <&led_pin>; > + pinctrl-names = "default"; > + > + led-0 { > + color = <LED_COLOR_ID_BLUE>; > + gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; > + linux,default-trigger = "heartbeat"; > + }; > }; > > vcc_sd: sdmmc-regulator { > - compatible = "regulator-fixed"; > - gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; > - pinctrl-names = "default"; > - pinctrl-0 = <&sdmmc0m1_gpio>; > - regulator-name = "vcc_sd"; > - regulator-always-on; > - regulator-boot-on; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <3300000>; > - vin-supply = <&vcc_io>; > + compatible = "regulator-fixed"; > + gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; > + pinctrl-names = "default"; > + pinctrl-0 = <&sdmmc0m1_pin>; > + regulator-name = "vcc_sd"; > + regulator-boot-on; > + vin-supply = <&vcc_io>; > }; > > - vcc5v0_host_xhci: vcc5v0-host-xhci-drv { > - compatible = "regulator-fixed"; > - enable-active-high; > - regulator-name = "vcc5v0_host_xhci"; > - gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>; > - regulator-min-microvolt = <5000000>; > - regulator-max-microvolt = <5000000>; > + vcc_host_5v: vcc-host-5v-regulator { > + compatible = "regulator-fixed"; > + gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>; > + pinctrl-names = "default"; > + pinctrl-0 = <&usb30_host_drv>; > + enable-active-high; > + regulator-name = "vcc_host_5v"; > + regulator-always-on; > + regulator-boot-on; > + vin-supply = <&vcc_sys>; > }; > > vcc_sys: vcc-sys { > - compatible = "regulator-fixed"; > - regulator-name = "vcc_sys"; > - regulator-always-on; > - regulator-boot-on; > - regulator-min-microvolt = <5000000>; > - regulator-max-microvolt = <5000000>; > + compatible = "regulator-fixed"; > + regulator-name = "vcc_sys"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + }; > + > + vcc_wifi: vcc-wifi-regulator { > + compatible = "regulator-fixed"; > + gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>; > + pinctrl-names = "default"; > + pinctrl-0 = <&wifi_en>; > + regulator-name = "vcc_wifi"; > + regulator-always-on; > + regulator-boot-on; > + vin-supply = <&vcc_io>; > }; > }; > > +&analog_sound { > + status = "okay"; > +}; > + > +&codec { > + status = "okay"; > +}; > + > &cpu0 { > cpu-supply = <&vdd_arm>; > }; > @@ -72,13 +132,11 @@ > &emmc { > bus-width = <8>; > cap-mmc-highspeed; > + mmc-ddr-1_8v; > mmc-hs200-1_8v; > - supports-emmc; > - disable-wp; > non-removable; > - num-slots = <1>; > pinctrl-names = "default"; > - pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; > + pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>; > vmmc-supply = <&vcc_io>; > vqmmc-supply = <&vcc18_emmc>; > status = "okay"; > @@ -88,180 +146,245 @@ > assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; > assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>; > clock_in_out = "input"; > - phy-supply = <&vcc_io>; > + phy-handle = <&rtl8211e>; > phy-mode = "rgmii"; > + phy-supply = <&vcc_io>; > pinctrl-names = "default"; > pinctrl-0 = <&rgmiim1_pins>; > - snps,force_thresh_dma_mode; > - snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; > - snps,reset-active-low; > - snps,reset-delays-us = <0 10000 50000>; > + snps,aal; > + snps,rxpbl = <0x4>; > + snps,txpbl = <0x4>; > tx_delay = <0x26>; > rx_delay = <0x11>; > status = "okay"; > + > + mdio { > + compatible = "snps,dwmac-mdio"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + rtl8211e: ethernet-phy@1 { > + reg = <1>; > + pinctrl-0 = <ð_phy_int_pin>, <ð_phy_reset_pin>; > + pinctrl-names = "default"; > + interrupt-parent = <&gpio1>; > + interrupts = <24 IRQ_TYPE_LEVEL_LOW>; > + reset-assert-us = <10000>; > + reset-deassert-us = <50000>; > + reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; > + }; > + }; > }; > > -&i2c1 { > +&gmac2phy { > status = "okay"; > +}; > > - rk805: rk805@18 { > - compatible = "rockchip,rk805"; > +&i2c1 { > status = "okay"; > - reg = <0x18>; > - interrupt-parent = <&gpio2>; > - interrupts = <6 IRQ_TYPE_LEVEL_LOW>; > - #clock-cells = <1>; > - clock-output-names = "xin32k", "rk805-clkout2"; > - pinctrl-names = "default"; > - pinctrl-0 = <&pmic_int_l>; > - rockchip,system-power-controller; > - wakeup-source; > - > - vcc1-supply = <&vcc_sys>; > - vcc2-supply = <&vcc_sys>; > - vcc3-supply = <&vcc_sys>; > - vcc4-supply = <&vcc_sys>; > - vcc5-supply = <&vcc_io>; > - vcc6-supply = <&vcc_sys>; > - > - regulators { > - vdd_logic: DCDC_REG1 { > - regulator-name = "vdd_logic"; > - regulator-min-microvolt = <712500>; > - regulator-max-microvolt = <1450000>; > - regulator-ramp-delay = <12500>; > - regulator-always-on; > - regulator-boot-on; > - regulator-state-mem { > - regulator-on-in-suspend; > - regulator-suspend-microvolt = <1000000>; > - }; > - }; > - > - vdd_arm: DCDC_REG2 { > - regulator-name = "vdd_arm"; > - regulator-min-microvolt = <712500>; > - regulator-max-microvolt = <1450000>; > - regulator-ramp-delay = <12500>; > - regulator-always-on; > - regulator-boot-on; > - regulator-state-mem { > - regulator-on-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_io: DCDC_REG4 { > - regulator-name = "vcc_io"; > - 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>; > - }; > - }; > - > - vcc_18: LDO_REG1 { > - regulator-name = "vcc_18"; > - 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>; > - }; > - }; > - > - vcc18_emmc: LDO_REG2 { > - regulator-name = "vcc18_emmc"; > - 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_10: LDO_REG3 { > - regulator-name = "vdd_10"; > - 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>; > - }; > - }; > - }; > + rk805: pmic@18 { > + compatible = "rockchip,rk805"; > + reg = <0x18>; > + interrupt-parent = <&gpio2>; > + interrupts = <6 IRQ_TYPE_LEVEL_LOW>; > + #clock-cells = <1>; > + clock-output-names = "xin32k", "rk805-clkout2"; > + gpio-controller; > + #gpio-cells = <2>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pmic_int_l>; > + rockchip,system-power-controller; > + wakeup-source; > + > + vcc1-supply = <&vcc_sys>; > + vcc2-supply = <&vcc_sys>; > + vcc3-supply = <&vcc_sys>; > + vcc4-supply = <&vcc_sys>; > + vcc5-supply = <&vcc_io>; > + vcc6-supply = <&vcc_sys>; > + > + regulators { > + vdd_log: DCDC_REG1 { > + regulator-name = "vdd_log"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <712500>; > + regulator-max-microvolt = <1450000>; > + regulator-ramp-delay = <12500>; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1000000>; > + }; > + }; > + > + vdd_arm: DCDC_REG2 { > + regulator-name = "vdd_arm"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <712500>; > + regulator-max-microvolt = <1450000>; > + regulator-ramp-delay = <12500>; > + > + regulator-state-mem { > + regulator-on-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_io: DCDC_REG4 { > + regulator-name = "vcc_io"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > + }; > + > + vcc_18: LDO_REG1 { > + regulator-name = "vcc_18"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1800000>; > + }; > + }; > + > + vcc18_emmc: LDO_REG2 { > + regulator-name = "vcc18_emmc"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1800000>; > + }; > + }; > + > + vdd_10: LDO_REG3 { > + regulator-name = "vdd_10"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1000000>; > + }; > + }; > + }; > }; > }; > > -&io_domains { > +&i2s1 { > status = "okay"; > +}; > > +&io_domains { > + pmuio-supply = <&vcc_io>; > vccio1-supply = <&vcc_io>; > vccio2-supply = <&vcc18_emmc>; > vccio3-supply = <&vcc_io>; > vccio4-supply = <&vcc_io>; > vccio5-supply = <&vcc_io>; > vccio6-supply = <&vcc_io>; > - pmuio-supply = <&vcc_io>; > + status = "okay"; > }; > > &pinctrl { > + ephy { > + eth_phy_int_pin: eth-phy-int-pin { > + rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_down>; > + }; > + > + eth_phy_reset_pin: eth-phy-reset-pin { > + rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; > + }; > + }; > + > + leds { > + led_pin: led-pin { > + rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + }; > + > pmic { > - pmic_int_l: pmic-int-l { > - rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; > + pmic_int_l: pmic-int-l { > + rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; > + }; > }; > + > + usb3 { > + usb30_host_drv: usb30-host-drv { > + rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + }; > + > + wifi { > + wifi_en: wifi-en { > + rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > }; > }; > > &sdmmc { > bus-width = <4>; > - cap-mmc-highspeed; > cap-sd-highspeed; > - card-detect-delay = <200>; > disable-wp; > - max-frequency = <150000000>; > - num-slots = <1>; > pinctrl-names = "default"; > - pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>; > - supports-sd; > + pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>; > vmmc-supply = <&vcc_sd>; > status = "okay"; > }; > > &saradc { > + vref-supply = <&vcc_18>; > status = "okay"; > }; > > -&uart2 { > +&tsadc { > status = "okay"; > }; > > -&usb20_otg { > +&u2phy { > status = "okay"; > }; > > -&usb_host0_ehci { > +&u2phy_host { > status = "okay"; > }; > > -&usb_host0_ohci { > +&uart2 { > + status = "okay"; > +}; > + > +&usbdrd3 { > + dr_mode = "host"; > + status = "okay"; > +}; > + > +&usb_host0_ehci { > status = "okay"; > }; > diff --git a/arch/arm/dts/rk3328-rock64-u-boot.dtsi b/arch/arm/dts/rk3328-rock64-u-boot.dtsi > index 2af32aea05..3c3b1370e3 100644 > --- a/arch/arm/dts/rk3328-rock64-u-boot.dtsi > +++ b/arch/arm/dts/rk3328-rock64-u-boot.dtsi > @@ -40,7 +40,7 @@ > u-boot,dm-spl; > }; > > -&sdmmc0m1_gpio { > +&sdmmc0m1_pin { > u-boot,dm-spl; > }; > > diff --git a/arch/arm/dts/rk3328-rock64.dts b/arch/arm/dts/rk3328-rock64.dts > index ebf3eb222e..1b0f7e4551 100644 > --- a/arch/arm/dts/rk3328-rock64.dts > +++ b/arch/arm/dts/rk3328-rock64.dts > @@ -10,6 +10,11 @@ > model = "Pine64 Rock64"; > compatible = "pine64,rock64", "rockchip,rk3328"; > > + aliases { > + mmc0 = &sdmmc; > + mmc1 = &emmc; > + }; > + > chosen { > stdout-path = "serial2:1500000n8"; > }; > @@ -25,7 +30,7 @@ > compatible = "regulator-fixed"; > gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; > pinctrl-names = "default"; > - pinctrl-0 = <&sdmmc0m1_gpio>; > + pinctrl-0 = <&sdmmc0m1_pin>; > regulator-name = "vcc_sd"; > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > @@ -73,45 +78,43 @@ > leds { > compatible = "gpio-leds"; > > - power { > + power_led: led-0 { > gpios = <&rk805 1 GPIO_ACTIVE_LOW>; > linux,default-trigger = "mmc0"; > }; > > - standby { > + standby_led: led-1 { > gpios = <&rk805 0 GPIO_ACTIVE_LOW>; > linux,default-trigger = "heartbeat"; > }; > }; > > - sound { > - compatible = "audio-graph-card"; > - label = "rockchip,rk3328"; > - dais = <&i2s1_p0 > - &spdif_p0>; > + spdif_sound: spdif-sound { > + compatible = "simple-audio-card"; > + simple-audio-card,name = "SPDIF"; > + > + simple-audio-card,cpu { > + sound-dai = <&spdif>; > + }; > + > + simple-audio-card,codec { > + sound-dai = <&spdif_dit>; > + }; > }; > > - spdif-dit { > + spdif_dit: spdif-dit { > compatible = "linux,spdif-dit"; > #sound-dai-cells = <0>; > - > - port { > - dit_p0_0: endpoint { > - remote-endpoint = <&spdif_p0_0>; > - }; > - }; > }; > }; > > +&analog_sound { > + status = "okay"; > +}; > + > &codec { > mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>; > status = "okay"; > - > - port@0 { > - codec_p0_0: endpoint { > - remote-endpoint = <&i2s1_p0_0>; > - }; > - }; > }; > > &cpu0 { > @@ -163,6 +166,10 @@ > status = "okay"; > }; > > +&hdmi_sound { > + status = "okay"; > +}; > + > &hdmiphy { > status = "okay"; > }; > @@ -278,16 +285,12 @@ > }; > }; > > -&i2s1 { > +&i2s0 { > status = "okay"; > +}; > > - i2s1_p0: port { > - i2s1_p0_0: endpoint { > - dai-format = "i2s"; > - mclk-fs = <256>; > - remote-endpoint = <&codec_p0_0>; > - }; > - }; > +&i2s1 { > + status = "okay"; > }; > > &io_domains { > @@ -337,12 +340,6 @@ > &spdif { > pinctrl-0 = <&spdifm0_tx>; > status = "okay"; > - > - spdif_p0: port { > - spdif_p0_0: endpoint { > - remote-endpoint = <&dit_p0_0>; > - }; > - }; > }; > > &spi0 { > @@ -384,6 +381,11 @@ > status = "okay"; > }; > > +&usbdrd3 { > + dr_mode = "host"; > + status = "okay"; > +}; > + > &usb_host0_ehci { > status = "okay"; > }; > diff --git a/arch/arm/dts/rk3328.dtsi b/arch/arm/dts/rk3328.dtsi > index 945387e579..27e45d5886 100644 > --- a/arch/arm/dts/rk3328.dtsi > +++ b/arch/arm/dts/rk3328.dtsi > @@ -142,23 +142,6 @@ > }; > }; > > - amba: bus { > - compatible = "simple-bus"; > - #address-cells = <2>; > - #size-cells = <2>; > - ranges; > - > - dmac: dmac@ff1f0000 { > - compatible = "arm,pl330", "arm,primecell"; > - reg = <0x0 0xff1f0000 0x0 0x4000>; > - interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; > - clocks = <&cru ACLK_DMAC>; > - clock-names = "apb_pclk"; > - #dma-cells = <1>; > - }; > - }; > - > analog_sound: analog-sound { > compatible = "simple-audio-card"; > simple-audio-card,format = "i2s"; > @@ -305,7 +288,7 @@ > status = "disabled"; > }; > > - grf_gpio: grf-gpio { > + grf_gpio: gpio { > compatible = "rockchip,rk3328-grf-gpio"; > gpio-controller; > #gpio-cells = <2>; > @@ -317,15 +300,18 @@ > #address-cells = <1>; > #size-cells = <0>; > > - pd_hevc@RK3328_PD_HEVC { > + power-domain@RK3328_PD_HEVC { > reg = <RK3328_PD_HEVC>; > + #power-domain-cells = <0>; > }; > - pd_video@RK3328_PD_VIDEO { > + power-domain@RK3328_PD_VIDEO { > reg = <RK3328_PD_VIDEO>; > + #power-domain-cells = <0>; > }; > - pd_vpu@RK3328_PD_VPU { > + power-domain@RK3328_PD_VPU { > reg = <RK3328_PD_VPU>; > clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; > + #power-domain-cells = <0>; > }; > }; > > @@ -452,7 +438,7 @@ > }; > > wdt: watchdog@ff1a0000 { > - compatible = "snps,dw-wdt"; > + compatible = "rockchip,rk3328-wdt", "snps,dw-wdt"; > reg = <0x0 0xff1a0000 0x0 0x100>; > interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&cru PCLK_WDT>; > @@ -503,6 +489,17 @@ > status = "disabled"; > }; > > + dmac: dmac@ff1f0000 { > + compatible = "arm,pl330", "arm,primecell"; > + reg = <0x0 0xff1f0000 0x0 0x4000>; > + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; > + arm,pl330-periph-burst; > + clocks = <&cru ACLK_DMAC>; > + clock-names = "apb_pclk"; > + #dma-cells = <1>; > + }; > + > thermal-zones { > soc_thermal: soc-thermal { > polling-delay-passive = <20>; > @@ -552,9 +549,9 @@ > clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; > clock-names = "tsadc", "apb_pclk"; > pinctrl-names = "init", "default", "sleep"; > - pinctrl-0 = <&otp_gpio>; > + pinctrl-0 = <&otp_pin>; > pinctrl-1 = <&otp_out>; > - pinctrl-2 = <&otp_gpio>; > + pinctrl-2 = <&otp_pin>; > resets = <&cru SRST_TSADC>; > reset-names = "tsadc-apb"; > rockchip,grf = <&grf>; > @@ -822,7 +819,7 @@ > #address-cells = <1>; > #size-cells = <1>; > > - u2phy: usb2-phy@100 { > + u2phy: usb2phy@100 { > compatible = "rockchip,rk3328-usb2phy"; > reg = <0x100 0x10>; > clocks = <&xin24m>; > @@ -922,11 +919,12 @@ > "mac_clk_tx", "clk_mac_ref", > "aclk_mac", "pclk_mac", > "clk_macphy"; > - resets = <&cru SRST_GMAC2PHY_A>, <&cru SRST_MACPHY>; > - reset-names = "stmmaceth", "mac-phy"; > + resets = <&cru SRST_GMAC2PHY_A>; > + reset-names = "stmmaceth"; > phy-mode = "rmii"; > phy-handle = <&phy>; > snps,txpbl = <0x4>; > + clock_in_out = "output"; > status = "disabled"; > > mdio { > @@ -934,7 +932,7 @@ > #address-cells = <1>; > #size-cells = <0>; > > - phy: phy@0 { > + phy: ethernet-phy@0 { > compatible = "ethernet-phy-id1234.d400", "ethernet-phy-ieee802.3-c22"; > reg = <0>; > clocks = <&cru SCLK_MAC2PHY_OUT>; > @@ -966,6 +964,25 @@ > status = "disabled"; > }; > > + usbdrd3: usb@ff600000 { > + compatible = "rockchip,rk3328-dwc3", "snps,dwc3"; > + reg = <0x0 0xff600000 0x0 0x100000>; > + interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, > + <&cru ACLK_USB3OTG>; > + clock-names = "ref_clk", "suspend_clk", > + "bus_clk"; > + dr_mode = "otg"; > + phy_type = "utmi_wide"; > + snps,dis-del-phy-power-chg-quirk; > + snps,dis_enblslpm_quirk; > + snps,dis-tx-ipgap-linecheck-quirk; > + snps,dis-u2-freeclk-exists-quirk; > + snps,dis_u2_susphy_quirk; > + snps,dis_u3_susphy_quirk; > + status = "disabled"; > + }; > + > /* > * U-boot Specific Change > * > @@ -1163,7 +1180,7 @@ > rockchip,pins = <0 RK_PA5 2 &pcfg_pull_none>, > <0 RK_PA6 2 &pcfg_pull_none>; > }; > - i2c3_gpio: i2c3-gpio { > + i2c3_pins: i2c3-pins { > rockchip,pins = > <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>, > <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; > @@ -1234,7 +1251,7 @@ > }; > > tsadc { > - otp_gpio: otp-gpio { > + otp_pin: otp-pin { > rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; > }; > > @@ -1245,8 +1262,8 @@ > > uart0 { > uart0_xfer: uart0-xfer { > - rockchip,pins = <1 RK_PB1 1 &pcfg_pull_up>, > - <1 RK_PB0 1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>, > + <1 RK_PB0 1 &pcfg_pull_up>; > }; > > uart0_cts: uart0-cts { > @@ -1257,15 +1274,15 @@ > rockchip,pins = <1 RK_PB2 1 &pcfg_pull_none>; > }; > > - uart0_rts_gpio: uart0-rts-gpio { > + uart0_rts_pin: uart0-rts-pin { > rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; > }; > }; > > uart1 { > uart1_xfer: uart1-xfer { > - rockchip,pins = <3 RK_PA4 4 &pcfg_pull_up>, > - <3 RK_PA6 4 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PA4 4 &pcfg_pull_none>, > + <3 RK_PA6 4 &pcfg_pull_up>; > }; > > uart1_cts: uart1-cts { > @@ -1276,22 +1293,22 @@ > rockchip,pins = <3 RK_PA5 4 &pcfg_pull_none>; > }; > > - uart1_rts_gpio: uart1-rts-gpio { > + uart1_rts_pin: uart1-rts-pin { > rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; > }; > }; > > uart2-0 { > uart2m0_xfer: uart2m0-xfer { > - rockchip,pins = <1 RK_PA0 2 &pcfg_pull_up>, > - <1 RK_PA1 2 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>, > + <1 RK_PA1 2 &pcfg_pull_up>; > }; > }; > > uart2-1 { > uart2m1_xfer: uart2m1-xfer { > - rockchip,pins = <2 RK_PA0 1 &pcfg_pull_up>, > - <2 RK_PA1 1 &pcfg_pull_none>; > + rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>, > + <2 RK_PA1 1 &pcfg_pull_up>; > }; > }; > > @@ -1502,7 +1519,7 @@ > rockchip,pins = <2 RK_PA7 1 &pcfg_pull_up_4ma>; > }; > > - sdmmc0m0_gpio: sdmmc0m0-gpio { > + sdmmc0m0_pin: sdmmc0m0-pin { > rockchip,pins = <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>; > }; > }; > @@ -1512,7 +1529,7 @@ > rockchip,pins = <0 RK_PD6 3 &pcfg_pull_up_4ma>; > }; > > - sdmmc0m1_gpio: sdmmc0m1-gpio { > + sdmmc0m1_pin: sdmmc0m1-pin { > rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up_4ma>; > }; > }; > @@ -1545,7 +1562,7 @@ > <1 RK_PA3 1 &pcfg_pull_up_8ma>; > }; > > - sdmmc0_gpio: sdmmc0-gpio { > + sdmmc0_pins: sdmmc0-pins { > rockchip,pins = > <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>, > <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, > @@ -1587,7 +1604,7 @@ > <3 RK_PA7 3 &pcfg_pull_up_4ma>; > }; > > - sdmmc0ext_gpio: sdmmc0ext-gpio { > + sdmmc0ext_pins: sdmmc0ext-pins { > rockchip,pins = > <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>, > <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>, > @@ -1632,7 +1649,7 @@ > <1 RK_PC1 1 &pcfg_pull_up_8ma>; > }; > > - sdmmc1_gpio: sdmmc1-gpio { > + sdmmc1_pins: sdmmc1-pins { > rockchip,pins = > <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, > <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up_4ma>, > @@ -1826,7 +1843,7 @@ > tsadc_int: tsadc-int { > rockchip,pins = <2 RK_PB5 2 &pcfg_pull_none>; > }; > - tsadc_gpio: tsadc-gpio { > + tsadc_pin: tsadc-pin { > rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; > }; > }; > -- > 2.31.1 >
diff --git a/arch/arm/dts/rk3328-evb.dts b/arch/arm/dts/rk3328-evb.dts index 6abc6f4a86..ff6b466e0e 100644 --- a/arch/arm/dts/rk3328-evb.dts +++ b/arch/arm/dts/rk3328-evb.dts @@ -10,6 +10,12 @@ model = "Rockchip RK3328 EVB"; compatible = "rockchip,rk3328-evb", "rockchip,rk3328"; + aliases { + mmc0 = &sdmmc; + mmc1 = &sdio; + mmc2 = &emmc; + }; + chosen { stdout-path = "serial2:1500000n8"; }; @@ -41,7 +47,7 @@ compatible = "regulator-fixed"; gpio = <&gpio0 30 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; - pinctrl-0 = <&sdmmc0m1_gpio>; + pinctrl-0 = <&sdmmc0m1_pin>; regulator-name = "vcc_sd"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; @@ -70,6 +76,18 @@ cpu-supply = <&vdd_arm>; }; +&cpu1 { + cpu-supply = <&vdd_arm>; +}; + +&cpu2 { + cpu-supply = <&vdd_arm>; +}; + +&cpu3 { + cpu-supply = <&vdd_arm>; +}; + &emmc { bus-width = <8>; cap-mmc-highspeed; @@ -82,11 +100,10 @@ &gmac2phy { phy-supply = <&vcc_phy>; clock_in_out = "output"; - assigned-clocks = <&cru SCLK_MAC2PHY_SRC>; assigned-clock-rate = <50000000>; assigned-clocks = <&cru SCLK_MAC2PHY>; assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>; - + status = "okay"; }; &i2c1 { diff --git a/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi b/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi index 9e2ced1541..8db5e55af6 100644 --- a/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi +++ b/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi @@ -20,7 +20,7 @@ u-boot,dm-spl; }; -&sdmmc0m1_gpio { +&sdmmc0m1_pin { u-boot,dm-spl; }; diff --git a/arch/arm/dts/rk3328-nanopi-r2s.dts b/arch/arm/dts/rk3328-nanopi-r2s.dts index 5445c5cb3d..3857d487ab 100644 --- a/arch/arm/dts/rk3328-nanopi-r2s.dts +++ b/arch/arm/dts/rk3328-nanopi-r2s.dts @@ -13,6 +13,11 @@ model = "FriendlyElec NanoPi R2S"; compatible = "friendlyarm,nanopi-r2s", "rockchip,rk3328"; + aliases { + ethernet1 = &rtl8153; + mmc0 = &sdmmc; + }; + chosen { stdout-path = "serial2:1500000n8"; }; @@ -50,6 +55,7 @@ sys_led: led-1 { gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; label = "nanopi-r2s:red:sys"; + default-state = "on"; }; wan_led: led-2 { @@ -71,15 +77,15 @@ regulator-settling-time-us = <5000>; regulator-type = "voltage"; startup-delay-us = <2000>; - states = <1800000 0x1 - 3300000 0x0>; + states = <1800000 0x1>, + <3300000 0x0>; vin-supply = <&vcc_io_33>; }; vcc_sd: sdmmc-regulator { compatible = "regulator-fixed"; gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; - pinctrl-0 = <&sdmmc0m1_gpio>; + pinctrl-0 = <&sdmmc0m1_pin>; pinctrl-names = "default"; regulator-name = "vcc_sd"; regulator-boot-on; @@ -96,6 +102,18 @@ regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; }; + + vdd_5v_lan: vdd-5v-lan { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&lan_vdd_pin>; + pinctrl-names = "default"; + regulator-name = "vdd_5v_lan"; + regulator-always-on; + regulator-boot-on; + vin-supply = <&vdd_5v>; + }; }; &cpu0 { @@ -114,6 +132,10 @@ cpu-supply = <&vdd_arm>; }; +&display_subsystem { + status = "disabled"; +}; + &gmac2io { assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; assigned-clock-parents = <&gmac_clk>, <&gmac_clk>; @@ -134,8 +156,6 @@ #size-cells = <0>; rtl8211e: ethernet-phy@1 { - compatible = "ethernet-phy-id001c.c915", - "ethernet-phy-ieee802.3-c22"; reg = <1>; pinctrl-0 = <ð_phy_reset_pin>; pinctrl-names = "default"; @@ -282,7 +302,7 @@ }; }; - ethernet-phy { + gmac2io { eth_phy_reset_pin: eth-phy-reset-pin { rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; }; @@ -302,6 +322,12 @@ }; }; + lan { + lan_vdd_pin: lan-vdd-pin { + rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + pmic { pmic_int_l: pmic-int-l { rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; @@ -361,6 +387,19 @@ dr_mode = "host"; }; +&usbdrd3 { + dr_mode = "host"; + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + + /* Second port is for USB 3.0 */ + rtl8153: device@2 { + compatible = "usbbda,8153"; + reg = <2>; + }; +}; + &usb_host0_ehci { status = "okay"; }; diff --git a/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi b/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi index 08806dfc0f..20a62134a0 100644 --- a/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi +++ b/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi @@ -40,7 +40,7 @@ u-boot,dm-spl; }; -&sdmmc0m1_gpio { +&sdmmc0m1_pin { u-boot,dm-spl; }; diff --git a/arch/arm/dts/rk3328-roc-cc.dts b/arch/arm/dts/rk3328-roc-cc.dts index 8d553c9218..aa22a0c222 100644 --- a/arch/arm/dts/rk3328-roc-cc.dts +++ b/arch/arm/dts/rk3328-roc-cc.dts @@ -10,6 +10,11 @@ model = "Firefly roc-rk3328-cc"; compatible = "firefly,roc-rk3328-cc", "rockchip,rk3328"; + aliases { + mmc0 = &sdmmc; + mmc1 = &emmc; + }; + chosen { stdout-path = "serial2:1500000n8"; }; @@ -34,7 +39,7 @@ compatible = "regulator-fixed"; gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; - pinctrl-0 = <&sdmmc0m1_gpio>; + pinctrl-0 = <&sdmmc0m1_pin>; regulator-boot-on; regulator-name = "vcc_sd"; regulator-min-microvolt = <3300000>; @@ -45,8 +50,8 @@ vcc_sdio: sdmmcio-regulator { compatible = "regulator-gpio"; gpios = <&grf_gpio 0 GPIO_ACTIVE_HIGH>; - states = <1800000 0x1 - 3300000 0x0>; + states = <1800000 0x1>, + <3300000 0x0>; regulator-name = "vcc_sdio"; regulator-type = "voltage"; regulator-min-microvolt = <1800000>; @@ -86,7 +91,7 @@ leds { compatible = "gpio-leds"; - power { + power_led: led-0 { label = "firefly:blue:power"; linux,default-trigger = "heartbeat"; gpios = <&rk805 1 GPIO_ACTIVE_LOW>; @@ -94,7 +99,7 @@ mode = <0x23>; }; - user { + user_led: led-1 { label = "firefly:yellow:user"; linux,default-trigger = "mmc1"; gpios = <&rk805 0 GPIO_ACTIVE_LOW>; @@ -104,6 +109,14 @@ }; }; +&analog_sound { + status = "okay"; +}; + +&codec { + status = "okay"; +}; + &cpu0 { cpu-supply = <&vdd_arm>; }; @@ -161,6 +174,10 @@ status = "okay"; }; +&hdmi_sound { + status = "okay"; +}; + &i2c1 { status = "okay"; @@ -270,6 +287,14 @@ }; }; +&i2s0 { + status = "okay"; +}; + +&i2s1 { + status = "okay"; +}; + &io_domains { status = "okay"; @@ -334,6 +359,12 @@ }; &usb20_otg { + dr_mode = "host"; + status = "okay"; +}; + +&usbdrd3 { + dr_mode = "host"; status = "okay"; }; diff --git a/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi b/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi index 4fc055eacb..9d557eb988 100644 --- a/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi +++ b/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi @@ -37,7 +37,7 @@ u-boot,dm-spl; }; -&sdmmc0m1_gpio { +&sdmmc0m1_pin { u-boot,dm-spl; }; @@ -46,7 +46,7 @@ }; &usb_host0_xhci { - vbus-supply = <&vcc5v0_host_xhci>; + vbus-supply = <&vcc_host_5v>; status = "okay"; }; diff --git a/arch/arm/dts/rk3328-rock-pi-e.dts b/arch/arm/dts/rk3328-rock-pi-e.dts index 4b9f9a8248..018a3a5075 100644 --- a/arch/arm/dts/rk3328-rock-pi-e.dts +++ b/arch/arm/dts/rk3328-rock-pi-e.dts @@ -1,58 +1,118 @@ -// SPDX-License-Identifier: GPL-2.0+ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* - * (C) Copyright 2020 Radxa + * (C) Copyright 2020 Chen-Yu Tsai <wens@csie.org> + * + * Based on ./rk3328-rock64.dts, which is + * + * Copyright (c) 2017 PINE64 */ /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 "rk3328.dtsi" / { - model = "Radxa Rockpi E"; - compatible = "radxa,rock-pi-e", "rockchip,rk3328"; + model = "Radxa ROCK Pi E"; + compatible = "radxa,rockpi-e", "rockchip,rk3328"; + + aliases { + mmc0 = &sdmmc; + mmc1 = &emmc; + }; chosen { - stdout-path = "serial2:1500000n8"; + stdout-path = "serial2:1500000n8"; + }; + + adc-keys { + compatible = "adc-keys"; + io-channels = <&saradc 0>; + io-channel-names = "buttons"; + keyup-threshold-microvolt = <1750000>; + + /* This button is unpopulated out of the factory. */ + button-recovery { + label = "Recovery"; + linux,code = <KEY_VENDOR>; + press-threshold-microvolt = <10000>; + }; }; gmac_clkin: external-gmac-clock { - compatible = "fixed-clock"; - clock-frequency = <125000000>; - clock-output-names = "gmac_clkin"; - #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <125000000>; + clock-output-names = "gmac_clkin"; + #clock-cells = <0>; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&led_pin>; + pinctrl-names = "default"; + + led-0 { + color = <LED_COLOR_ID_BLUE>; + gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; + linux,default-trigger = "heartbeat"; + }; }; vcc_sd: sdmmc-regulator { - compatible = "regulator-fixed"; - gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&sdmmc0m1_gpio>; - regulator-name = "vcc_sd"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&vcc_io>; + compatible = "regulator-fixed"; + gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc0m1_pin>; + regulator-name = "vcc_sd"; + regulator-boot-on; + vin-supply = <&vcc_io>; }; - vcc5v0_host_xhci: vcc5v0-host-xhci-drv { - compatible = "regulator-fixed"; - enable-active-high; - regulator-name = "vcc5v0_host_xhci"; - gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; + vcc_host_5v: vcc-host-5v-regulator { + compatible = "regulator-fixed"; + gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&usb30_host_drv>; + enable-active-high; + regulator-name = "vcc_host_5v"; + regulator-always-on; + regulator-boot-on; + vin-supply = <&vcc_sys>; }; vcc_sys: vcc-sys { - compatible = "regulator-fixed"; - regulator-name = "vcc_sys"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; + compatible = "regulator-fixed"; + regulator-name = "vcc_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; + + vcc_wifi: vcc-wifi-regulator { + compatible = "regulator-fixed"; + gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_en>; + regulator-name = "vcc_wifi"; + regulator-always-on; + regulator-boot-on; + vin-supply = <&vcc_io>; }; }; +&analog_sound { + status = "okay"; +}; + +&codec { + status = "okay"; +}; + &cpu0 { cpu-supply = <&vdd_arm>; }; @@ -72,13 +132,11 @@ &emmc { bus-width = <8>; cap-mmc-highspeed; + mmc-ddr-1_8v; mmc-hs200-1_8v; - supports-emmc; - disable-wp; non-removable; - num-slots = <1>; pinctrl-names = "default"; - pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; + pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>; vmmc-supply = <&vcc_io>; vqmmc-supply = <&vcc18_emmc>; status = "okay"; @@ -88,180 +146,245 @@ assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>; clock_in_out = "input"; - phy-supply = <&vcc_io>; + phy-handle = <&rtl8211e>; phy-mode = "rgmii"; + phy-supply = <&vcc_io>; pinctrl-names = "default"; pinctrl-0 = <&rgmiim1_pins>; - snps,force_thresh_dma_mode; - snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; - snps,reset-active-low; - snps,reset-delays-us = <0 10000 50000>; + snps,aal; + snps,rxpbl = <0x4>; + snps,txpbl = <0x4>; tx_delay = <0x26>; rx_delay = <0x11>; status = "okay"; + + mdio { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + + rtl8211e: ethernet-phy@1 { + reg = <1>; + pinctrl-0 = <ð_phy_int_pin>, <ð_phy_reset_pin>; + pinctrl-names = "default"; + interrupt-parent = <&gpio1>; + interrupts = <24 IRQ_TYPE_LEVEL_LOW>; + reset-assert-us = <10000>; + reset-deassert-us = <50000>; + reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; + }; + }; }; -&i2c1 { +&gmac2phy { status = "okay"; +}; - rk805: rk805@18 { - compatible = "rockchip,rk805"; +&i2c1 { status = "okay"; - reg = <0x18>; - interrupt-parent = <&gpio2>; - interrupts = <6 IRQ_TYPE_LEVEL_LOW>; - #clock-cells = <1>; - clock-output-names = "xin32k", "rk805-clkout2"; - pinctrl-names = "default"; - pinctrl-0 = <&pmic_int_l>; - rockchip,system-power-controller; - wakeup-source; - - vcc1-supply = <&vcc_sys>; - vcc2-supply = <&vcc_sys>; - vcc3-supply = <&vcc_sys>; - vcc4-supply = <&vcc_sys>; - vcc5-supply = <&vcc_io>; - vcc6-supply = <&vcc_sys>; - - regulators { - vdd_logic: DCDC_REG1 { - regulator-name = "vdd_logic"; - regulator-min-microvolt = <712500>; - regulator-max-microvolt = <1450000>; - regulator-ramp-delay = <12500>; - regulator-always-on; - regulator-boot-on; - regulator-state-mem { - regulator-on-in-suspend; - regulator-suspend-microvolt = <1000000>; - }; - }; - - vdd_arm: DCDC_REG2 { - regulator-name = "vdd_arm"; - regulator-min-microvolt = <712500>; - regulator-max-microvolt = <1450000>; - regulator-ramp-delay = <12500>; - regulator-always-on; - regulator-boot-on; - regulator-state-mem { - regulator-on-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_io: DCDC_REG4 { - regulator-name = "vcc_io"; - 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>; - }; - }; - - vcc_18: LDO_REG1 { - regulator-name = "vcc_18"; - 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>; - }; - }; - - vcc18_emmc: LDO_REG2 { - regulator-name = "vcc18_emmc"; - 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_10: LDO_REG3 { - regulator-name = "vdd_10"; - 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>; - }; - }; - }; + rk805: pmic@18 { + compatible = "rockchip,rk805"; + reg = <0x18>; + interrupt-parent = <&gpio2>; + interrupts = <6 IRQ_TYPE_LEVEL_LOW>; + #clock-cells = <1>; + clock-output-names = "xin32k", "rk805-clkout2"; + gpio-controller; + #gpio-cells = <2>; + pinctrl-names = "default"; + pinctrl-0 = <&pmic_int_l>; + rockchip,system-power-controller; + wakeup-source; + + vcc1-supply = <&vcc_sys>; + vcc2-supply = <&vcc_sys>; + vcc3-supply = <&vcc_sys>; + vcc4-supply = <&vcc_sys>; + vcc5-supply = <&vcc_io>; + vcc6-supply = <&vcc_sys>; + + regulators { + vdd_log: DCDC_REG1 { + regulator-name = "vdd_log"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <712500>; + regulator-max-microvolt = <1450000>; + regulator-ramp-delay = <12500>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1000000>; + }; + }; + + vdd_arm: DCDC_REG2 { + regulator-name = "vdd_arm"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <712500>; + regulator-max-microvolt = <1450000>; + regulator-ramp-delay = <12500>; + + regulator-state-mem { + regulator-on-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_io: DCDC_REG4 { + regulator-name = "vcc_io"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <3300000>; + }; + }; + + vcc_18: LDO_REG1 { + regulator-name = "vcc_18"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1800000>; + }; + }; + + vcc18_emmc: LDO_REG2 { + regulator-name = "vcc18_emmc"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1800000>; + }; + }; + + vdd_10: LDO_REG3 { + regulator-name = "vdd_10"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1000000>; + }; + }; + }; }; }; -&io_domains { +&i2s1 { status = "okay"; +}; +&io_domains { + pmuio-supply = <&vcc_io>; vccio1-supply = <&vcc_io>; vccio2-supply = <&vcc18_emmc>; vccio3-supply = <&vcc_io>; vccio4-supply = <&vcc_io>; vccio5-supply = <&vcc_io>; vccio6-supply = <&vcc_io>; - pmuio-supply = <&vcc_io>; + status = "okay"; }; &pinctrl { + ephy { + eth_phy_int_pin: eth-phy-int-pin { + rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_down>; + }; + + eth_phy_reset_pin: eth-phy-reset-pin { + rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; + + leds { + led_pin: led-pin { + rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + pmic { - pmic_int_l: pmic-int-l { - rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; + pmic_int_l: pmic-int-l { + rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; + }; }; + + usb3 { + usb30_host_drv: usb30-host-drv { + rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + wifi { + wifi_en: wifi-en { + rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; + }; }; }; &sdmmc { bus-width = <4>; - cap-mmc-highspeed; cap-sd-highspeed; - card-detect-delay = <200>; disable-wp; - max-frequency = <150000000>; - num-slots = <1>; pinctrl-names = "default"; - pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>; - supports-sd; + pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>; vmmc-supply = <&vcc_sd>; status = "okay"; }; &saradc { + vref-supply = <&vcc_18>; status = "okay"; }; -&uart2 { +&tsadc { status = "okay"; }; -&usb20_otg { +&u2phy { status = "okay"; }; -&usb_host0_ehci { +&u2phy_host { status = "okay"; }; -&usb_host0_ohci { +&uart2 { + status = "okay"; +}; + +&usbdrd3 { + dr_mode = "host"; + status = "okay"; +}; + +&usb_host0_ehci { status = "okay"; }; diff --git a/arch/arm/dts/rk3328-rock64-u-boot.dtsi b/arch/arm/dts/rk3328-rock64-u-boot.dtsi index 2af32aea05..3c3b1370e3 100644 --- a/arch/arm/dts/rk3328-rock64-u-boot.dtsi +++ b/arch/arm/dts/rk3328-rock64-u-boot.dtsi @@ -40,7 +40,7 @@ u-boot,dm-spl; }; -&sdmmc0m1_gpio { +&sdmmc0m1_pin { u-boot,dm-spl; }; diff --git a/arch/arm/dts/rk3328-rock64.dts b/arch/arm/dts/rk3328-rock64.dts index ebf3eb222e..1b0f7e4551 100644 --- a/arch/arm/dts/rk3328-rock64.dts +++ b/arch/arm/dts/rk3328-rock64.dts @@ -10,6 +10,11 @@ model = "Pine64 Rock64"; compatible = "pine64,rock64", "rockchip,rk3328"; + aliases { + mmc0 = &sdmmc; + mmc1 = &emmc; + }; + chosen { stdout-path = "serial2:1500000n8"; }; @@ -25,7 +30,7 @@ compatible = "regulator-fixed"; gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; - pinctrl-0 = <&sdmmc0m1_gpio>; + pinctrl-0 = <&sdmmc0m1_pin>; regulator-name = "vcc_sd"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; @@ -73,45 +78,43 @@ leds { compatible = "gpio-leds"; - power { + power_led: led-0 { gpios = <&rk805 1 GPIO_ACTIVE_LOW>; linux,default-trigger = "mmc0"; }; - standby { + standby_led: led-1 { gpios = <&rk805 0 GPIO_ACTIVE_LOW>; linux,default-trigger = "heartbeat"; }; }; - sound { - compatible = "audio-graph-card"; - label = "rockchip,rk3328"; - dais = <&i2s1_p0 - &spdif_p0>; + spdif_sound: spdif-sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "SPDIF"; + + simple-audio-card,cpu { + sound-dai = <&spdif>; + }; + + simple-audio-card,codec { + sound-dai = <&spdif_dit>; + }; }; - spdif-dit { + spdif_dit: spdif-dit { compatible = "linux,spdif-dit"; #sound-dai-cells = <0>; - - port { - dit_p0_0: endpoint { - remote-endpoint = <&spdif_p0_0>; - }; - }; }; }; +&analog_sound { + status = "okay"; +}; + &codec { mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>; status = "okay"; - - port@0 { - codec_p0_0: endpoint { - remote-endpoint = <&i2s1_p0_0>; - }; - }; }; &cpu0 { @@ -163,6 +166,10 @@ status = "okay"; }; +&hdmi_sound { + status = "okay"; +}; + &hdmiphy { status = "okay"; }; @@ -278,16 +285,12 @@ }; }; -&i2s1 { +&i2s0 { status = "okay"; +}; - i2s1_p0: port { - i2s1_p0_0: endpoint { - dai-format = "i2s"; - mclk-fs = <256>; - remote-endpoint = <&codec_p0_0>; - }; - }; +&i2s1 { + status = "okay"; }; &io_domains { @@ -337,12 +340,6 @@ &spdif { pinctrl-0 = <&spdifm0_tx>; status = "okay"; - - spdif_p0: port { - spdif_p0_0: endpoint { - remote-endpoint = <&dit_p0_0>; - }; - }; }; &spi0 { @@ -384,6 +381,11 @@ status = "okay"; }; +&usbdrd3 { + dr_mode = "host"; + status = "okay"; +}; + &usb_host0_ehci { status = "okay"; }; diff --git a/arch/arm/dts/rk3328.dtsi b/arch/arm/dts/rk3328.dtsi index 945387e579..27e45d5886 100644 --- a/arch/arm/dts/rk3328.dtsi +++ b/arch/arm/dts/rk3328.dtsi @@ -142,23 +142,6 @@ }; }; - amba: bus { - compatible = "simple-bus"; - #address-cells = <2>; - #size-cells = <2>; - ranges; - - dmac: dmac@ff1f0000 { - compatible = "arm,pl330", "arm,primecell"; - reg = <0x0 0xff1f0000 0x0 0x4000>; - interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&cru ACLK_DMAC>; - clock-names = "apb_pclk"; - #dma-cells = <1>; - }; - }; - analog_sound: analog-sound { compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; @@ -305,7 +288,7 @@ status = "disabled"; }; - grf_gpio: grf-gpio { + grf_gpio: gpio { compatible = "rockchip,rk3328-grf-gpio"; gpio-controller; #gpio-cells = <2>; @@ -317,15 +300,18 @@ #address-cells = <1>; #size-cells = <0>; - pd_hevc@RK3328_PD_HEVC { + power-domain@RK3328_PD_HEVC { reg = <RK3328_PD_HEVC>; + #power-domain-cells = <0>; }; - pd_video@RK3328_PD_VIDEO { + power-domain@RK3328_PD_VIDEO { reg = <RK3328_PD_VIDEO>; + #power-domain-cells = <0>; }; - pd_vpu@RK3328_PD_VPU { + power-domain@RK3328_PD_VPU { reg = <RK3328_PD_VPU>; clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; + #power-domain-cells = <0>; }; }; @@ -452,7 +438,7 @@ }; wdt: watchdog@ff1a0000 { - compatible = "snps,dw-wdt"; + compatible = "rockchip,rk3328-wdt", "snps,dw-wdt"; reg = <0x0 0xff1a0000 0x0 0x100>; interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru PCLK_WDT>; @@ -503,6 +489,17 @@ status = "disabled"; }; + dmac: dmac@ff1f0000 { + compatible = "arm,pl330", "arm,primecell"; + reg = <0x0 0xff1f0000 0x0 0x4000>; + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; + arm,pl330-periph-burst; + clocks = <&cru ACLK_DMAC>; + clock-names = "apb_pclk"; + #dma-cells = <1>; + }; + thermal-zones { soc_thermal: soc-thermal { polling-delay-passive = <20>; @@ -552,9 +549,9 @@ clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; clock-names = "tsadc", "apb_pclk"; pinctrl-names = "init", "default", "sleep"; - pinctrl-0 = <&otp_gpio>; + pinctrl-0 = <&otp_pin>; pinctrl-1 = <&otp_out>; - pinctrl-2 = <&otp_gpio>; + pinctrl-2 = <&otp_pin>; resets = <&cru SRST_TSADC>; reset-names = "tsadc-apb"; rockchip,grf = <&grf>; @@ -822,7 +819,7 @@ #address-cells = <1>; #size-cells = <1>; - u2phy: usb2-phy@100 { + u2phy: usb2phy@100 { compatible = "rockchip,rk3328-usb2phy"; reg = <0x100 0x10>; clocks = <&xin24m>; @@ -922,11 +919,12 @@ "mac_clk_tx", "clk_mac_ref", "aclk_mac", "pclk_mac", "clk_macphy"; - resets = <&cru SRST_GMAC2PHY_A>, <&cru SRST_MACPHY>; - reset-names = "stmmaceth", "mac-phy"; + resets = <&cru SRST_GMAC2PHY_A>; + reset-names = "stmmaceth"; phy-mode = "rmii"; phy-handle = <&phy>; snps,txpbl = <0x4>; + clock_in_out = "output"; status = "disabled"; mdio { @@ -934,7 +932,7 @@ #address-cells = <1>; #size-cells = <0>; - phy: phy@0 { + phy: ethernet-phy@0 { compatible = "ethernet-phy-id1234.d400", "ethernet-phy-ieee802.3-c22"; reg = <0>; clocks = <&cru SCLK_MAC2PHY_OUT>; @@ -966,6 +964,25 @@ status = "disabled"; }; + usbdrd3: usb@ff600000 { + compatible = "rockchip,rk3328-dwc3", "snps,dwc3"; + reg = <0x0 0xff600000 0x0 0x100000>; + interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, + <&cru ACLK_USB3OTG>; + clock-names = "ref_clk", "suspend_clk", + "bus_clk"; + dr_mode = "otg"; + phy_type = "utmi_wide"; + snps,dis-del-phy-power-chg-quirk; + snps,dis_enblslpm_quirk; + snps,dis-tx-ipgap-linecheck-quirk; + snps,dis-u2-freeclk-exists-quirk; + snps,dis_u2_susphy_quirk; + snps,dis_u3_susphy_quirk; + status = "disabled"; + }; + /* * U-boot Specific Change * @@ -1163,7 +1180,7 @@ rockchip,pins = <0 RK_PA5 2 &pcfg_pull_none>, <0 RK_PA6 2 &pcfg_pull_none>; }; - i2c3_gpio: i2c3-gpio { + i2c3_pins: i2c3-pins { rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>, <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; @@ -1234,7 +1251,7 @@ }; tsadc { - otp_gpio: otp-gpio { + otp_pin: otp-pin { rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; }; @@ -1245,8 +1262,8 @@ uart0 { uart0_xfer: uart0-xfer { - rockchip,pins = <1 RK_PB1 1 &pcfg_pull_up>, - <1 RK_PB0 1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>, + <1 RK_PB0 1 &pcfg_pull_up>; }; uart0_cts: uart0-cts { @@ -1257,15 +1274,15 @@ rockchip,pins = <1 RK_PB2 1 &pcfg_pull_none>; }; - uart0_rts_gpio: uart0-rts-gpio { + uart0_rts_pin: uart0-rts-pin { rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; }; }; uart1 { uart1_xfer: uart1-xfer { - rockchip,pins = <3 RK_PA4 4 &pcfg_pull_up>, - <3 RK_PA6 4 &pcfg_pull_none>; + rockchip,pins = <3 RK_PA4 4 &pcfg_pull_none>, + <3 RK_PA6 4 &pcfg_pull_up>; }; uart1_cts: uart1-cts { @@ -1276,22 +1293,22 @@ rockchip,pins = <3 RK_PA5 4 &pcfg_pull_none>; }; - uart1_rts_gpio: uart1-rts-gpio { + uart1_rts_pin: uart1-rts-pin { rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; }; }; uart2-0 { uart2m0_xfer: uart2m0-xfer { - rockchip,pins = <1 RK_PA0 2 &pcfg_pull_up>, - <1 RK_PA1 2 &pcfg_pull_none>; + rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>, + <1 RK_PA1 2 &pcfg_pull_up>; }; }; uart2-1 { uart2m1_xfer: uart2m1-xfer { - rockchip,pins = <2 RK_PA0 1 &pcfg_pull_up>, - <2 RK_PA1 1 &pcfg_pull_none>; + rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>, + <2 RK_PA1 1 &pcfg_pull_up>; }; }; @@ -1502,7 +1519,7 @@ rockchip,pins = <2 RK_PA7 1 &pcfg_pull_up_4ma>; }; - sdmmc0m0_gpio: sdmmc0m0-gpio { + sdmmc0m0_pin: sdmmc0m0-pin { rockchip,pins = <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>; }; }; @@ -1512,7 +1529,7 @@ rockchip,pins = <0 RK_PD6 3 &pcfg_pull_up_4ma>; }; - sdmmc0m1_gpio: sdmmc0m1-gpio { + sdmmc0m1_pin: sdmmc0m1-pin { rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up_4ma>; }; }; @@ -1545,7 +1562,7 @@ <1 RK_PA3 1 &pcfg_pull_up_8ma>; }; - sdmmc0_gpio: sdmmc0-gpio { + sdmmc0_pins: sdmmc0-pins { rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>, <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, @@ -1587,7 +1604,7 @@ <3 RK_PA7 3 &pcfg_pull_up_4ma>; }; - sdmmc0ext_gpio: sdmmc0ext-gpio { + sdmmc0ext_pins: sdmmc0ext-pins { rockchip,pins = <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>, <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>, @@ -1632,7 +1649,7 @@ <1 RK_PC1 1 &pcfg_pull_up_8ma>; }; - sdmmc1_gpio: sdmmc1-gpio { + sdmmc1_pins: sdmmc1-pins { rockchip,pins = <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up_4ma>, @@ -1826,7 +1843,7 @@ tsadc_int: tsadc-int { rockchip,pins = <2 RK_PB5 2 &pcfg_pull_none>; }; - tsadc_gpio: tsadc-gpio { + tsadc_pin: tsadc-pin { rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; }; };
Sync the rk3328 DTs and associated bits from 5.14-rc1. Signed-off-by: Peter Robinson <pbrobinson@gmail.com> --- arch/arm/dts/rk3328-evb.dts | 23 +- arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi | 2 +- arch/arm/dts/rk3328-nanopi-r2s.dts | 51 ++- arch/arm/dts/rk3328-roc-cc-u-boot.dtsi | 2 +- arch/arm/dts/rk3328-roc-cc.dts | 41 +- arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi | 4 +- arch/arm/dts/rk3328-rock-pi-e.dts | 439 +++++++++++++-------- arch/arm/dts/rk3328-rock64-u-boot.dtsi | 2 +- arch/arm/dts/rk3328-rock64.dts | 72 ++-- arch/arm/dts/rk3328.dtsi | 109 ++--- 10 files changed, 487 insertions(+), 258 deletions(-)