| // SPDX-License-Identifier: GPL-2.0-only OR MIT |
| /* |
| * DT overlay for PCIe support (limits USB to 2.0/high-speed) |
| * |
| * Copyright (C) 2021 PHYTEC America, LLC - https://www.phytec.com |
| * Author: Matt McKee <mmckee@phytec.com> |
| * |
| * Copyright (C) 2024 PHYTEC America, LLC - https://www.phytec.com |
| * Author: Nathan Morrisson <nmorrisson@phytec.com> |
| */ |
| |
| /dts-v1/; |
| /plugin/; |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/phy/phy.h> |
| #include <dt-bindings/phy/phy-cadence.h> |
| |
| #include "k3-pinctrl.h" |
| #include "k3-serdes.h" |
| |
| &{/} { |
| pcie_refclk0: pcie-refclk0 { |
| compatible = "gpio-gate-clock"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pcie_usb_sel_pins_default>; |
| clocks = <&serdes_refclk>; |
| #clock-cells = <0>; |
| enable-gpios = <&main_gpio1 7 GPIO_ACTIVE_HIGH>; |
| }; |
| }; |
| |
| &main_pmx0 { |
| pcie_usb_sel_pins_default: pcie-usb-sel-default-pins { |
| pinctrl-single,pins = < |
| AM64X_IOPAD(0x017c, PIN_OUTPUT, 7) /* (T1) PRG0_PRU0_GPO7.GPIO1_7 */ |
| >; |
| }; |
| |
| pcie_pins_default: pcie-default-pins { |
| pinctrl-single,pins = < |
| AM64X_IOPAD(0x0098, PIN_OUTPUT, 7) /* (W19) GPMC0_WAIT0.GPIO0_37 */ |
| >; |
| }; |
| }; |
| |
| &pcie0_rc { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pcie_pins_default>; |
| reset-gpios = <&main_gpio0 37 GPIO_ACTIVE_HIGH>; |
| phys = <&serdes0_pcie_usb_link>; |
| phy-names = "pcie-phy"; |
| num-lanes = <1>; |
| status = "okay"; |
| }; |
| |
| &serdes0_pcie_usb_link { |
| cdns,phy-type = <PHY_TYPE_PCIE>; |
| }; |
| |
| &serdes_ln_ctrl { |
| idle-states = <AM64_SERDES0_LANE0_PCIE0>; |
| }; |
| |
| &serdes0 { |
| assigned-clock-parents = <&pcie_refclk0>, <&pcie_refclk0>, <&pcie_refclk0>; |
| }; |
| |
| &serdes_refclk { |
| clock-frequency = <100000000>; |
| }; |
| |
| /* |
| * Assign pcie_refclk0 to serdes_wiz0 as ext_ref_clk. |
| * This makes sure that the clock generator gets enabled at the right time. |
| */ |
| &serdes_wiz0 { |
| clocks = <&k3_clks 162 0>, <&k3_clks 162 1>, <&pcie_refclk0>; |
| }; |
| |
| &usbss0 { |
| ti,usb2-only; |
| }; |
| |
| &usb0 { |
| maximum-speed = "high-speed"; |
| }; |