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