0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: "http://devicetree.org/schemas/pci/intel,keembay-pcie.yaml#"
0005 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0006
0007 title: Intel Keem Bay PCIe controller Root Complex mode
0008
0009 maintainers:
0010 - Wan Ahmad Zainie <wan.ahmad.zainie.wan.mohamad@intel.com>
0011 - Srikanth Thokala <srikanth.thokala@intel.com>
0012
0013 allOf:
0014 - $ref: /schemas/pci/pci-bus.yaml#
0015
0016 properties:
0017 compatible:
0018 const: intel,keembay-pcie
0019
0020 ranges:
0021 maxItems: 1
0022
0023 reset-gpios:
0024 maxItems: 1
0025
0026 reg:
0027 maxItems: 4
0028
0029 reg-names:
0030 items:
0031 - const: dbi
0032 - const: atu
0033 - const: config
0034 - const: apb
0035
0036 clocks:
0037 maxItems: 2
0038
0039 clock-names:
0040 items:
0041 - const: master
0042 - const: aux
0043
0044 interrupts:
0045 maxItems: 3
0046
0047 interrupt-names:
0048 items:
0049 - const: pcie
0050 - const: pcie_ev
0051 - const: pcie_err
0052
0053 num-lanes:
0054 description: Number of lanes to use.
0055 enum: [ 1, 2 ]
0056
0057 required:
0058 - compatible
0059 - reg
0060 - reg-names
0061 - ranges
0062 - clocks
0063 - clock-names
0064 - interrupts
0065 - interrupt-names
0066 - reset-gpios
0067
0068 unevaluatedProperties: false
0069
0070 examples:
0071 - |
0072 #include <dt-bindings/interrupt-controller/arm-gic.h>
0073 #include <dt-bindings/interrupt-controller/irq.h>
0074 #include <dt-bindings/gpio/gpio.h>
0075 #define KEEM_BAY_A53_PCIE
0076 #define KEEM_BAY_A53_AUX_PCIE
0077 pcie@37000000 {
0078 compatible = "intel,keembay-pcie";
0079 reg = <0x37000000 0x00001000>,
0080 <0x37300000 0x00001000>,
0081 <0x36e00000 0x00200000>,
0082 <0x37800000 0x00000200>;
0083 reg-names = "dbi", "atu", "config", "apb";
0084 #address-cells = <3>;
0085 #size-cells = <2>;
0086 device_type = "pci";
0087 ranges = <0x02000000 0 0x36000000 0x36000000 0 0x00e00000>;
0088 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
0089 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
0090 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
0091 interrupt-names = "pcie", "pcie_ev", "pcie_err";
0092 clocks = <&scmi_clk KEEM_BAY_A53_PCIE>,
0093 <&scmi_clk KEEM_BAY_A53_AUX_PCIE>;
0094 clock-names = "master", "aux";
0095 reset-gpios = <&pca2 9 GPIO_ACTIVE_LOW>;
0096 num-lanes = <2>;
0097 };