# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/pci/intel,keembay-pcie.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Intel Keem Bay PCIe controller Root Complex mode maintainers: - Wan Ahmad Zainie <wan.ahmad.zainie.wan.mohamad@intel.com> - Srikanth Thokala <srikanth.thokala@intel.com> allOf: - $ref: /schemas/pci/pci-bus.yaml# properties: compatible: const: intel,keembay-pcie ranges: maxItems: 1 reset-gpios: maxItems: 1 reg: maxItems: 4 reg-names: items: - const: dbi - const: atu - const: config - const: apb clocks: maxItems: 2 clock-names: items: - const: master - const: aux interrupts: maxItems: 3 interrupt-names: items: - const: pcie - const: pcie_ev - const: pcie_err num-lanes: description: Number of lanes to use. enum: [ 1, 2 ] required: - compatible - reg - reg-names - ranges - clocks - clock-names - interrupts - interrupt-names - reset-gpios unevaluatedProperties: false examples: - | #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/gpio/gpio.h> #define KEEM_BAY_A53_PCIE #define KEEM_BAY_A53_AUX_PCIE pcie@37000000 { compatible = "intel,keembay-pcie"; reg = <0x37000000 0x00001000>, <0x37300000 0x00001000>, <0x36e00000 0x00200000>, <0x37800000 0x00000200>; reg-names = "dbi", "atu", "config", "apb"; #address-cells = <3>; #size-cells = <2>; device_type = "pci"; ranges = <0x02000000 0 0x36000000 0x36000000 0 0x00e00000>; interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "pcie", "pcie_ev", "pcie_err"; clocks = <&scmi_clk KEEM_BAY_A53_PCIE>, <&scmi_clk KEEM_BAY_A53_AUX_PCIE>; clock-names = "master", "aux"; reset-gpios = <&pca2 9 GPIO_ACTIVE_LOW>; num-lanes = <2>; };