1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*c66ec88fSEmmanuel Vadot/* 3*c66ec88fSEmmanuel Vadot * Copyright (c) 2019 BayLibre, SAS 4*c66ec88fSEmmanuel Vadot * Author: Neil Armstrong <narmstrong@baylibre.com> 5*c66ec88fSEmmanuel Vadot * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com> 6*c66ec88fSEmmanuel Vadot */ 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadot/dts-v1/; 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel Vadot#include "meson-g12b-a311d.dtsi" 11*c66ec88fSEmmanuel Vadot#include "meson-khadas-vim3.dtsi" 12*c66ec88fSEmmanuel Vadot#include "meson-g12b-khadas-vim3.dtsi" 13*c66ec88fSEmmanuel Vadot 14*c66ec88fSEmmanuel Vadot/ { 15*c66ec88fSEmmanuel Vadot compatible = "khadas,vim3", "amlogic,a311d", "amlogic,g12b"; 16*c66ec88fSEmmanuel Vadot}; 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel Vadot/* 19*c66ec88fSEmmanuel Vadot * The VIM3 on-board MCU can mux the PCIe/USB3.0 shared differential 20*c66ec88fSEmmanuel Vadot * lines using a FUSB340TMX USB 3.1 SuperSpeed Data Switch between 21*c66ec88fSEmmanuel Vadot * an USB3.0 Type A connector and a M.2 Key M slot. 22*c66ec88fSEmmanuel Vadot * The PHY driving these differential lines is shared between 23*c66ec88fSEmmanuel Vadot * the USB3.0 controller and the PCIe Controller, thus only 24*c66ec88fSEmmanuel Vadot * a single controller can use it. 25*c66ec88fSEmmanuel Vadot * If the MCU is configured to mux the PCIe/USB3.0 differential lines 26*c66ec88fSEmmanuel Vadot * to the M.2 Key M slot, uncomment the following block to disable 27*c66ec88fSEmmanuel Vadot * USB3.0 from the USB Complex and enable the PCIe controller. 28*c66ec88fSEmmanuel Vadot * The End User is not expected to uncomment the following except for 29*c66ec88fSEmmanuel Vadot * testing purposes, but instead rely on the firmware/bootloader to 30*c66ec88fSEmmanuel Vadot * update these nodes accordingly if PCIe mode is selected by the MCU. 31*c66ec88fSEmmanuel Vadot */ 32*c66ec88fSEmmanuel Vadot/* 33*c66ec88fSEmmanuel Vadot&pcie { 34*c66ec88fSEmmanuel Vadot status = "okay"; 35*c66ec88fSEmmanuel Vadot}; 36*c66ec88fSEmmanuel Vadot 37*c66ec88fSEmmanuel Vadot&usb { 38*c66ec88fSEmmanuel Vadot phys = <&usb2_phy0>, <&usb2_phy1>; 39*c66ec88fSEmmanuel Vadot phy-names = "usb2-phy0", "usb2-phy1"; 40*c66ec88fSEmmanuel Vadot}; 41*c66ec88fSEmmanuel Vadot */ 42