xref: /linux/arch/arm64/boot/dts/ti/k3-am654-pcie-usb2.dtso (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
132b366a5SRoger Quadros// SPDX-License-Identifier: GPL-2.0-only OR MIT
232b366a5SRoger Quadros/**
332b366a5SRoger Quadros * DT overlay for SERDES personality card: 2lane PCIe + USB2.0 Host on AM654 EVM
432b366a5SRoger Quadros *
532b366a5SRoger Quadros * Copyright (C) 2018-2024 Texas Instruments Incorporated - https://www.ti.com/
632b366a5SRoger Quadros */
732b366a5SRoger Quadros
832b366a5SRoger Quadros/dts-v1/;
932b366a5SRoger Quadros/plugin/;
1032b366a5SRoger Quadros#include <dt-bindings/gpio/gpio.h>
1132b366a5SRoger Quadros#include <dt-bindings/phy/phy.h>
1232b366a5SRoger Quadros#include <dt-bindings/phy/phy-am654-serdes.h>
1332b366a5SRoger Quadros#include "k3-pinctrl.h"
1432b366a5SRoger Quadros
1532b366a5SRoger Quadros&serdes0 {
1632b366a5SRoger Quadros	assigned-clocks = <&k3_clks 153 4>,
1732b366a5SRoger Quadros			  <&serdes0 AM654_SERDES_CMU_REFCLK>,
1832b366a5SRoger Quadros			  <&serdes0 AM654_SERDES_RO_REFCLK>;
1932b366a5SRoger Quadros	assigned-clock-parents = <&k3_clks 153 8>,
2032b366a5SRoger Quadros				 <&k3_clks 153 4>,
2132b366a5SRoger Quadros				 <&k3_clks 153 4>;
2232b366a5SRoger Quadros	status = "okay";
2332b366a5SRoger Quadros};
2432b366a5SRoger Quadros
2532b366a5SRoger Quadros&serdes1 {
2632b366a5SRoger Quadros	assigned-clocks = <&serdes1 AM654_SERDES_CMU_REFCLK>;
2732b366a5SRoger Quadros	assigned-clock-parents = <&serdes0 AM654_SERDES_RO_REFCLK>;
2832b366a5SRoger Quadros	status = "okay";
2932b366a5SRoger Quadros};
3032b366a5SRoger Quadros
3132b366a5SRoger Quadros&pcie0_rc {
3232b366a5SRoger Quadros	num-lanes = <2>;
3332b366a5SRoger Quadros	phys = <&serdes0 PHY_TYPE_PCIE 1>, <&serdes1 PHY_TYPE_PCIE 1>;
3432b366a5SRoger Quadros	phy-names = "pcie-phy0", "pcie-phy1";
3532b366a5SRoger Quadros	reset-gpios = <&pca9555 5 GPIO_ACTIVE_HIGH>;
3632b366a5SRoger Quadros	status = "okay";
3732b366a5SRoger Quadros};
3832b366a5SRoger Quadros
3932b366a5SRoger Quadros&main_pmx0 {
4032b366a5SRoger Quadros       usb0_pins_default: usb0-default-pins {
4132b366a5SRoger Quadros		pinctrl-single,pins = <
4232b366a5SRoger Quadros			AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) USB0_DRVVBUS */
4332b366a5SRoger Quadros		>;
4432b366a5SRoger Quadros	};
4532b366a5SRoger Quadros};
4632b366a5SRoger Quadros
4732b366a5SRoger Quadros&dwc3_0 {
4832b366a5SRoger Quadros	status = "okay";
49*df62b42bSBryan Brattlof	bootph-all;
5032b366a5SRoger Quadros};
5132b366a5SRoger Quadros
5232b366a5SRoger Quadros&usb0_phy {
5332b366a5SRoger Quadros	status = "okay";
5432b366a5SRoger Quadros};
5532b366a5SRoger Quadros
5632b366a5SRoger Quadros&usb0 {
5732b366a5SRoger Quadros	pinctrl-names = "default";
5832b366a5SRoger Quadros	pinctrl-0 = <&usb0_pins_default>;
5932b366a5SRoger Quadros	dr_mode = "host";
6032b366a5SRoger Quadros};
61