1// SPDX-License-Identifier: GPL-2.0-only OR MIT
2/**
3 * DT overlay for SERDES personality card: 2lane PCIe + USB2.0 Host on AM654 EVM
4 *
5 * Copyright (C) 2018-2024 Texas Instruments Incorporated - https://www.ti.com/
6 */
7
8/dts-v1/;
9/plugin/;
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/phy/phy.h>
12#include <dt-bindings/phy/phy-am654-serdes.h>
13#include "k3-pinctrl.h"
14
15&serdes0 {
16	assigned-clocks = <&k3_clks 153 4>,
17			  <&serdes0 AM654_SERDES_CMU_REFCLK>,
18			  <&serdes0 AM654_SERDES_RO_REFCLK>;
19	assigned-clock-parents = <&k3_clks 153 8>,
20				 <&k3_clks 153 4>,
21				 <&k3_clks 153 4>;
22	status = "okay";
23};
24
25&serdes1 {
26	assigned-clocks = <&serdes1 AM654_SERDES_CMU_REFCLK>;
27	assigned-clock-parents = <&serdes0 AM654_SERDES_RO_REFCLK>;
28	status = "okay";
29};
30
31&pcie0_rc {
32	num-lanes = <2>;
33	phys = <&serdes0 PHY_TYPE_PCIE 1>, <&serdes1 PHY_TYPE_PCIE 1>;
34	phy-names = "pcie-phy0", "pcie-phy1";
35	reset-gpios = <&pca9555 5 GPIO_ACTIVE_HIGH>;
36	status = "okay";
37};
38
39&main_pmx0 {
40       usb0_pins_default: usb0-default-pins {
41		pinctrl-single,pins = <
42			AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) USB0_DRVVBUS */
43		>;
44	};
45};
46
47&dwc3_0 {
48	status = "okay";
49};
50
51&usb0_phy {
52	status = "okay";
53};
54
55&usb0 {
56	pinctrl-names = "default";
57	pinctrl-0 = <&usb0_pins_default>;
58	dr_mode = "host";
59};
60