brintos

brintos / linux-shallow public Read only

0
0
Text · 20.2 KiB · d099f34 Raw
671 lines · plain
1NVIDIA Tegra PCIe controller2 3Required properties:4- compatible: Must be:5  - "nvidia,tegra20-pcie": for Tegra206  - "nvidia,tegra30-pcie": for Tegra307  - "nvidia,tegra124-pcie": for Tegra124 and Tegra1328  - "nvidia,tegra210-pcie": for Tegra2109  - "nvidia,tegra186-pcie": for Tegra18610- power-domains: To ungate power partition by BPMP powergate driver. Must11  contain BPMP phandle and PCIe power partition ID. This is required only12  for Tegra186.13- device_type: Must be "pci"14- reg: A list of physical base address and length for each set of controller15  registers. Must contain an entry for each entry in the reg-names property.16- reg-names: Must include the following entries:17  "pads": PADS registers18  "afi": AFI registers19  "cs": configuration space region20- interrupts: A list of interrupt outputs of the controller. Must contain an21  entry for each entry in the interrupt-names property.22- interrupt-names: Must include the following entries:23  "intr": The Tegra interrupt that is asserted for controller interrupts24  "msi": The Tegra interrupt that is asserted when an MSI is received25- bus-range: Range of bus numbers associated with this controller26- #address-cells: Address representation for root ports (must be 3)27  - cell 0 specifies the bus and device numbers of the root port:28    [23:16]: bus number29    [15:11]: device number30  - cell 1 denotes the upper 32 address bits and should be 031  - cell 2 contains the lower 32 address bits and is used to translate to the32    CPU address space33- #size-cells: Size representation for root ports (must be 2)34- ranges: Describes the translation of addresses for root ports and standard35  PCI regions. The entries must be 6 cells each, where the first three cells36  correspond to the address as described for the #address-cells property37  above, the fourth cell is the physical CPU address to translate to and the38  fifth and six cells are as described for the #size-cells property above.39  - The first two entries are expected to translate the addresses for the root40    port registers, which are referenced by the assigned-addresses property of41    the root port nodes (see below).42  - The remaining entries setup the mapping for the standard I/O, memory and43    prefetchable PCI regions. The first cell determines the type of region44    that is setup:45    - 0x81000000: I/O memory region46    - 0x82000000: non-prefetchable memory region47    - 0xc2000000: prefetchable memory region48  Please refer to the standard PCI bus binding document for a more detailed49  explanation.50- #interrupt-cells: Size representation for interrupts (must be 1)51- interrupt-map-mask and interrupt-map: Standard PCI IRQ mapping properties52  Please refer to the standard PCI bus binding document for a more detailed53  explanation.54- clocks: Must contain an entry for each entry in clock-names.55  See ../clocks/clock-bindings.txt for details.56- clock-names: Must include the following entries:57  - pex58  - afi59  - pll_e60  - cml (not required for Tegra20)61- resets: Must contain an entry for each entry in reset-names.62  See ../reset/reset.txt for details.63- reset-names: Must include the following entries:64  - pex65  - afi66  - pcie_x67 68Optional properties:69- pinctrl-names: A list of pinctrl state names. Must contain the following70  entries:71  - "default": active state, puts PCIe I/O out of deep power down state72  - "idle": puts PCIe I/O into deep power down state73- pinctrl-0: phandle for the default/active state of pin configurations.74- pinctrl-1: phandle for the idle state of pin configurations.75 76Required properties on Tegra124 and later (deprecated):77- phys: Must contain an entry for each entry in phy-names.78- phy-names: Must include the following entries:79  - pcie80 81These properties are deprecated in favour of per-lane PHYs define in each of82the root ports (see below).83 84Power supplies for Tegra20:85- avdd-pex-supply: Power supply for analog PCIe logic. Must supply 1.05 V.86- vdd-pex-supply: Power supply for digital PCIe I/O. Must supply 1.05 V.87- avdd-pex-pll-supply: Power supply for dedicated (internal) PCIe PLL. Must88  supply 1.05 V.89- avdd-plle-supply: Power supply for PLLE, which is shared with SATA. Must90  supply 1.05 V.91- vddio-pex-clk-supply: Power supply for PCIe clock. Must supply 3.3 V.92 93Power supplies for Tegra30:94- Required:95  - avdd-pex-pll-supply: Power supply for dedicated (internal) PCIe PLL. Must96    supply 1.05 V.97  - avdd-plle-supply: Power supply for PLLE, which is shared with SATA. Must98    supply 1.05 V.99  - vddio-pex-ctl-supply: Power supply for PCIe control I/O partition. Must100    supply 1.8 V.101  - hvdd-pex-supply: High-voltage supply for PCIe I/O and PCIe output clocks.102    Must supply 3.3 V.103- Optional:104  - If lanes 0 to 3 are used:105    - avdd-pexa-supply: Power supply for analog PCIe logic. Must supply 1.05 V.106    - vdd-pexa-supply: Power supply for digital PCIe I/O. Must supply 1.05 V.107  - If lanes 4 or 5 are used:108    - avdd-pexb-supply: Power supply for analog PCIe logic. Must supply 1.05 V.109    - vdd-pexb-supply: Power supply for digital PCIe I/O. Must supply 1.05 V.110 111Power supplies for Tegra124:112- Required:113  - avddio-pex-supply: Power supply for analog PCIe logic. Must supply 1.05 V.114  - dvddio-pex-supply: Power supply for digital PCIe I/O. Must supply 1.05 V.115  - hvdd-pex-supply: High-voltage supply for PCIe I/O and PCIe output clocks.116    Must supply 3.3 V.117  - vddio-pex-ctl-supply: Power supply for PCIe control I/O partition. Must118    supply 2.8-3.3 V.119 120Power supplies for Tegra210:121- Required:122  - hvddio-pex-supply: High-voltage supply for PCIe I/O and PCIe output123    clocks. Must supply 1.8 V.124  - dvddio-pex-supply: Power supply for digital PCIe I/O. Must supply 1.05 V.125  - vddio-pex-ctl-supply: Power supply for PCIe control I/O partition. Must126    supply 1.8 V.127 128Power supplies for Tegra186:129- Required:130  - dvdd-pex-supply: Power supply for digital PCIe I/O. Must supply 1.05 V.131  - hvdd-pex-pll-supply: High-voltage supply for PLLE (shared with USB3). Must132    supply 1.8 V.133  - hvdd-pex-supply: High-voltage supply for PCIe I/O and PCIe output clocks.134    Must supply 1.8 V.135  - vddio-pexctl-aud-supply: Power supply for PCIe side band signals. Must136    supply 1.8 V.137 138Root ports are defined as subnodes of the PCIe controller node.139 140Required properties:141- device_type: Must be "pci"142- assigned-addresses: Address and size of the port configuration registers143- reg: PCI bus address of the root port144- #address-cells: Must be 3145- #size-cells: Must be 2146- ranges: Sub-ranges distributed from the PCIe controller node. An empty147  property is sufficient.148- nvidia,num-lanes: Number of lanes to use for this port. Valid combinations149  are:150  - Root port 0 uses 4 lanes, root port 1 is unused.151  - Both root ports use 2 lanes.152 153Required properties for Tegra124 and later:154- phys: Must contain an phandle to a PHY for each entry in phy-names.155- phy-names: Must include an entry for each active lane. Note that the number156  of entries does not have to (though usually will) be equal to the specified157  number of lanes in the nvidia,num-lanes property. Entries are of the form158  "pcie-N": where N ranges from 0 to the value specified in nvidia,num-lanes.159 160Examples:161=========162 163Tegra20:164--------165 166SoC DTSI:167 168	pcie-controller@80003000 {169		compatible = "nvidia,tegra20-pcie";170		device_type = "pci";171		reg = <0x80003000 0x00000800   /* PADS registers */172		       0x80003800 0x00000200   /* AFI registers */173		       0x90000000 0x10000000>; /* configuration space */174		reg-names = "pads", "afi", "cs";175		interrupts = <0 98 0x04   /* controller interrupt */176		              0 99 0x04>; /* MSI interrupt */177		interrupt-names = "intr", "msi";178 179		#interrupt-cells = <1>;180		interrupt-map-mask = <0 0 0 0>;181		interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;182 183		bus-range = <0x00 0xff>;184		#address-cells = <3>;185		#size-cells = <2>;186 187		ranges = <0x82000000 0 0x80000000 0x80000000 0 0x00001000   /* port 0 registers */188			  0x82000000 0 0x80001000 0x80001000 0 0x00001000   /* port 1 registers */189			  0x81000000 0 0          0x82000000 0 0x00010000   /* downstream I/O */190			  0x82000000 0 0xa0000000 0xa0000000 0 0x10000000   /* non-prefetchable memory */191			  0xc2000000 0 0xb0000000 0xb0000000 0 0x10000000>; /* prefetchable memory */192 193		clocks = <&tegra_car 70>, <&tegra_car 72>, <&tegra_car 118>;194		clock-names = "pex", "afi", "pll_e";195		resets = <&tegra_car 70>, <&tegra_car 72>, <&tegra_car 74>;196		reset-names = "pex", "afi", "pcie_x";197		status = "disabled";198 199		pci@1,0 {200			device_type = "pci";201			assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>;202			reg = <0x000800 0 0 0 0>;203			status = "disabled";204 205			#address-cells = <3>;206			#size-cells = <2>;207 208			ranges;209 210			nvidia,num-lanes = <2>;211		};212 213		pci@2,0 {214			device_type = "pci";215			assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>;216			reg = <0x001000 0 0 0 0>;217			status = "disabled";218 219			#address-cells = <3>;220			#size-cells = <2>;221 222			ranges;223 224			nvidia,num-lanes = <2>;225		};226	};227 228Board DTS:229 230	pcie-controller@80003000 {231		status = "okay";232 233		vdd-supply = <&pci_vdd_reg>;234		pex-clk-supply = <&pci_clk_reg>;235 236		/* root port 00:01.0 */237		pci@1,0 {238			status = "okay";239 240			/* bridge 01:00.0 (optional) */241			pci@0,0 {242				reg = <0x010000 0 0 0 0>;243 244				#address-cells = <3>;245				#size-cells = <2>;246 247				device_type = "pci";248 249				/* endpoint 02:00.0 */250				pci@0,0 {251					reg = <0x020000 0 0 0 0>;252				};253			};254		};255	};256 257Note that devices on the PCI bus are dynamically discovered using PCI's bus258enumeration and therefore don't need corresponding device nodes in DT. However259if a device on the PCI bus provides a non-probeable bus such as I2C or SPI,260device nodes need to be added in order to allow the bus' children to be261instantiated at the proper location in the operating system's device tree (as262illustrated by the optional nodes in the example above).263 264Tegra30:265--------266 267SoC DTSI:268 269	pcie-controller@3000 {270		compatible = "nvidia,tegra30-pcie";271		device_type = "pci";272		reg = <0x00003000 0x00000800   /* PADS registers */273		       0x00003800 0x00000200   /* AFI registers */274		       0x10000000 0x10000000>; /* configuration space */275		reg-names = "pads", "afi", "cs";276		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH   /* controller interrupt */277			      GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */278		interrupt-names = "intr", "msi";279 280		#interrupt-cells = <1>;281		interrupt-map-mask = <0 0 0 0>;282		interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;283 284		bus-range = <0x00 0xff>;285		#address-cells = <3>;286		#size-cells = <2>;287 288		ranges = <0x82000000 0 0x00000000 0x00000000 0 0x00001000   /* port 0 configuration space */289			  0x82000000 0 0x00001000 0x00001000 0 0x00001000   /* port 1 configuration space */290			  0x82000000 0 0x00004000 0x00004000 0 0x00001000   /* port 2 configuration space */291			  0x81000000 0 0          0x02000000 0 0x00010000   /* downstream I/O */292			  0x82000000 0 0x20000000 0x20000000 0 0x08000000   /* non-prefetchable memory */293			  0xc2000000 0 0x28000000 0x28000000 0 0x18000000>; /* prefetchable memory */294 295		clocks = <&tegra_car TEGRA30_CLK_PCIE>,296			 <&tegra_car TEGRA30_CLK_AFI>,297			 <&tegra_car TEGRA30_CLK_PLL_E>,298			 <&tegra_car TEGRA30_CLK_CML0>;299		clock-names = "pex", "afi", "pll_e", "cml";300		resets = <&tegra_car 70>,301			 <&tegra_car 72>,302			 <&tegra_car 74>;303		reset-names = "pex", "afi", "pcie_x";304		status = "disabled";305 306		pci@1,0 {307			device_type = "pci";308			assigned-addresses = <0x82000800 0 0x00000000 0 0x1000>;309			reg = <0x000800 0 0 0 0>;310			status = "disabled";311 312			#address-cells = <3>;313			#size-cells = <2>;314			ranges;315 316			nvidia,num-lanes = <2>;317		};318 319		pci@2,0 {320			device_type = "pci";321			assigned-addresses = <0x82001000 0 0x00001000 0 0x1000>;322			reg = <0x001000 0 0 0 0>;323			status = "disabled";324 325			#address-cells = <3>;326			#size-cells = <2>;327			ranges;328 329			nvidia,num-lanes = <2>;330		};331 332		pci@3,0 {333			device_type = "pci";334			assigned-addresses = <0x82001800 0 0x00004000 0 0x1000>;335			reg = <0x001800 0 0 0 0>;336			status = "disabled";337 338			#address-cells = <3>;339			#size-cells = <2>;340			ranges;341 342			nvidia,num-lanes = <2>;343		};344	};345 346Board DTS:347 348	pcie-controller@3000 {349		status = "okay";350 351		avdd-pexa-supply = <&ldo1_reg>;352		vdd-pexa-supply = <&ldo1_reg>;353		avdd-pexb-supply = <&ldo1_reg>;354		vdd-pexb-supply = <&ldo1_reg>;355		avdd-pex-pll-supply = <&ldo1_reg>;356		avdd-plle-supply = <&ldo1_reg>;357		vddio-pex-ctl-supply = <&sys_3v3_reg>;358		hvdd-pex-supply = <&sys_3v3_pexs_reg>;359 360		pci@1,0 {361			status = "okay";362		};363 364		pci@3,0 {365			status = "okay";366		};367	};368 369Tegra124:370---------371 372SoC DTSI:373 374	pcie-controller@1003000 {375		compatible = "nvidia,tegra124-pcie";376		device_type = "pci";377		reg = <0x0 0x01003000 0x0 0x00000800   /* PADS registers */378		       0x0 0x01003800 0x0 0x00000800   /* AFI registers */379		       0x0 0x02000000 0x0 0x10000000>; /* configuration space */380		reg-names = "pads", "afi", "cs";381		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */382			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */383		interrupt-names = "intr", "msi";384 385		#interrupt-cells = <1>;386		interrupt-map-mask = <0 0 0 0>;387		interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;388 389		bus-range = <0x00 0xff>;390		#address-cells = <3>;391		#size-cells = <2>;392 393		ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000   /* port 0 configuration space */394			  0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000   /* port 1 configuration space */395			  0x81000000 0 0x0        0x0 0x12000000 0 0x00010000   /* downstream I/O (64 KiB) */396			  0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000   /* non-prefetchable memory (208 MiB) */397			  0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */398 399		clocks = <&tegra_car TEGRA124_CLK_PCIE>,400			 <&tegra_car TEGRA124_CLK_AFI>,401			 <&tegra_car TEGRA124_CLK_PLL_E>,402			 <&tegra_car TEGRA124_CLK_CML0>;403		clock-names = "pex", "afi", "pll_e", "cml";404		resets = <&tegra_car 70>,405			 <&tegra_car 72>,406			 <&tegra_car 74>;407		reset-names = "pex", "afi", "pcie_x";408		status = "disabled";409 410		pci@1,0 {411			device_type = "pci";412			assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;413			reg = <0x000800 0 0 0 0>;414			status = "disabled";415 416			#address-cells = <3>;417			#size-cells = <2>;418			ranges;419 420			nvidia,num-lanes = <2>;421		};422 423		pci@2,0 {424			device_type = "pci";425			assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;426			reg = <0x001000 0 0 0 0>;427			status = "disabled";428 429			#address-cells = <3>;430			#size-cells = <2>;431			ranges;432 433			nvidia,num-lanes = <1>;434		};435	};436 437Board DTS:438 439	pcie-controller@1003000 {440		status = "okay";441 442		avddio-pex-supply = <&vdd_1v05_run>;443		dvddio-pex-supply = <&vdd_1v05_run>;444		avdd-pex-pll-supply = <&vdd_1v05_run>;445		hvdd-pex-supply = <&vdd_3v3_lp0>;446		hvdd-pex-pll-e-supply = <&vdd_3v3_lp0>;447		vddio-pex-ctl-supply = <&vdd_3v3_lp0>;448		avdd-pll-erefe-supply = <&avdd_1v05_run>;449 450		/* Mini PCIe */451		pci@1,0 {452			phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>;453			phy-names = "pcie-0";454			status = "okay";455		};456 457		/* Gigabit Ethernet */458		pci@2,0 {459			phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>;460			phy-names = "pcie-0";461			status = "okay";462		};463	};464 465Tegra210:466---------467 468SoC DTSI:469 470	pcie-controller@1003000 {471		compatible = "nvidia,tegra210-pcie";472		device_type = "pci";473		reg = <0x0 0x01003000 0x0 0x00000800   /* PADS registers */474		       0x0 0x01003800 0x0 0x00000800   /* AFI registers */475		       0x0 0x02000000 0x0 0x10000000>; /* configuration space */476		reg-names = "pads", "afi", "cs";477		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */478			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */479		interrupt-names = "intr", "msi";480 481		#interrupt-cells = <1>;482		interrupt-map-mask = <0 0 0 0>;483		interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;484 485		bus-range = <0x00 0xff>;486		#address-cells = <3>;487		#size-cells = <2>;488 489		ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000   /* port 0 configuration space */490			  0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000   /* port 1 configuration space */491			  0x81000000 0 0x0        0x0 0x12000000 0 0x00010000   /* downstream I/O (64 KiB) */492			  0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000   /* non-prefetchable memory (208 MiB) */493			  0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */494 495		clocks = <&tegra_car TEGRA210_CLK_PCIE>,496			 <&tegra_car TEGRA210_CLK_AFI>,497			 <&tegra_car TEGRA210_CLK_PLL_E>,498			 <&tegra_car TEGRA210_CLK_CML0>;499		clock-names = "pex", "afi", "pll_e", "cml";500		resets = <&tegra_car 70>,501			 <&tegra_car 72>,502			 <&tegra_car 74>;503		reset-names = "pex", "afi", "pcie_x";504		status = "disabled";505 506		pci@1,0 {507			device_type = "pci";508			assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;509			reg = <0x000800 0 0 0 0>;510			status = "disabled";511 512			#address-cells = <3>;513			#size-cells = <2>;514			ranges;515 516			nvidia,num-lanes = <4>;517		};518 519		pci@2,0 {520			device_type = "pci";521			assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;522			reg = <0x001000 0 0 0 0>;523			status = "disabled";524 525			#address-cells = <3>;526			#size-cells = <2>;527			ranges;528 529			nvidia,num-lanes = <1>;530		};531	};532 533Board DTS:534 535	pcie-controller@1003000 {536		status = "okay";537 538		avdd-pll-uerefe-supply = <&avdd_1v05_pll>;539		hvddio-pex-supply = <&vdd_1v8>;540		dvddio-pex-supply = <&vdd_pex_1v05>;541		dvdd-pex-pll-supply = <&vdd_pex_1v05>;542		hvdd-pex-pll-e-supply = <&vdd_1v8>;543		vddio-pex-ctl-supply = <&vdd_1v8>;544 545		pci@1,0 {546			phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>,547			       <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>,548			       <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>,549			       <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>;550			phy-names = "pcie-0", "pcie-1", "pcie-2", "pcie-3";551			status = "okay";552		};553 554		pci@2,0 {555			phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>;556			phy-names = "pcie-0";557			status = "okay";558		};559	};560 561Tegra186:562---------563 564SoC DTSI:565 566	pcie@10003000 {567		compatible = "nvidia,tegra186-pcie";568		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>;569		device_type = "pci";570		reg = <0x0 0x10003000 0x0 0x00000800   /* PADS registers */571		       0x0 0x10003800 0x0 0x00000800   /* AFI registers */572		       0x0 0x40000000 0x0 0x10000000>; /* configuration space */573		reg-names = "pads", "afi", "cs";574 575		interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */576			     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */577		interrupt-names = "intr", "msi";578 579		#interrupt-cells = <1>;580		interrupt-map-mask = <0 0 0 0>;581		interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;582 583		bus-range = <0x00 0xff>;584		#address-cells = <3>;585		#size-cells = <2>;586 587		ranges = <0x82000000 0 0x10000000 0x0 0x10000000 0 0x00001000   /* port 0 configuration space */588			  0x82000000 0 0x10001000 0x0 0x10001000 0 0x00001000   /* port 1 configuration space */589			  0x82000000 0 0x10004000 0x0 0x10004000 0 0x00001000   /* port 2 configuration space */590			  0x81000000 0 0x0        0x0 0x50000000 0 0x00010000   /* downstream I/O (64 KiB) */591			  0x82000000 0 0x50100000 0x0 0x50100000 0 0x07F00000   /* non-prefetchable memory (127 MiB) */592			  0xc2000000 0 0x58000000 0x0 0x58000000 0 0x28000000>; /* prefetchable memory (640 MiB) */593 594		clocks = <&bpmp TEGRA186_CLK_AFI>,595			 <&bpmp TEGRA186_CLK_PCIE>,596			 <&bpmp TEGRA186_CLK_PLLE>;597		clock-names = "afi", "pex", "pll_e";598 599		resets = <&bpmp TEGRA186_RESET_AFI>,600			 <&bpmp TEGRA186_RESET_PCIE>,601			 <&bpmp TEGRA186_RESET_PCIEXCLK>;602		reset-names = "afi", "pex", "pcie_x";603 604		status = "disabled";605 606		pci@1,0 {607			device_type = "pci";608			assigned-addresses = <0x82000800 0 0x10000000 0 0x1000>;609			reg = <0x000800 0 0 0 0>;610			status = "disabled";611 612			#address-cells = <3>;613			#size-cells = <2>;614			ranges;615 616			nvidia,num-lanes = <2>;617		};618 619		pci@2,0 {620			device_type = "pci";621			assigned-addresses = <0x82001000 0 0x10001000 0 0x1000>;622			reg = <0x001000 0 0 0 0>;623			status = "disabled";624 625			#address-cells = <3>;626			#size-cells = <2>;627			ranges;628 629			nvidia,num-lanes = <1>;630		};631 632		pci@3,0 {633			device_type = "pci";634			assigned-addresses = <0x82001800 0 0x10004000 0 0x1000>;635			reg = <0x001800 0 0 0 0>;636			status = "disabled";637 638			#address-cells = <3>;639			#size-cells = <2>;640			ranges;641 642			nvidia,num-lanes = <1>;643		};644	};645 646Board DTS:647 648	pcie@10003000 {649		status = "okay";650 651		dvdd-pex-supply = <&vdd_pex>;652		hvdd-pex-pll-supply = <&vdd_1v8>;653		hvdd-pex-supply = <&vdd_1v8>;654		vddio-pexctl-aud-supply = <&vdd_1v8>;655 656		pci@1,0 {657			nvidia,num-lanes = <4>;658			status = "okay";659		};660 661		pci@2,0 {662			nvidia,num-lanes = <0>;663			status = "disabled";664		};665 666		pci@3,0 {667			nvidia,num-lanes = <1>;668			status = "disabled";669		};670	};671