xref: /freebsd/sys/contrib/device-tree/Bindings/pci/intel,keembay-pcie.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2354d7675SEmmanuel Vadot%YAML 1.2
3354d7675SEmmanuel Vadot---
4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/intel,keembay-pcie.yaml#
5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6354d7675SEmmanuel Vadot
7354d7675SEmmanuel Vadottitle: Intel Keem Bay PCIe controller Root Complex mode
8354d7675SEmmanuel Vadot
9354d7675SEmmanuel Vadotmaintainers:
10354d7675SEmmanuel Vadot  - Wan Ahmad Zainie <wan.ahmad.zainie.wan.mohamad@intel.com>
11354d7675SEmmanuel Vadot  - Srikanth Thokala <srikanth.thokala@intel.com>
12354d7675SEmmanuel Vadot
13354d7675SEmmanuel VadotallOf:
14*7d0873ebSEmmanuel Vadot  - $ref: /schemas/pci/pci-host-bridge.yaml#
15354d7675SEmmanuel Vadot
16354d7675SEmmanuel Vadotproperties:
17354d7675SEmmanuel Vadot  compatible:
18354d7675SEmmanuel Vadot    const: intel,keembay-pcie
19354d7675SEmmanuel Vadot
20354d7675SEmmanuel Vadot  ranges:
21354d7675SEmmanuel Vadot    maxItems: 1
22354d7675SEmmanuel Vadot
23354d7675SEmmanuel Vadot  reset-gpios:
24354d7675SEmmanuel Vadot    maxItems: 1
25354d7675SEmmanuel Vadot
26354d7675SEmmanuel Vadot  reg:
27354d7675SEmmanuel Vadot    maxItems: 4
28354d7675SEmmanuel Vadot
29354d7675SEmmanuel Vadot  reg-names:
30354d7675SEmmanuel Vadot    items:
31354d7675SEmmanuel Vadot      - const: dbi
32354d7675SEmmanuel Vadot      - const: atu
33354d7675SEmmanuel Vadot      - const: config
34354d7675SEmmanuel Vadot      - const: apb
35354d7675SEmmanuel Vadot
36354d7675SEmmanuel Vadot  clocks:
37354d7675SEmmanuel Vadot    maxItems: 2
38354d7675SEmmanuel Vadot
39354d7675SEmmanuel Vadot  clock-names:
40354d7675SEmmanuel Vadot    items:
41354d7675SEmmanuel Vadot      - const: master
42354d7675SEmmanuel Vadot      - const: aux
43354d7675SEmmanuel Vadot
44354d7675SEmmanuel Vadot  interrupts:
45354d7675SEmmanuel Vadot    maxItems: 3
46354d7675SEmmanuel Vadot
47354d7675SEmmanuel Vadot  interrupt-names:
48354d7675SEmmanuel Vadot    items:
49354d7675SEmmanuel Vadot      - const: pcie
50354d7675SEmmanuel Vadot      - const: pcie_ev
51354d7675SEmmanuel Vadot      - const: pcie_err
52354d7675SEmmanuel Vadot
53354d7675SEmmanuel Vadot  num-lanes:
54354d7675SEmmanuel Vadot    description: Number of lanes to use.
55354d7675SEmmanuel Vadot    enum: [ 1, 2 ]
56354d7675SEmmanuel Vadot
57354d7675SEmmanuel Vadotrequired:
58354d7675SEmmanuel Vadot  - compatible
59354d7675SEmmanuel Vadot  - reg
60354d7675SEmmanuel Vadot  - reg-names
61354d7675SEmmanuel Vadot  - ranges
62354d7675SEmmanuel Vadot  - clocks
63354d7675SEmmanuel Vadot  - clock-names
64354d7675SEmmanuel Vadot  - interrupts
65354d7675SEmmanuel Vadot  - interrupt-names
66354d7675SEmmanuel Vadot  - reset-gpios
67354d7675SEmmanuel Vadot
68354d7675SEmmanuel VadotunevaluatedProperties: false
69354d7675SEmmanuel Vadot
70354d7675SEmmanuel Vadotexamples:
71354d7675SEmmanuel Vadot  - |
72354d7675SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
73354d7675SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
74354d7675SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
75354d7675SEmmanuel Vadot    #define KEEM_BAY_A53_PCIE
76354d7675SEmmanuel Vadot    #define KEEM_BAY_A53_AUX_PCIE
77354d7675SEmmanuel Vadot    pcie@37000000 {
78354d7675SEmmanuel Vadot          compatible = "intel,keembay-pcie";
79354d7675SEmmanuel Vadot          reg = <0x37000000 0x00001000>,
80354d7675SEmmanuel Vadot                <0x37300000 0x00001000>,
81354d7675SEmmanuel Vadot                <0x36e00000 0x00200000>,
82354d7675SEmmanuel Vadot                <0x37800000 0x00000200>;
83354d7675SEmmanuel Vadot          reg-names = "dbi", "atu", "config", "apb";
84354d7675SEmmanuel Vadot          #address-cells = <3>;
85354d7675SEmmanuel Vadot          #size-cells = <2>;
86354d7675SEmmanuel Vadot          device_type = "pci";
87354d7675SEmmanuel Vadot          ranges = <0x02000000 0 0x36000000 0x36000000 0 0x00e00000>;
88354d7675SEmmanuel Vadot          interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
89354d7675SEmmanuel Vadot                       <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
90354d7675SEmmanuel Vadot                       <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
91354d7675SEmmanuel Vadot          interrupt-names = "pcie", "pcie_ev", "pcie_err";
92354d7675SEmmanuel Vadot          clocks = <&scmi_clk KEEM_BAY_A53_PCIE>,
93354d7675SEmmanuel Vadot                   <&scmi_clk KEEM_BAY_A53_AUX_PCIE>;
94354d7675SEmmanuel Vadot          clock-names = "master", "aux";
95354d7675SEmmanuel Vadot          reset-gpios = <&pca2 9 GPIO_ACTIVE_LOW>;
96354d7675SEmmanuel Vadot          num-lanes = <2>;
97354d7675SEmmanuel Vadot    };
98