From c58ccf6f9c2838e683a79c3da6a3343e0cccea56 Mon Sep 17 00:00:00 2001 From: zhangpeng Date: Thu, 9 Oct 2025 13:05:58 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AEPCIE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rk3588/.dr4-rk3588.dtb.cmd | 2 +- rk3588/.dr4-rk3588.dtb.d.pre.tmp | 2 +- rk3588/.dr4-rk3588.dtb.dts.tmp | 257 +++++++++---------------------- rk3588/dr4-rk3588.dtb | Bin 265875 -> 263441 bytes rk3588/dr4-rk3588.dts | 5 +- rk3588/zkzg-pcie.dtsi | 62 ++++++++ 6 files changed, 142 insertions(+), 186 deletions(-) create mode 100755 rk3588/zkzg-pcie.dtsi diff --git a/rk3588/.dr4-rk3588.dtb.cmd b/rk3588/.dr4-rk3588.dtb.cmd index 192ab4e..7e0405c 100644 --- a/rk3588/.dr4-rk3588.dtb.cmd +++ b/rk3588/.dr4-rk3588.dtb.cmd @@ -34,9 +34,9 @@ deps_arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dtb := \ arch/arm64/boot/dts/rockchip/rk3588/../rk3588-linux.dtsi \ arch/arm64/boot/dts/rockchip/rk3588/rp-tp-i2c6-gt911.dtsi \ arch/arm64/boot/dts/rockchip/rk3588/rpdzkj_config.dtsi \ - arch/arm64/boot/dts/rockchip/rk3588/rp-usb-typec-rk3588.dtsi \ arch/arm64/boot/dts/rockchip/rk3588/rp-eth-gmac0.dtsi \ arch/arm64/boot/dts/rockchip/rk3588/rp-eth-gmac1.dtsi \ + arch/arm64/boot/dts/rockchip/rk3588/zkzg-pcie.dtsi \ arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-hdmi1.dtsi \ arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dtb: $(deps_arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dtb) diff --git a/rk3588/.dr4-rk3588.dtb.d.pre.tmp b/rk3588/.dr4-rk3588.dtb.d.pre.tmp index 2b187bf..075781f 100644 --- a/rk3588/.dr4-rk3588.dtb.d.pre.tmp +++ b/rk3588/.dr4-rk3588.dtb.d.pre.tmp @@ -30,7 +30,7 @@ dr4-rk3588.o: arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts \ arch/arm64/boot/dts/rockchip/rk3588/../rk3588-linux.dtsi \ arch/arm64/boot/dts/rockchip/rk3588/rp-tp-i2c6-gt911.dtsi \ arch/arm64/boot/dts/rockchip/rk3588/rpdzkj_config.dtsi \ - arch/arm64/boot/dts/rockchip/rk3588/rp-usb-typec-rk3588.dtsi \ arch/arm64/boot/dts/rockchip/rk3588/rp-eth-gmac0.dtsi \ arch/arm64/boot/dts/rockchip/rk3588/rp-eth-gmac1.dtsi \ + arch/arm64/boot/dts/rockchip/rk3588/zkzg-pcie.dtsi \ arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-hdmi1.dtsi diff --git a/rk3588/.dr4-rk3588.dtb.dts.tmp b/rk3588/.dr4-rk3588.dtb.dts.tmp index 1501b34..cbf11f1 100644 --- a/rk3588/.dr4-rk3588.dtb.dts.tmp +++ b/rk3588/.dr4-rk3588.dtb.dts.tmp @@ -1,6 +1,6 @@ -# 0 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" -# 0 "" -# 0 "" +# 1 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" +# 1 "" +# 1 "" # 1 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" @@ -10674,7 +10674,7 @@ }; }; }; -# 6888 "arch/arm64/boot/dts/rockchip/rk3588/../rk3588s.dtsi" 2 +# 6887 "arch/arm64/boot/dts/rockchip/rk3588/../rk3588s.dtsi" 2 # 8 "arch/arm64/boot/dts/rockchip/rk3588/../rk3588.dtsi" 2 # 1 "arch/arm64/boot/dts/rockchip/rk3588/../rk3588-vccio3-pinctrl.dtsi" 1 @@ -14557,182 +14557,7 @@ # 9 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" 2 -# 1 "arch/arm64/boot/dts/rockchip/rk3588/rp-usb-typec-rk3588.dtsi" 1 -/ { - vbus5v0_typec: vbus5v0-typec { - compatible = "regulator-fixed"; - regulator-name = "vbus5v0_typec"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - enable-active-high; - gpio = <&gpio1 2 0>; - vin-supply = <&vcc5v0_usb>; - pinctrl-names = "default"; - pinctrl-0 = <&typec5v_pwren>; - }; - - vcc5v0_host: vcc5v0-host { - 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 = <&gpio4 8 0>; - vin-supply = <&vcc5v0_usb>; - pinctrl-names = "default"; - pinctrl-0 = <&vcc5v0_host_en>; - }; -}; - - - -&i2c4 { - status = "okay"; - pinctrl-names = "default"; - pinctrl-0 = <&i2c4m1_xfer>; - - usbc0: fusb302@22 { - compatible = "fcs,fusb302"; - reg = <0x22>; - interrupt-parent = <&gpio0>; - interrupts = <27 8>; - pinctrl-names = "default"; - pinctrl-0 = <&usbc0_int>; - vbus-supply = <&vbus5v0_typec>; - status = "okay"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - usbc0_role_sw: endpoint@0 { - remote-endpoint = <&dwc3_0_role_switch>; - }; - }; - }; - - usb_con: connector { - compatible = "usb-c-connector"; - label = "USB-C"; - data-role = "dual"; - power-role = "dual"; - try-power-role = "sink"; - op-sink-microwatt = <1000000>; - sink-pdos = - <(((0) << 30) | ((1 << 26)) | ((((5000) / 50) & 0x3ff) << 10) | ((((1000) / 10) & 0x3ff) << 0))>; - source-pdos = - <(((0) << 30) | ((1 << 26)) | ((((5000) / 50) & 0x3ff) << 10) | ((((3000) / 10) & 0x3ff) << 0))>; - - altmodes { - #address-cells = <1>; - #size-cells = <0>; - - altmode@0 { - reg = <0>; - svid = <0xff01>; - vdo = <0xffffffff>; - }; - }; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - usbc0_orien_sw: endpoint { - remote-endpoint = <&usbdp_phy0_orientation_switch>; - }; - }; - - port@1 { - reg = <1>; - dp_altmode_mux: endpoint { - remote-endpoint = <&usbdp_phy0_dp_altmode_mux>; - }; - }; - }; - }; - }; -}; - - -&usbdp_phy0 { - orientation-switch; - svid = <0xff01>; - sbu1-dc-gpios = <&gpio3 28 0>; - sbu2-dc-gpios = <&gpio3 29 0>; - - port { - #address-cells = <1>; - #size-cells = <0>; - usbdp_phy0_orientation_switch: endpoint@0 { - reg = <0>; - remote-endpoint = <&usbc0_orien_sw>; - }; - - usbdp_phy0_dp_altmode_mux: endpoint@1 { - reg = <1>; - remote-endpoint = <&dp_altmode_mux>; - }; - }; -}; - - -&usbdrd_dwc3_0 { - dr_mode = "host"; - usb-role-switch; - port { - #address-cells = <1>; - #size-cells = <0>; - dwc3_0_role_switch: endpoint@0 { - reg = <0>; - remote-endpoint = <&usbc0_role_sw>; - }; - }; -}; - -&u2phy1_otg { - phy-supply = <&vcc5v0_host>; -}; - - -&combphy2_psu { - status = "okay"; -}; - -&usbhost3_0 { - status = "okay"; -}; - -&usbhost_dwc3_0 { - dr_mode = "host"; - status = "okay"; -}; - -&pinctrl { - usb-typec { - usbc0_int: usbc0-int { - rockchip,pins = <0 27 0 &pcfg_pull_up>; - }; - - typec5v_pwren: typec5v-pwren { - rockchip,pins = <1 2 0 &pcfg_pull_none>; - }; - - }; - usb { - vcc5v0_host_en: vcc5v0-host-en { - rockchip,pins = <4 3 0 &pcfg_pull_none>; - }; - }; -}; -# 12 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" 2 @@ -14808,7 +14633,73 @@ status = "okay"; }; # 18 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" 2 -# 64 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" + + +# 1 "arch/arm64/boot/dts/rockchip/rk3588/zkzg-pcie.dtsi" 1 +/ { + vcc3v3_pcie30: vcc3v3-pcie30 { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_pcie30"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + gpios = <&gpio3 19 0>; + startup-delay-us = <5000>; + vin-supply = <&vcc12v_dcin>; + }; +}; + +&combphy0_ps { + status = "okay"; +}; + +&combphy1_ps { + status = "okay"; +}; + +&combphy2_psu { + status = "okay"; +}; + +&pcie2x1l0 { + phys = <&combphy1_ps 2>; + reset-gpios = <&gpio4 5 0>; + vpcie3v3-supply = <&vcc3v3_pcie30>; + status = "okay"; +}; + +&pcie2x1l1 { + phys = <&combphy2_psu 2>; + reset-gpios = <&gpio4 2 0>; + vpcie3v3-supply = <&vcc3v3_pcie30>; + status = "okay"; +}; + +&pcie2x1l2 { + reset-gpios = <&gpio4 17 0>; + vpcie3v3-supply = <&vcc3v3_pcie30>; + status = "okay"; +}; + +&pcie30phy { + rockchip,pcie30-phymode = <0>; + status = "okay"; +}; + +&pcie3x2 { + reset-gpios = <&gpio4 8 0>; + vpcie3v3-supply = <&vcc3v3_pcie30>; + status = "okay"; +}; + +&pcie3x4 { + num-lanes = <2>; + reset-gpios = <&gpio4 14 0>; + vpcie3v3-supply = <&vcc3v3_pcie30>; + status = "okay"; +}; +# 21 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" 2 +# 67 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" # 1 "arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-hdmi1.dtsi" 1 &hdmi1 { status = "okay"; @@ -14838,8 +14729,8 @@ status = "okay"; connect = <&vp1_out_hdmi1>; }; -# 65 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" 2 -# 90 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" +# 68 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" 2 +# 93 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" / { model = "dr4-rk3588"; @@ -14875,7 +14766,7 @@ status = "okay"; compatible = "rp_power"; rp_not_deep_sleep = <1>; -# 142 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" +# 145 "arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts" usb-host-power { gpio_num = <&gpio2 17 0>; gpio_function = <4>; diff --git a/rk3588/dr4-rk3588.dtb b/rk3588/dr4-rk3588.dtb index c0738e4b505d8d88cde72aa8cb44669acbd31f2e..c32a93223628bed75c0676e437194c2c0aa5b1a8 100644 GIT binary patch delta 58894 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�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 delta 59904 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%0Dea^^x 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 diff --git a/rk3588/dr4-rk3588.dts b/rk3588/dr4-rk3588.dts index cf6af10..334d7ad 100755 --- a/rk3588/dr4-rk3588.dts +++ b/rk3588/dr4-rk3588.dts @@ -8,7 +8,7 @@ #include "rpdzkj_config.dtsi" /* usb */ -#include "rp-usb-typec-rk3588.dtsi" +// #include "rp-usb-typec-rk3588.dtsi" // #include "rp-usb-host.dtsi" /* ethernet */ @@ -16,6 +16,9 @@ #include "rp-eth-gmac0.dtsi" #include "rp-eth-gmac1.dtsi" +/* pcie */ +#include "zkzg-pcie.dtsi" + /* pcie */ // #include "rp-pcie-power-rk3588.dtsi" // #include "rp-pcie3.dtsi" //need comment when use board of make it youself,and remove the pcie function diff --git a/rk3588/zkzg-pcie.dtsi b/rk3588/zkzg-pcie.dtsi new file mode 100755 index 0000000..b707bf1 --- /dev/null +++ b/rk3588/zkzg-pcie.dtsi @@ -0,0 +1,62 @@ +/ { + vcc3v3_pcie30: vcc3v3-pcie30 { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_pcie30"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>; + startup-delay-us = <5000>; + vin-supply = <&vcc12v_dcin>; + }; +}; + +&combphy0_ps { + status = "okay"; +}; + +&combphy1_ps { + status = "okay"; +}; + +&combphy2_psu { + status = "okay"; +}; + +&pcie2x1l0 { + phys = <&combphy1_ps PHY_TYPE_PCIE>; + reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie30>; + status = "okay"; +}; + +&pcie2x1l1 { + phys = <&combphy2_psu PHY_TYPE_PCIE>; + reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie30>; + status = "okay"; +}; + +&pcie2x1l2 { + reset-gpios = <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie30>; + status = "okay"; +}; + +&pcie30phy { + rockchip,pcie30-phymode = ; + status = "okay"; +}; + +&pcie3x2 { + reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie30>; + status = "okay"; +}; + +&pcie3x4 { + num-lanes = <2>; + reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie30>; + status = "okay"; +}; \ No newline at end of file