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