18c2ecf20Sopenharmony_ciNVIDIA Tegra PCIe controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired properties: 48c2ecf20Sopenharmony_ci- compatible: Must be: 58c2ecf20Sopenharmony_ci - "nvidia,tegra20-pcie": for Tegra20 68c2ecf20Sopenharmony_ci - "nvidia,tegra30-pcie": for Tegra30 78c2ecf20Sopenharmony_ci - "nvidia,tegra124-pcie": for Tegra124 and Tegra132 88c2ecf20Sopenharmony_ci - "nvidia,tegra210-pcie": for Tegra210 98c2ecf20Sopenharmony_ci - "nvidia,tegra186-pcie": for Tegra186 108c2ecf20Sopenharmony_ci- power-domains: To ungate power partition by BPMP powergate driver. Must 118c2ecf20Sopenharmony_ci contain BPMP phandle and PCIe power partition ID. This is required only 128c2ecf20Sopenharmony_ci for Tegra186. 138c2ecf20Sopenharmony_ci- device_type: Must be "pci" 148c2ecf20Sopenharmony_ci- reg: A list of physical base address and length for each set of controller 158c2ecf20Sopenharmony_ci registers. Must contain an entry for each entry in the reg-names property. 168c2ecf20Sopenharmony_ci- reg-names: Must include the following entries: 178c2ecf20Sopenharmony_ci "pads": PADS registers 188c2ecf20Sopenharmony_ci "afi": AFI registers 198c2ecf20Sopenharmony_ci "cs": configuration space region 208c2ecf20Sopenharmony_ci- interrupts: A list of interrupt outputs of the controller. Must contain an 218c2ecf20Sopenharmony_ci entry for each entry in the interrupt-names property. 228c2ecf20Sopenharmony_ci- interrupt-names: Must include the following entries: 238c2ecf20Sopenharmony_ci "intr": The Tegra interrupt that is asserted for controller interrupts 248c2ecf20Sopenharmony_ci "msi": The Tegra interrupt that is asserted when an MSI is received 258c2ecf20Sopenharmony_ci- bus-range: Range of bus numbers associated with this controller 268c2ecf20Sopenharmony_ci- #address-cells: Address representation for root ports (must be 3) 278c2ecf20Sopenharmony_ci - cell 0 specifies the bus and device numbers of the root port: 288c2ecf20Sopenharmony_ci [23:16]: bus number 298c2ecf20Sopenharmony_ci [15:11]: device number 308c2ecf20Sopenharmony_ci - cell 1 denotes the upper 32 address bits and should be 0 318c2ecf20Sopenharmony_ci - cell 2 contains the lower 32 address bits and is used to translate to the 328c2ecf20Sopenharmony_ci CPU address space 338c2ecf20Sopenharmony_ci- #size-cells: Size representation for root ports (must be 2) 348c2ecf20Sopenharmony_ci- ranges: Describes the translation of addresses for root ports and standard 358c2ecf20Sopenharmony_ci PCI regions. The entries must be 6 cells each, where the first three cells 368c2ecf20Sopenharmony_ci correspond to the address as described for the #address-cells property 378c2ecf20Sopenharmony_ci above, the fourth cell is the physical CPU address to translate to and the 388c2ecf20Sopenharmony_ci fifth and six cells are as described for the #size-cells property above. 398c2ecf20Sopenharmony_ci - The first two entries are expected to translate the addresses for the root 408c2ecf20Sopenharmony_ci port registers, which are referenced by the assigned-addresses property of 418c2ecf20Sopenharmony_ci the root port nodes (see below). 428c2ecf20Sopenharmony_ci - The remaining entries setup the mapping for the standard I/O, memory and 438c2ecf20Sopenharmony_ci prefetchable PCI regions. The first cell determines the type of region 448c2ecf20Sopenharmony_ci that is setup: 458c2ecf20Sopenharmony_ci - 0x81000000: I/O memory region 468c2ecf20Sopenharmony_ci - 0x82000000: non-prefetchable memory region 478c2ecf20Sopenharmony_ci - 0xc2000000: prefetchable memory region 488c2ecf20Sopenharmony_ci Please refer to the standard PCI bus binding document for a more detailed 498c2ecf20Sopenharmony_ci explanation. 508c2ecf20Sopenharmony_ci- #interrupt-cells: Size representation for interrupts (must be 1) 518c2ecf20Sopenharmony_ci- interrupt-map-mask and interrupt-map: Standard PCI IRQ mapping properties 528c2ecf20Sopenharmony_ci Please refer to the standard PCI bus binding document for a more detailed 538c2ecf20Sopenharmony_ci explanation. 548c2ecf20Sopenharmony_ci- clocks: Must contain an entry for each entry in clock-names. 558c2ecf20Sopenharmony_ci See ../clocks/clock-bindings.txt for details. 568c2ecf20Sopenharmony_ci- clock-names: Must include the following entries: 578c2ecf20Sopenharmony_ci - pex 588c2ecf20Sopenharmony_ci - afi 598c2ecf20Sopenharmony_ci - pll_e 608c2ecf20Sopenharmony_ci - cml (not required for Tegra20) 618c2ecf20Sopenharmony_ci- resets: Must contain an entry for each entry in reset-names. 628c2ecf20Sopenharmony_ci See ../reset/reset.txt for details. 638c2ecf20Sopenharmony_ci- reset-names: Must include the following entries: 648c2ecf20Sopenharmony_ci - pex 658c2ecf20Sopenharmony_ci - afi 668c2ecf20Sopenharmony_ci - pcie_x 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ciOptional properties: 698c2ecf20Sopenharmony_ci- pinctrl-names: A list of pinctrl state names. Must contain the following 708c2ecf20Sopenharmony_ci entries: 718c2ecf20Sopenharmony_ci - "default": active state, puts PCIe I/O out of deep power down state 728c2ecf20Sopenharmony_ci - "idle": puts PCIe I/O into deep power down state 738c2ecf20Sopenharmony_ci- pinctrl-0: phandle for the default/active state of pin configurations. 748c2ecf20Sopenharmony_ci- pinctrl-1: phandle for the idle state of pin configurations. 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ciRequired properties on Tegra124 and later (deprecated): 778c2ecf20Sopenharmony_ci- phys: Must contain an entry for each entry in phy-names. 788c2ecf20Sopenharmony_ci- phy-names: Must include the following entries: 798c2ecf20Sopenharmony_ci - pcie 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ciThese properties are deprecated in favour of per-lane PHYs define in each of 828c2ecf20Sopenharmony_cithe root ports (see below). 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ciPower supplies for Tegra20: 858c2ecf20Sopenharmony_ci- avdd-pex-supply: Power supply for analog PCIe logic. Must supply 1.05 V. 868c2ecf20Sopenharmony_ci- vdd-pex-supply: Power supply for digital PCIe I/O. Must supply 1.05 V. 878c2ecf20Sopenharmony_ci- avdd-pex-pll-supply: Power supply for dedicated (internal) PCIe PLL. Must 888c2ecf20Sopenharmony_ci supply 1.05 V. 898c2ecf20Sopenharmony_ci- avdd-plle-supply: Power supply for PLLE, which is shared with SATA. Must 908c2ecf20Sopenharmony_ci supply 1.05 V. 918c2ecf20Sopenharmony_ci- vddio-pex-clk-supply: Power supply for PCIe clock. Must supply 3.3 V. 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ciPower supplies for Tegra30: 948c2ecf20Sopenharmony_ci- Required: 958c2ecf20Sopenharmony_ci - avdd-pex-pll-supply: Power supply for dedicated (internal) PCIe PLL. Must 968c2ecf20Sopenharmony_ci supply 1.05 V. 978c2ecf20Sopenharmony_ci - avdd-plle-supply: Power supply for PLLE, which is shared with SATA. Must 988c2ecf20Sopenharmony_ci supply 1.05 V. 998c2ecf20Sopenharmony_ci - vddio-pex-ctl-supply: Power supply for PCIe control I/O partition. Must 1008c2ecf20Sopenharmony_ci supply 1.8 V. 1018c2ecf20Sopenharmony_ci - hvdd-pex-supply: High-voltage supply for PCIe I/O and PCIe output clocks. 1028c2ecf20Sopenharmony_ci Must supply 3.3 V. 1038c2ecf20Sopenharmony_ci- Optional: 1048c2ecf20Sopenharmony_ci - If lanes 0 to 3 are used: 1058c2ecf20Sopenharmony_ci - avdd-pexa-supply: Power supply for analog PCIe logic. Must supply 1.05 V. 1068c2ecf20Sopenharmony_ci - vdd-pexa-supply: Power supply for digital PCIe I/O. Must supply 1.05 V. 1078c2ecf20Sopenharmony_ci - If lanes 4 or 5 are used: 1088c2ecf20Sopenharmony_ci - avdd-pexb-supply: Power supply for analog PCIe logic. Must supply 1.05 V. 1098c2ecf20Sopenharmony_ci - vdd-pexb-supply: Power supply for digital PCIe I/O. Must supply 1.05 V. 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ciPower supplies for Tegra124: 1128c2ecf20Sopenharmony_ci- Required: 1138c2ecf20Sopenharmony_ci - avddio-pex-supply: Power supply for analog PCIe logic. Must supply 1.05 V. 1148c2ecf20Sopenharmony_ci - dvddio-pex-supply: Power supply for digital PCIe I/O. Must supply 1.05 V. 1158c2ecf20Sopenharmony_ci - hvdd-pex-supply: High-voltage supply for PCIe I/O and PCIe output clocks. 1168c2ecf20Sopenharmony_ci Must supply 3.3 V. 1178c2ecf20Sopenharmony_ci - vddio-pex-ctl-supply: Power supply for PCIe control I/O partition. Must 1188c2ecf20Sopenharmony_ci supply 2.8-3.3 V. 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ciPower supplies for Tegra210: 1218c2ecf20Sopenharmony_ci- Required: 1228c2ecf20Sopenharmony_ci - hvddio-pex-supply: High-voltage supply for PCIe I/O and PCIe output 1238c2ecf20Sopenharmony_ci clocks. Must supply 1.8 V. 1248c2ecf20Sopenharmony_ci - dvddio-pex-supply: Power supply for digital PCIe I/O. Must supply 1.05 V. 1258c2ecf20Sopenharmony_ci - vddio-pex-ctl-supply: Power supply for PCIe control I/O partition. Must 1268c2ecf20Sopenharmony_ci supply 1.8 V. 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ciPower supplies for Tegra186: 1298c2ecf20Sopenharmony_ci- Required: 1308c2ecf20Sopenharmony_ci - dvdd-pex-supply: Power supply for digital PCIe I/O. Must supply 1.05 V. 1318c2ecf20Sopenharmony_ci - hvdd-pex-pll-supply: High-voltage supply for PLLE (shared with USB3). Must 1328c2ecf20Sopenharmony_ci supply 1.8 V. 1338c2ecf20Sopenharmony_ci - hvdd-pex-supply: High-voltage supply for PCIe I/O and PCIe output clocks. 1348c2ecf20Sopenharmony_ci Must supply 1.8 V. 1358c2ecf20Sopenharmony_ci - vddio-pexctl-aud-supply: Power supply for PCIe side band signals. Must 1368c2ecf20Sopenharmony_ci supply 1.8 V. 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ciRoot ports are defined as subnodes of the PCIe controller node. 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ciRequired properties: 1418c2ecf20Sopenharmony_ci- device_type: Must be "pci" 1428c2ecf20Sopenharmony_ci- assigned-addresses: Address and size of the port configuration registers 1438c2ecf20Sopenharmony_ci- reg: PCI bus address of the root port 1448c2ecf20Sopenharmony_ci- #address-cells: Must be 3 1458c2ecf20Sopenharmony_ci- #size-cells: Must be 2 1468c2ecf20Sopenharmony_ci- ranges: Sub-ranges distributed from the PCIe controller node. An empty 1478c2ecf20Sopenharmony_ci property is sufficient. 1488c2ecf20Sopenharmony_ci- nvidia,num-lanes: Number of lanes to use for this port. Valid combinations 1498c2ecf20Sopenharmony_ci are: 1508c2ecf20Sopenharmony_ci - Root port 0 uses 4 lanes, root port 1 is unused. 1518c2ecf20Sopenharmony_ci - Both root ports use 2 lanes. 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ciRequired properties for Tegra124 and later: 1548c2ecf20Sopenharmony_ci- phys: Must contain an phandle to a PHY for each entry in phy-names. 1558c2ecf20Sopenharmony_ci- phy-names: Must include an entry for each active lane. Note that the number 1568c2ecf20Sopenharmony_ci of entries does not have to (though usually will) be equal to the specified 1578c2ecf20Sopenharmony_ci number of lanes in the nvidia,num-lanes property. Entries are of the form 1588c2ecf20Sopenharmony_ci "pcie-N": where N ranges from 0 to the value specified in nvidia,num-lanes. 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ciExamples: 1618c2ecf20Sopenharmony_ci========= 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ciTegra20: 1648c2ecf20Sopenharmony_ci-------- 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ciSoC DTSI: 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci pcie-controller@80003000 { 1698c2ecf20Sopenharmony_ci compatible = "nvidia,tegra20-pcie"; 1708c2ecf20Sopenharmony_ci device_type = "pci"; 1718c2ecf20Sopenharmony_ci reg = <0x80003000 0x00000800 /* PADS registers */ 1728c2ecf20Sopenharmony_ci 0x80003800 0x00000200 /* AFI registers */ 1738c2ecf20Sopenharmony_ci 0x90000000 0x10000000>; /* configuration space */ 1748c2ecf20Sopenharmony_ci reg-names = "pads", "afi", "cs"; 1758c2ecf20Sopenharmony_ci interrupts = <0 98 0x04 /* controller interrupt */ 1768c2ecf20Sopenharmony_ci 0 99 0x04>; /* MSI interrupt */ 1778c2ecf20Sopenharmony_ci interrupt-names = "intr", "msi"; 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 1808c2ecf20Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 1818c2ecf20Sopenharmony_ci interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ci bus-range = <0x00 0xff>; 1848c2ecf20Sopenharmony_ci #address-cells = <3>; 1858c2ecf20Sopenharmony_ci #size-cells = <2>; 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ci ranges = <0x82000000 0 0x80000000 0x80000000 0 0x00001000 /* port 0 registers */ 1888c2ecf20Sopenharmony_ci 0x82000000 0 0x80001000 0x80001000 0 0x00001000 /* port 1 registers */ 1898c2ecf20Sopenharmony_ci 0x81000000 0 0 0x82000000 0 0x00010000 /* downstream I/O */ 1908c2ecf20Sopenharmony_ci 0x82000000 0 0xa0000000 0xa0000000 0 0x10000000 /* non-prefetchable memory */ 1918c2ecf20Sopenharmony_ci 0xc2000000 0 0xb0000000 0xb0000000 0 0x10000000>; /* prefetchable memory */ 1928c2ecf20Sopenharmony_ci 1938c2ecf20Sopenharmony_ci clocks = <&tegra_car 70>, <&tegra_car 72>, <&tegra_car 118>; 1948c2ecf20Sopenharmony_ci clock-names = "pex", "afi", "pll_e"; 1958c2ecf20Sopenharmony_ci resets = <&tegra_car 70>, <&tegra_car 72>, <&tegra_car 74>; 1968c2ecf20Sopenharmony_ci reset-names = "pex", "afi", "pcie_x"; 1978c2ecf20Sopenharmony_ci status = "disabled"; 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci pci@1,0 { 2008c2ecf20Sopenharmony_ci device_type = "pci"; 2018c2ecf20Sopenharmony_ci assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>; 2028c2ecf20Sopenharmony_ci reg = <0x000800 0 0 0 0>; 2038c2ecf20Sopenharmony_ci status = "disabled"; 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ci #address-cells = <3>; 2068c2ecf20Sopenharmony_ci #size-cells = <2>; 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci ranges; 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci nvidia,num-lanes = <2>; 2118c2ecf20Sopenharmony_ci }; 2128c2ecf20Sopenharmony_ci 2138c2ecf20Sopenharmony_ci pci@2,0 { 2148c2ecf20Sopenharmony_ci device_type = "pci"; 2158c2ecf20Sopenharmony_ci assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>; 2168c2ecf20Sopenharmony_ci reg = <0x001000 0 0 0 0>; 2178c2ecf20Sopenharmony_ci status = "disabled"; 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci #address-cells = <3>; 2208c2ecf20Sopenharmony_ci #size-cells = <2>; 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ci ranges; 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ci nvidia,num-lanes = <2>; 2258c2ecf20Sopenharmony_ci }; 2268c2ecf20Sopenharmony_ci }; 2278c2ecf20Sopenharmony_ci 2288c2ecf20Sopenharmony_ciBoard DTS: 2298c2ecf20Sopenharmony_ci 2308c2ecf20Sopenharmony_ci pcie-controller@80003000 { 2318c2ecf20Sopenharmony_ci status = "okay"; 2328c2ecf20Sopenharmony_ci 2338c2ecf20Sopenharmony_ci vdd-supply = <&pci_vdd_reg>; 2348c2ecf20Sopenharmony_ci pex-clk-supply = <&pci_clk_reg>; 2358c2ecf20Sopenharmony_ci 2368c2ecf20Sopenharmony_ci /* root port 00:01.0 */ 2378c2ecf20Sopenharmony_ci pci@1,0 { 2388c2ecf20Sopenharmony_ci status = "okay"; 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci /* bridge 01:00.0 (optional) */ 2418c2ecf20Sopenharmony_ci pci@0,0 { 2428c2ecf20Sopenharmony_ci reg = <0x010000 0 0 0 0>; 2438c2ecf20Sopenharmony_ci 2448c2ecf20Sopenharmony_ci #address-cells = <3>; 2458c2ecf20Sopenharmony_ci #size-cells = <2>; 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ci device_type = "pci"; 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci /* endpoint 02:00.0 */ 2508c2ecf20Sopenharmony_ci pci@0,0 { 2518c2ecf20Sopenharmony_ci reg = <0x020000 0 0 0 0>; 2528c2ecf20Sopenharmony_ci }; 2538c2ecf20Sopenharmony_ci }; 2548c2ecf20Sopenharmony_ci }; 2558c2ecf20Sopenharmony_ci }; 2568c2ecf20Sopenharmony_ci 2578c2ecf20Sopenharmony_ciNote that devices on the PCI bus are dynamically discovered using PCI's bus 2588c2ecf20Sopenharmony_cienumeration and therefore don't need corresponding device nodes in DT. However 2598c2ecf20Sopenharmony_ciif a device on the PCI bus provides a non-probeable bus such as I2C or SPI, 2608c2ecf20Sopenharmony_cidevice nodes need to be added in order to allow the bus' children to be 2618c2ecf20Sopenharmony_ciinstantiated at the proper location in the operating system's device tree (as 2628c2ecf20Sopenharmony_ciillustrated by the optional nodes in the example above). 2638c2ecf20Sopenharmony_ci 2648c2ecf20Sopenharmony_ciTegra30: 2658c2ecf20Sopenharmony_ci-------- 2668c2ecf20Sopenharmony_ci 2678c2ecf20Sopenharmony_ciSoC DTSI: 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ci pcie-controller@3000 { 2708c2ecf20Sopenharmony_ci compatible = "nvidia,tegra30-pcie"; 2718c2ecf20Sopenharmony_ci device_type = "pci"; 2728c2ecf20Sopenharmony_ci reg = <0x00003000 0x00000800 /* PADS registers */ 2738c2ecf20Sopenharmony_ci 0x00003800 0x00000200 /* AFI registers */ 2748c2ecf20Sopenharmony_ci 0x10000000 0x10000000>; /* configuration space */ 2758c2ecf20Sopenharmony_ci reg-names = "pads", "afi", "cs"; 2768c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH /* controller interrupt */ 2778c2ecf20Sopenharmony_ci GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 2788c2ecf20Sopenharmony_ci interrupt-names = "intr", "msi"; 2798c2ecf20Sopenharmony_ci 2808c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 2818c2ecf20Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 2828c2ecf20Sopenharmony_ci interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 2838c2ecf20Sopenharmony_ci 2848c2ecf20Sopenharmony_ci bus-range = <0x00 0xff>; 2858c2ecf20Sopenharmony_ci #address-cells = <3>; 2868c2ecf20Sopenharmony_ci #size-cells = <2>; 2878c2ecf20Sopenharmony_ci 2888c2ecf20Sopenharmony_ci ranges = <0x82000000 0 0x00000000 0x00000000 0 0x00001000 /* port 0 configuration space */ 2898c2ecf20Sopenharmony_ci 0x82000000 0 0x00001000 0x00001000 0 0x00001000 /* port 1 configuration space */ 2908c2ecf20Sopenharmony_ci 0x82000000 0 0x00004000 0x00004000 0 0x00001000 /* port 2 configuration space */ 2918c2ecf20Sopenharmony_ci 0x81000000 0 0 0x02000000 0 0x00010000 /* downstream I/O */ 2928c2ecf20Sopenharmony_ci 0x82000000 0 0x20000000 0x20000000 0 0x08000000 /* non-prefetchable memory */ 2938c2ecf20Sopenharmony_ci 0xc2000000 0 0x28000000 0x28000000 0 0x18000000>; /* prefetchable memory */ 2948c2ecf20Sopenharmony_ci 2958c2ecf20Sopenharmony_ci clocks = <&tegra_car TEGRA30_CLK_PCIE>, 2968c2ecf20Sopenharmony_ci <&tegra_car TEGRA30_CLK_AFI>, 2978c2ecf20Sopenharmony_ci <&tegra_car TEGRA30_CLK_PLL_E>, 2988c2ecf20Sopenharmony_ci <&tegra_car TEGRA30_CLK_CML0>; 2998c2ecf20Sopenharmony_ci clock-names = "pex", "afi", "pll_e", "cml"; 3008c2ecf20Sopenharmony_ci resets = <&tegra_car 70>, 3018c2ecf20Sopenharmony_ci <&tegra_car 72>, 3028c2ecf20Sopenharmony_ci <&tegra_car 74>; 3038c2ecf20Sopenharmony_ci reset-names = "pex", "afi", "pcie_x"; 3048c2ecf20Sopenharmony_ci status = "disabled"; 3058c2ecf20Sopenharmony_ci 3068c2ecf20Sopenharmony_ci pci@1,0 { 3078c2ecf20Sopenharmony_ci device_type = "pci"; 3088c2ecf20Sopenharmony_ci assigned-addresses = <0x82000800 0 0x00000000 0 0x1000>; 3098c2ecf20Sopenharmony_ci reg = <0x000800 0 0 0 0>; 3108c2ecf20Sopenharmony_ci status = "disabled"; 3118c2ecf20Sopenharmony_ci 3128c2ecf20Sopenharmony_ci #address-cells = <3>; 3138c2ecf20Sopenharmony_ci #size-cells = <2>; 3148c2ecf20Sopenharmony_ci ranges; 3158c2ecf20Sopenharmony_ci 3168c2ecf20Sopenharmony_ci nvidia,num-lanes = <2>; 3178c2ecf20Sopenharmony_ci }; 3188c2ecf20Sopenharmony_ci 3198c2ecf20Sopenharmony_ci pci@2,0 { 3208c2ecf20Sopenharmony_ci device_type = "pci"; 3218c2ecf20Sopenharmony_ci assigned-addresses = <0x82001000 0 0x00001000 0 0x1000>; 3228c2ecf20Sopenharmony_ci reg = <0x001000 0 0 0 0>; 3238c2ecf20Sopenharmony_ci status = "disabled"; 3248c2ecf20Sopenharmony_ci 3258c2ecf20Sopenharmony_ci #address-cells = <3>; 3268c2ecf20Sopenharmony_ci #size-cells = <2>; 3278c2ecf20Sopenharmony_ci ranges; 3288c2ecf20Sopenharmony_ci 3298c2ecf20Sopenharmony_ci nvidia,num-lanes = <2>; 3308c2ecf20Sopenharmony_ci }; 3318c2ecf20Sopenharmony_ci 3328c2ecf20Sopenharmony_ci pci@3,0 { 3338c2ecf20Sopenharmony_ci device_type = "pci"; 3348c2ecf20Sopenharmony_ci assigned-addresses = <0x82001800 0 0x00004000 0 0x1000>; 3358c2ecf20Sopenharmony_ci reg = <0x001800 0 0 0 0>; 3368c2ecf20Sopenharmony_ci status = "disabled"; 3378c2ecf20Sopenharmony_ci 3388c2ecf20Sopenharmony_ci #address-cells = <3>; 3398c2ecf20Sopenharmony_ci #size-cells = <2>; 3408c2ecf20Sopenharmony_ci ranges; 3418c2ecf20Sopenharmony_ci 3428c2ecf20Sopenharmony_ci nvidia,num-lanes = <2>; 3438c2ecf20Sopenharmony_ci }; 3448c2ecf20Sopenharmony_ci }; 3458c2ecf20Sopenharmony_ci 3468c2ecf20Sopenharmony_ciBoard DTS: 3478c2ecf20Sopenharmony_ci 3488c2ecf20Sopenharmony_ci pcie-controller@3000 { 3498c2ecf20Sopenharmony_ci status = "okay"; 3508c2ecf20Sopenharmony_ci 3518c2ecf20Sopenharmony_ci avdd-pexa-supply = <&ldo1_reg>; 3528c2ecf20Sopenharmony_ci vdd-pexa-supply = <&ldo1_reg>; 3538c2ecf20Sopenharmony_ci avdd-pexb-supply = <&ldo1_reg>; 3548c2ecf20Sopenharmony_ci vdd-pexb-supply = <&ldo1_reg>; 3558c2ecf20Sopenharmony_ci avdd-pex-pll-supply = <&ldo1_reg>; 3568c2ecf20Sopenharmony_ci avdd-plle-supply = <&ldo1_reg>; 3578c2ecf20Sopenharmony_ci vddio-pex-ctl-supply = <&sys_3v3_reg>; 3588c2ecf20Sopenharmony_ci hvdd-pex-supply = <&sys_3v3_pexs_reg>; 3598c2ecf20Sopenharmony_ci 3608c2ecf20Sopenharmony_ci pci@1,0 { 3618c2ecf20Sopenharmony_ci status = "okay"; 3628c2ecf20Sopenharmony_ci }; 3638c2ecf20Sopenharmony_ci 3648c2ecf20Sopenharmony_ci pci@3,0 { 3658c2ecf20Sopenharmony_ci status = "okay"; 3668c2ecf20Sopenharmony_ci }; 3678c2ecf20Sopenharmony_ci }; 3688c2ecf20Sopenharmony_ci 3698c2ecf20Sopenharmony_ciTegra124: 3708c2ecf20Sopenharmony_ci--------- 3718c2ecf20Sopenharmony_ci 3728c2ecf20Sopenharmony_ciSoC DTSI: 3738c2ecf20Sopenharmony_ci 3748c2ecf20Sopenharmony_ci pcie-controller@1003000 { 3758c2ecf20Sopenharmony_ci compatible = "nvidia,tegra124-pcie"; 3768c2ecf20Sopenharmony_ci device_type = "pci"; 3778c2ecf20Sopenharmony_ci reg = <0x0 0x01003000 0x0 0x00000800 /* PADS registers */ 3788c2ecf20Sopenharmony_ci 0x0 0x01003800 0x0 0x00000800 /* AFI registers */ 3798c2ecf20Sopenharmony_ci 0x0 0x02000000 0x0 0x10000000>; /* configuration space */ 3808c2ecf20Sopenharmony_ci reg-names = "pads", "afi", "cs"; 3818c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 3828c2ecf20Sopenharmony_ci <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 3838c2ecf20Sopenharmony_ci interrupt-names = "intr", "msi"; 3848c2ecf20Sopenharmony_ci 3858c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 3868c2ecf20Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 3878c2ecf20Sopenharmony_ci interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 3888c2ecf20Sopenharmony_ci 3898c2ecf20Sopenharmony_ci bus-range = <0x00 0xff>; 3908c2ecf20Sopenharmony_ci #address-cells = <3>; 3918c2ecf20Sopenharmony_ci #size-cells = <2>; 3928c2ecf20Sopenharmony_ci 3938c2ecf20Sopenharmony_ci ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000 /* port 0 configuration space */ 3948c2ecf20Sopenharmony_ci 0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000 /* port 1 configuration space */ 3958c2ecf20Sopenharmony_ci 0x81000000 0 0x0 0x0 0x12000000 0 0x00010000 /* downstream I/O (64 KiB) */ 3968c2ecf20Sopenharmony_ci 0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000 /* non-prefetchable memory (208 MiB) */ 3978c2ecf20Sopenharmony_ci 0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */ 3988c2ecf20Sopenharmony_ci 3998c2ecf20Sopenharmony_ci clocks = <&tegra_car TEGRA124_CLK_PCIE>, 4008c2ecf20Sopenharmony_ci <&tegra_car TEGRA124_CLK_AFI>, 4018c2ecf20Sopenharmony_ci <&tegra_car TEGRA124_CLK_PLL_E>, 4028c2ecf20Sopenharmony_ci <&tegra_car TEGRA124_CLK_CML0>; 4038c2ecf20Sopenharmony_ci clock-names = "pex", "afi", "pll_e", "cml"; 4048c2ecf20Sopenharmony_ci resets = <&tegra_car 70>, 4058c2ecf20Sopenharmony_ci <&tegra_car 72>, 4068c2ecf20Sopenharmony_ci <&tegra_car 74>; 4078c2ecf20Sopenharmony_ci reset-names = "pex", "afi", "pcie_x"; 4088c2ecf20Sopenharmony_ci status = "disabled"; 4098c2ecf20Sopenharmony_ci 4108c2ecf20Sopenharmony_ci pci@1,0 { 4118c2ecf20Sopenharmony_ci device_type = "pci"; 4128c2ecf20Sopenharmony_ci assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>; 4138c2ecf20Sopenharmony_ci reg = <0x000800 0 0 0 0>; 4148c2ecf20Sopenharmony_ci status = "disabled"; 4158c2ecf20Sopenharmony_ci 4168c2ecf20Sopenharmony_ci #address-cells = <3>; 4178c2ecf20Sopenharmony_ci #size-cells = <2>; 4188c2ecf20Sopenharmony_ci ranges; 4198c2ecf20Sopenharmony_ci 4208c2ecf20Sopenharmony_ci nvidia,num-lanes = <2>; 4218c2ecf20Sopenharmony_ci }; 4228c2ecf20Sopenharmony_ci 4238c2ecf20Sopenharmony_ci pci@2,0 { 4248c2ecf20Sopenharmony_ci device_type = "pci"; 4258c2ecf20Sopenharmony_ci assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>; 4268c2ecf20Sopenharmony_ci reg = <0x001000 0 0 0 0>; 4278c2ecf20Sopenharmony_ci status = "disabled"; 4288c2ecf20Sopenharmony_ci 4298c2ecf20Sopenharmony_ci #address-cells = <3>; 4308c2ecf20Sopenharmony_ci #size-cells = <2>; 4318c2ecf20Sopenharmony_ci ranges; 4328c2ecf20Sopenharmony_ci 4338c2ecf20Sopenharmony_ci nvidia,num-lanes = <1>; 4348c2ecf20Sopenharmony_ci }; 4358c2ecf20Sopenharmony_ci }; 4368c2ecf20Sopenharmony_ci 4378c2ecf20Sopenharmony_ciBoard DTS: 4388c2ecf20Sopenharmony_ci 4398c2ecf20Sopenharmony_ci pcie-controller@1003000 { 4408c2ecf20Sopenharmony_ci status = "okay"; 4418c2ecf20Sopenharmony_ci 4428c2ecf20Sopenharmony_ci avddio-pex-supply = <&vdd_1v05_run>; 4438c2ecf20Sopenharmony_ci dvddio-pex-supply = <&vdd_1v05_run>; 4448c2ecf20Sopenharmony_ci avdd-pex-pll-supply = <&vdd_1v05_run>; 4458c2ecf20Sopenharmony_ci hvdd-pex-supply = <&vdd_3v3_lp0>; 4468c2ecf20Sopenharmony_ci hvdd-pex-pll-e-supply = <&vdd_3v3_lp0>; 4478c2ecf20Sopenharmony_ci vddio-pex-ctl-supply = <&vdd_3v3_lp0>; 4488c2ecf20Sopenharmony_ci avdd-pll-erefe-supply = <&avdd_1v05_run>; 4498c2ecf20Sopenharmony_ci 4508c2ecf20Sopenharmony_ci /* Mini PCIe */ 4518c2ecf20Sopenharmony_ci pci@1,0 { 4528c2ecf20Sopenharmony_ci phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>; 4538c2ecf20Sopenharmony_ci phy-names = "pcie-0"; 4548c2ecf20Sopenharmony_ci status = "okay"; 4558c2ecf20Sopenharmony_ci }; 4568c2ecf20Sopenharmony_ci 4578c2ecf20Sopenharmony_ci /* Gigabit Ethernet */ 4588c2ecf20Sopenharmony_ci pci@2,0 { 4598c2ecf20Sopenharmony_ci phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>; 4608c2ecf20Sopenharmony_ci phy-names = "pcie-0"; 4618c2ecf20Sopenharmony_ci status = "okay"; 4628c2ecf20Sopenharmony_ci }; 4638c2ecf20Sopenharmony_ci }; 4648c2ecf20Sopenharmony_ci 4658c2ecf20Sopenharmony_ciTegra210: 4668c2ecf20Sopenharmony_ci--------- 4678c2ecf20Sopenharmony_ci 4688c2ecf20Sopenharmony_ciSoC DTSI: 4698c2ecf20Sopenharmony_ci 4708c2ecf20Sopenharmony_ci pcie-controller@1003000 { 4718c2ecf20Sopenharmony_ci compatible = "nvidia,tegra210-pcie"; 4728c2ecf20Sopenharmony_ci device_type = "pci"; 4738c2ecf20Sopenharmony_ci reg = <0x0 0x01003000 0x0 0x00000800 /* PADS registers */ 4748c2ecf20Sopenharmony_ci 0x0 0x01003800 0x0 0x00000800 /* AFI registers */ 4758c2ecf20Sopenharmony_ci 0x0 0x02000000 0x0 0x10000000>; /* configuration space */ 4768c2ecf20Sopenharmony_ci reg-names = "pads", "afi", "cs"; 4778c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 4788c2ecf20Sopenharmony_ci <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 4798c2ecf20Sopenharmony_ci interrupt-names = "intr", "msi"; 4808c2ecf20Sopenharmony_ci 4818c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 4828c2ecf20Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 4838c2ecf20Sopenharmony_ci interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 4848c2ecf20Sopenharmony_ci 4858c2ecf20Sopenharmony_ci bus-range = <0x00 0xff>; 4868c2ecf20Sopenharmony_ci #address-cells = <3>; 4878c2ecf20Sopenharmony_ci #size-cells = <2>; 4888c2ecf20Sopenharmony_ci 4898c2ecf20Sopenharmony_ci ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000 /* port 0 configuration space */ 4908c2ecf20Sopenharmony_ci 0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000 /* port 1 configuration space */ 4918c2ecf20Sopenharmony_ci 0x81000000 0 0x0 0x0 0x12000000 0 0x00010000 /* downstream I/O (64 KiB) */ 4928c2ecf20Sopenharmony_ci 0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000 /* non-prefetchable memory (208 MiB) */ 4938c2ecf20Sopenharmony_ci 0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */ 4948c2ecf20Sopenharmony_ci 4958c2ecf20Sopenharmony_ci clocks = <&tegra_car TEGRA210_CLK_PCIE>, 4968c2ecf20Sopenharmony_ci <&tegra_car TEGRA210_CLK_AFI>, 4978c2ecf20Sopenharmony_ci <&tegra_car TEGRA210_CLK_PLL_E>, 4988c2ecf20Sopenharmony_ci <&tegra_car TEGRA210_CLK_CML0>; 4998c2ecf20Sopenharmony_ci clock-names = "pex", "afi", "pll_e", "cml"; 5008c2ecf20Sopenharmony_ci resets = <&tegra_car 70>, 5018c2ecf20Sopenharmony_ci <&tegra_car 72>, 5028c2ecf20Sopenharmony_ci <&tegra_car 74>; 5038c2ecf20Sopenharmony_ci reset-names = "pex", "afi", "pcie_x"; 5048c2ecf20Sopenharmony_ci status = "disabled"; 5058c2ecf20Sopenharmony_ci 5068c2ecf20Sopenharmony_ci pci@1,0 { 5078c2ecf20Sopenharmony_ci device_type = "pci"; 5088c2ecf20Sopenharmony_ci assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>; 5098c2ecf20Sopenharmony_ci reg = <0x000800 0 0 0 0>; 5108c2ecf20Sopenharmony_ci status = "disabled"; 5118c2ecf20Sopenharmony_ci 5128c2ecf20Sopenharmony_ci #address-cells = <3>; 5138c2ecf20Sopenharmony_ci #size-cells = <2>; 5148c2ecf20Sopenharmony_ci ranges; 5158c2ecf20Sopenharmony_ci 5168c2ecf20Sopenharmony_ci nvidia,num-lanes = <4>; 5178c2ecf20Sopenharmony_ci }; 5188c2ecf20Sopenharmony_ci 5198c2ecf20Sopenharmony_ci pci@2,0 { 5208c2ecf20Sopenharmony_ci device_type = "pci"; 5218c2ecf20Sopenharmony_ci assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>; 5228c2ecf20Sopenharmony_ci reg = <0x001000 0 0 0 0>; 5238c2ecf20Sopenharmony_ci status = "disabled"; 5248c2ecf20Sopenharmony_ci 5258c2ecf20Sopenharmony_ci #address-cells = <3>; 5268c2ecf20Sopenharmony_ci #size-cells = <2>; 5278c2ecf20Sopenharmony_ci ranges; 5288c2ecf20Sopenharmony_ci 5298c2ecf20Sopenharmony_ci nvidia,num-lanes = <1>; 5308c2ecf20Sopenharmony_ci }; 5318c2ecf20Sopenharmony_ci }; 5328c2ecf20Sopenharmony_ci 5338c2ecf20Sopenharmony_ciBoard DTS: 5348c2ecf20Sopenharmony_ci 5358c2ecf20Sopenharmony_ci pcie-controller@1003000 { 5368c2ecf20Sopenharmony_ci status = "okay"; 5378c2ecf20Sopenharmony_ci 5388c2ecf20Sopenharmony_ci avdd-pll-uerefe-supply = <&avdd_1v05_pll>; 5398c2ecf20Sopenharmony_ci hvddio-pex-supply = <&vdd_1v8>; 5408c2ecf20Sopenharmony_ci dvddio-pex-supply = <&vdd_pex_1v05>; 5418c2ecf20Sopenharmony_ci dvdd-pex-pll-supply = <&vdd_pex_1v05>; 5428c2ecf20Sopenharmony_ci hvdd-pex-pll-e-supply = <&vdd_1v8>; 5438c2ecf20Sopenharmony_ci vddio-pex-ctl-supply = <&vdd_1v8>; 5448c2ecf20Sopenharmony_ci 5458c2ecf20Sopenharmony_ci pci@1,0 { 5468c2ecf20Sopenharmony_ci phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, 5478c2ecf20Sopenharmony_ci <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, 5488c2ecf20Sopenharmony_ci <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>, 5498c2ecf20Sopenharmony_ci <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>; 5508c2ecf20Sopenharmony_ci phy-names = "pcie-0", "pcie-1", "pcie-2", "pcie-3"; 5518c2ecf20Sopenharmony_ci status = "okay"; 5528c2ecf20Sopenharmony_ci }; 5538c2ecf20Sopenharmony_ci 5548c2ecf20Sopenharmony_ci pci@2,0 { 5558c2ecf20Sopenharmony_ci phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>; 5568c2ecf20Sopenharmony_ci phy-names = "pcie-0"; 5578c2ecf20Sopenharmony_ci status = "okay"; 5588c2ecf20Sopenharmony_ci }; 5598c2ecf20Sopenharmony_ci }; 5608c2ecf20Sopenharmony_ci 5618c2ecf20Sopenharmony_ciTegra186: 5628c2ecf20Sopenharmony_ci--------- 5638c2ecf20Sopenharmony_ci 5648c2ecf20Sopenharmony_ciSoC DTSI: 5658c2ecf20Sopenharmony_ci 5668c2ecf20Sopenharmony_ci pcie@10003000 { 5678c2ecf20Sopenharmony_ci compatible = "nvidia,tegra186-pcie"; 5688c2ecf20Sopenharmony_ci power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>; 5698c2ecf20Sopenharmony_ci device_type = "pci"; 5708c2ecf20Sopenharmony_ci reg = <0x0 0x10003000 0x0 0x00000800 /* PADS registers */ 5718c2ecf20Sopenharmony_ci 0x0 0x10003800 0x0 0x00000800 /* AFI registers */ 5728c2ecf20Sopenharmony_ci 0x0 0x40000000 0x0 0x10000000>; /* configuration space */ 5738c2ecf20Sopenharmony_ci reg-names = "pads", "afi", "cs"; 5748c2ecf20Sopenharmony_ci 5758c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 5768c2ecf20Sopenharmony_ci <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 5778c2ecf20Sopenharmony_ci interrupt-names = "intr", "msi"; 5788c2ecf20Sopenharmony_ci 5798c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 5808c2ecf20Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 5818c2ecf20Sopenharmony_ci interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 5828c2ecf20Sopenharmony_ci 5838c2ecf20Sopenharmony_ci bus-range = <0x00 0xff>; 5848c2ecf20Sopenharmony_ci #address-cells = <3>; 5858c2ecf20Sopenharmony_ci #size-cells = <2>; 5868c2ecf20Sopenharmony_ci 5878c2ecf20Sopenharmony_ci ranges = <0x82000000 0 0x10000000 0x0 0x10000000 0 0x00001000 /* port 0 configuration space */ 5888c2ecf20Sopenharmony_ci 0x82000000 0 0x10001000 0x0 0x10001000 0 0x00001000 /* port 1 configuration space */ 5898c2ecf20Sopenharmony_ci 0x82000000 0 0x10004000 0x0 0x10004000 0 0x00001000 /* port 2 configuration space */ 5908c2ecf20Sopenharmony_ci 0x81000000 0 0x0 0x0 0x50000000 0 0x00010000 /* downstream I/O (64 KiB) */ 5918c2ecf20Sopenharmony_ci 0x82000000 0 0x50100000 0x0 0x50100000 0 0x07F00000 /* non-prefetchable memory (127 MiB) */ 5928c2ecf20Sopenharmony_ci 0xc2000000 0 0x58000000 0x0 0x58000000 0 0x28000000>; /* prefetchable memory (640 MiB) */ 5938c2ecf20Sopenharmony_ci 5948c2ecf20Sopenharmony_ci clocks = <&bpmp TEGRA186_CLK_AFI>, 5958c2ecf20Sopenharmony_ci <&bpmp TEGRA186_CLK_PCIE>, 5968c2ecf20Sopenharmony_ci <&bpmp TEGRA186_CLK_PLLE>; 5978c2ecf20Sopenharmony_ci clock-names = "afi", "pex", "pll_e"; 5988c2ecf20Sopenharmony_ci 5998c2ecf20Sopenharmony_ci resets = <&bpmp TEGRA186_RESET_AFI>, 6008c2ecf20Sopenharmony_ci <&bpmp TEGRA186_RESET_PCIE>, 6018c2ecf20Sopenharmony_ci <&bpmp TEGRA186_RESET_PCIEXCLK>; 6028c2ecf20Sopenharmony_ci reset-names = "afi", "pex", "pcie_x"; 6038c2ecf20Sopenharmony_ci 6048c2ecf20Sopenharmony_ci status = "disabled"; 6058c2ecf20Sopenharmony_ci 6068c2ecf20Sopenharmony_ci pci@1,0 { 6078c2ecf20Sopenharmony_ci device_type = "pci"; 6088c2ecf20Sopenharmony_ci assigned-addresses = <0x82000800 0 0x10000000 0 0x1000>; 6098c2ecf20Sopenharmony_ci reg = <0x000800 0 0 0 0>; 6108c2ecf20Sopenharmony_ci status = "disabled"; 6118c2ecf20Sopenharmony_ci 6128c2ecf20Sopenharmony_ci #address-cells = <3>; 6138c2ecf20Sopenharmony_ci #size-cells = <2>; 6148c2ecf20Sopenharmony_ci ranges; 6158c2ecf20Sopenharmony_ci 6168c2ecf20Sopenharmony_ci nvidia,num-lanes = <2>; 6178c2ecf20Sopenharmony_ci }; 6188c2ecf20Sopenharmony_ci 6198c2ecf20Sopenharmony_ci pci@2,0 { 6208c2ecf20Sopenharmony_ci device_type = "pci"; 6218c2ecf20Sopenharmony_ci assigned-addresses = <0x82001000 0 0x10001000 0 0x1000>; 6228c2ecf20Sopenharmony_ci reg = <0x001000 0 0 0 0>; 6238c2ecf20Sopenharmony_ci status = "disabled"; 6248c2ecf20Sopenharmony_ci 6258c2ecf20Sopenharmony_ci #address-cells = <3>; 6268c2ecf20Sopenharmony_ci #size-cells = <2>; 6278c2ecf20Sopenharmony_ci ranges; 6288c2ecf20Sopenharmony_ci 6298c2ecf20Sopenharmony_ci nvidia,num-lanes = <1>; 6308c2ecf20Sopenharmony_ci }; 6318c2ecf20Sopenharmony_ci 6328c2ecf20Sopenharmony_ci pci@3,0 { 6338c2ecf20Sopenharmony_ci device_type = "pci"; 6348c2ecf20Sopenharmony_ci assigned-addresses = <0x82001800 0 0x10004000 0 0x1000>; 6358c2ecf20Sopenharmony_ci reg = <0x001800 0 0 0 0>; 6368c2ecf20Sopenharmony_ci status = "disabled"; 6378c2ecf20Sopenharmony_ci 6388c2ecf20Sopenharmony_ci #address-cells = <3>; 6398c2ecf20Sopenharmony_ci #size-cells = <2>; 6408c2ecf20Sopenharmony_ci ranges; 6418c2ecf20Sopenharmony_ci 6428c2ecf20Sopenharmony_ci nvidia,num-lanes = <1>; 6438c2ecf20Sopenharmony_ci }; 6448c2ecf20Sopenharmony_ci }; 6458c2ecf20Sopenharmony_ci 6468c2ecf20Sopenharmony_ciBoard DTS: 6478c2ecf20Sopenharmony_ci 6488c2ecf20Sopenharmony_ci pcie@10003000 { 6498c2ecf20Sopenharmony_ci status = "okay"; 6508c2ecf20Sopenharmony_ci 6518c2ecf20Sopenharmony_ci dvdd-pex-supply = <&vdd_pex>; 6528c2ecf20Sopenharmony_ci hvdd-pex-pll-supply = <&vdd_1v8>; 6538c2ecf20Sopenharmony_ci hvdd-pex-supply = <&vdd_1v8>; 6548c2ecf20Sopenharmony_ci vddio-pexctl-aud-supply = <&vdd_1v8>; 6558c2ecf20Sopenharmony_ci 6568c2ecf20Sopenharmony_ci pci@1,0 { 6578c2ecf20Sopenharmony_ci nvidia,num-lanes = <4>; 6588c2ecf20Sopenharmony_ci status = "okay"; 6598c2ecf20Sopenharmony_ci }; 6608c2ecf20Sopenharmony_ci 6618c2ecf20Sopenharmony_ci pci@2,0 { 6628c2ecf20Sopenharmony_ci nvidia,num-lanes = <0>; 6638c2ecf20Sopenharmony_ci status = "disabled"; 6648c2ecf20Sopenharmony_ci }; 6658c2ecf20Sopenharmony_ci 6668c2ecf20Sopenharmony_ci pci@3,0 { 6678c2ecf20Sopenharmony_ci nvidia,num-lanes = <1>; 6688c2ecf20Sopenharmony_ci status = "disabled"; 6698c2ecf20Sopenharmony_ci }; 6708c2ecf20Sopenharmony_ci }; 671