Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/pci/intel-gw-pcie.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: PCIe RC controller on Intel Gateway SoCs
0008 
0009 maintainers:
0010   - Rahul Tanwar <rtanwar@maxlinear.com>
0011 
0012 select:
0013   properties:
0014     compatible:
0015       contains:
0016         const: intel,lgm-pcie
0017   required:
0018     - compatible
0019 
0020 allOf:
0021   - $ref: /schemas/pci/snps,dw-pcie.yaml#
0022 
0023 properties:
0024   compatible:
0025     items:
0026       - const: intel,lgm-pcie
0027       - const: snps,dw-pcie
0028 
0029   reg:
0030     items:
0031       - description: Controller control and status registers.
0032       - description: PCIe configuration registers.
0033       - description: Controller application registers.
0034 
0035   reg-names:
0036     items:
0037       - const: dbi
0038       - const: config
0039       - const: app
0040 
0041   ranges:
0042     maxItems: 1
0043 
0044   resets:
0045     maxItems: 1
0046 
0047   clocks:
0048     maxItems: 1
0049 
0050   phys:
0051     maxItems: 1
0052 
0053   phy-names:
0054     const: pcie
0055 
0056   reset-gpios:
0057     maxItems: 1
0058 
0059   num-lanes:
0060     maximum: 2
0061 
0062   max-link-speed:
0063     enum: [1, 2, 3, 4]
0064     default: 1
0065 
0066   reset-assert-ms:
0067     description: |
0068       Delay after asserting reset to the PCIe device.
0069     maximum: 500
0070     default: 100
0071 
0072 required:
0073   - compatible
0074   - reg
0075   - reg-names
0076   - ranges
0077   - resets
0078   - clocks
0079   - phys
0080   - phy-names
0081   - reset-gpios
0082   - '#interrupt-cells'
0083   - interrupt-map
0084   - interrupt-map-mask
0085 
0086 unevaluatedProperties: false
0087 
0088 examples:
0089   - |
0090     #include <dt-bindings/gpio/gpio.h>
0091     pcie10: pcie@d0e00000 {
0092       compatible = "intel,lgm-pcie", "snps,dw-pcie";
0093       device_type = "pci";
0094       #address-cells = <3>;
0095       #size-cells = <2>;
0096       reg = <0xd0e00000 0x1000>,
0097             <0xd2000000 0x800000>,
0098             <0xd0a41000 0x1000>;
0099       reg-names = "dbi", "config", "app";
0100       linux,pci-domain = <0>;
0101       max-link-speed = <4>;
0102       bus-range = <0x00 0x08>;
0103       #interrupt-cells = <1>;
0104       interrupt-map-mask = <0 0 0 0x7>;
0105       interrupt-map = <0 0 0 1 &ioapic1 27 1>,
0106                       <0 0 0 2 &ioapic1 28 1>,
0107                       <0 0 0 3 &ioapic1 29 1>,
0108                       <0 0 0 4 &ioapic1 30 1>;
0109       ranges = <0x02000000 0 0xd4000000 0xd4000000 0 0x04000000>;
0110       resets = <&rcu0 0x50 0>;
0111       clocks = <&cgu0 120>;
0112       phys = <&cb0phy0>;
0113       phy-names = "pcie";
0114       reset-assert-ms = <500>;
0115       reset-gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
0116       num-lanes = <2>;
0117     };