xref: /freebsd/sys/contrib/device-tree/Bindings/pci/rcar-pci-host.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot# Copyright (C) 2020 Renesas Electronics Corp.
35def4c47SEmmanuel Vadot%YAML 1.2
45def4c47SEmmanuel Vadot---
55def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/pci/rcar-pci-host.yaml#
65def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
75def4c47SEmmanuel Vadot
85def4c47SEmmanuel Vadottitle: Renesas R-Car PCIe Host
95def4c47SEmmanuel Vadot
105def4c47SEmmanuel Vadotmaintainers:
115def4c47SEmmanuel Vadot  - Marek Vasut <marek.vasut+renesas@gmail.com>
125def4c47SEmmanuel Vadot  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
135def4c47SEmmanuel Vadot
145def4c47SEmmanuel VadotallOf:
155def4c47SEmmanuel Vadot  - $ref: pci-bus.yaml#
165def4c47SEmmanuel Vadot
175def4c47SEmmanuel Vadotproperties:
185def4c47SEmmanuel Vadot  compatible:
195def4c47SEmmanuel Vadot    oneOf:
202eb4d8dcSEmmanuel Vadot      - const: renesas,pcie-r8a7779       # R-Car H1
215def4c47SEmmanuel Vadot      - items:
225def4c47SEmmanuel Vadot          - enum:
235def4c47SEmmanuel Vadot              - renesas,pcie-r8a7742      # RZ/G1H
245def4c47SEmmanuel Vadot              - renesas,pcie-r8a7743      # RZ/G1M
255def4c47SEmmanuel Vadot              - renesas,pcie-r8a7744      # RZ/G1N
265def4c47SEmmanuel Vadot              - renesas,pcie-r8a7790      # R-Car H2
275def4c47SEmmanuel Vadot              - renesas,pcie-r8a7791      # R-Car M2-W
285def4c47SEmmanuel Vadot              - renesas,pcie-r8a7793      # R-Car M2-N
295def4c47SEmmanuel Vadot          - const: renesas,pcie-rcar-gen2 # R-Car Gen2 and RZ/G1
305def4c47SEmmanuel Vadot      - items:
315def4c47SEmmanuel Vadot          - enum:
325def4c47SEmmanuel Vadot              - renesas,pcie-r8a774a1     # RZ/G2M
335def4c47SEmmanuel Vadot              - renesas,pcie-r8a774b1     # RZ/G2N
345def4c47SEmmanuel Vadot              - renesas,pcie-r8a774c0     # RZ/G2E
355def4c47SEmmanuel Vadot              - renesas,pcie-r8a774e1     # RZ/G2H
365def4c47SEmmanuel Vadot              - renesas,pcie-r8a7795      # R-Car H3
375def4c47SEmmanuel Vadot              - renesas,pcie-r8a7796      # R-Car M3-W
385def4c47SEmmanuel Vadot              - renesas,pcie-r8a77961     # R-Car M3-W+
395def4c47SEmmanuel Vadot              - renesas,pcie-r8a77965     # R-Car M3-N
405def4c47SEmmanuel Vadot              - renesas,pcie-r8a77980     # R-Car V3H
415def4c47SEmmanuel Vadot              - renesas,pcie-r8a77990     # R-Car E3
425def4c47SEmmanuel Vadot          - const: renesas,pcie-rcar-gen3 # R-Car Gen3 and RZ/G2
435def4c47SEmmanuel Vadot
445def4c47SEmmanuel Vadot  reg:
455def4c47SEmmanuel Vadot    maxItems: 1
465def4c47SEmmanuel Vadot
475def4c47SEmmanuel Vadot  interrupts:
485def4c47SEmmanuel Vadot    minItems: 3
495def4c47SEmmanuel Vadot    maxItems: 3
505def4c47SEmmanuel Vadot
515def4c47SEmmanuel Vadot  clocks:
525def4c47SEmmanuel Vadot    maxItems: 2
535def4c47SEmmanuel Vadot
545def4c47SEmmanuel Vadot  clock-names:
555def4c47SEmmanuel Vadot    items:
565def4c47SEmmanuel Vadot      - const: pcie
575def4c47SEmmanuel Vadot      - const: pcie_bus
585def4c47SEmmanuel Vadot
595def4c47SEmmanuel Vadot  power-domains:
605def4c47SEmmanuel Vadot    maxItems: 1
615def4c47SEmmanuel Vadot
625def4c47SEmmanuel Vadot  resets:
635def4c47SEmmanuel Vadot    maxItems: 1
645def4c47SEmmanuel Vadot
655def4c47SEmmanuel Vadot  phys:
665def4c47SEmmanuel Vadot    maxItems: 1
675def4c47SEmmanuel Vadot
685def4c47SEmmanuel Vadot  phy-names:
695def4c47SEmmanuel Vadot    const: pcie
705def4c47SEmmanuel Vadot
71*8d13bc63SEmmanuel Vadot  vpcie1v5-supply:
72*8d13bc63SEmmanuel Vadot    description: The 1.5v regulator to use for PCIe.
73*8d13bc63SEmmanuel Vadot
74*8d13bc63SEmmanuel Vadot  vpcie3v3-supply:
75*8d13bc63SEmmanuel Vadot    description: The 3.3v regulator to use for PCIe.
76*8d13bc63SEmmanuel Vadot
77*8d13bc63SEmmanuel Vadot  vpcie12v-supply:
78*8d13bc63SEmmanuel Vadot    description: The 12v regulator to use for PCIe.
79*8d13bc63SEmmanuel Vadot
805def4c47SEmmanuel Vadotrequired:
815def4c47SEmmanuel Vadot  - compatible
825def4c47SEmmanuel Vadot  - reg
835def4c47SEmmanuel Vadot  - interrupts
845def4c47SEmmanuel Vadot  - clocks
855def4c47SEmmanuel Vadot  - clock-names
865def4c47SEmmanuel Vadot  - power-domains
872eb4d8dcSEmmanuel Vadot
882eb4d8dcSEmmanuel Vadotif:
892eb4d8dcSEmmanuel Vadot  not:
902eb4d8dcSEmmanuel Vadot    properties:
912eb4d8dcSEmmanuel Vadot      compatible:
922eb4d8dcSEmmanuel Vadot        contains:
932eb4d8dcSEmmanuel Vadot          const: renesas,pcie-r8a7779
942eb4d8dcSEmmanuel Vadotthen:
952eb4d8dcSEmmanuel Vadot  required:
965def4c47SEmmanuel Vadot    - resets
975def4c47SEmmanuel Vadot
985def4c47SEmmanuel VadotunevaluatedProperties: false
995def4c47SEmmanuel Vadot
1005def4c47SEmmanuel Vadotexamples:
1015def4c47SEmmanuel Vadot  - |
1025def4c47SEmmanuel Vadot    #include <dt-bindings/clock/r8a7791-cpg-mssr.h>
1035def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1045def4c47SEmmanuel Vadot    #include <dt-bindings/power/r8a7791-sysc.h>
1055def4c47SEmmanuel Vadot
1065def4c47SEmmanuel Vadot    soc {
1075def4c47SEmmanuel Vadot        #address-cells = <2>;
1085def4c47SEmmanuel Vadot        #size-cells = <2>;
1095def4c47SEmmanuel Vadot
1105def4c47SEmmanuel Vadot        pcie: pcie@fe000000 {
1115def4c47SEmmanuel Vadot            compatible = "renesas,pcie-r8a7791", "renesas,pcie-rcar-gen2";
1125def4c47SEmmanuel Vadot            reg = <0 0xfe000000 0 0x80000>;
1135def4c47SEmmanuel Vadot             #address-cells = <3>;
1145def4c47SEmmanuel Vadot             #size-cells = <2>;
1155def4c47SEmmanuel Vadot             bus-range = <0x00 0xff>;
1165def4c47SEmmanuel Vadot             device_type = "pci";
1175def4c47SEmmanuel Vadot             ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000>,
1185def4c47SEmmanuel Vadot                      <0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000>,
1195def4c47SEmmanuel Vadot                      <0x02000000 0 0x30000000 0 0x30000000 0 0x08000000>,
1205def4c47SEmmanuel Vadot                      <0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
1215def4c47SEmmanuel Vadot             dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x40000000>,
1225def4c47SEmmanuel Vadot                          <0x42000000 2 0x00000000 2 0x00000000 0 0x40000000>;
1235def4c47SEmmanuel Vadot             interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1245def4c47SEmmanuel Vadot                          <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1255def4c47SEmmanuel Vadot                          <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1265def4c47SEmmanuel Vadot             #interrupt-cells = <1>;
1275def4c47SEmmanuel Vadot             interrupt-map-mask = <0 0 0 0>;
1285def4c47SEmmanuel Vadot             interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
1295def4c47SEmmanuel Vadot             clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
1305def4c47SEmmanuel Vadot             clock-names = "pcie", "pcie_bus";
1315def4c47SEmmanuel Vadot             power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1325def4c47SEmmanuel Vadot             resets = <&cpg 319>;
133*8d13bc63SEmmanuel Vadot             vpcie3v3-supply = <&pcie_3v3>;
134*8d13bc63SEmmanuel Vadot             vpcie12v-supply = <&pcie_12v>;
1355def4c47SEmmanuel Vadot         };
1365def4c47SEmmanuel Vadot    };
137