184943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 284943d6fSEmmanuel Vadot# Copyright (C) 2022-2023 Renesas Electronics Corp. 384943d6fSEmmanuel Vadot%YAML 1.2 484943d6fSEmmanuel Vadot--- 584943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/rcar-gen4-pci-host.yaml# 684943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 784943d6fSEmmanuel Vadot 884943d6fSEmmanuel Vadottitle: Renesas R-Car Gen4 PCIe Host 984943d6fSEmmanuel Vadot 1084943d6fSEmmanuel Vadotmaintainers: 1184943d6fSEmmanuel Vadot - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 1284943d6fSEmmanuel Vadot 1384943d6fSEmmanuel VadotallOf: 1484943d6fSEmmanuel Vadot - $ref: snps,dw-pcie.yaml# 1584943d6fSEmmanuel Vadot 1684943d6fSEmmanuel Vadotproperties: 1784943d6fSEmmanuel Vadot compatible: 1884943d6fSEmmanuel Vadot items: 197d0873ebSEmmanuel Vadot - enum: 207d0873ebSEmmanuel Vadot - renesas,r8a779f0-pcie # R-Car S4-8 217d0873ebSEmmanuel Vadot - renesas,r8a779g0-pcie # R-Car V4H 22*b2d2a78aSEmmanuel Vadot - renesas,r8a779h0-pcie # R-Car V4M 2384943d6fSEmmanuel Vadot - const: renesas,rcar-gen4-pcie # R-Car Gen4 2484943d6fSEmmanuel Vadot 2584943d6fSEmmanuel Vadot reg: 2684943d6fSEmmanuel Vadot maxItems: 7 2784943d6fSEmmanuel Vadot 2884943d6fSEmmanuel Vadot reg-names: 2984943d6fSEmmanuel Vadot items: 3084943d6fSEmmanuel Vadot - const: dbi 3184943d6fSEmmanuel Vadot - const: dbi2 3284943d6fSEmmanuel Vadot - const: atu 3384943d6fSEmmanuel Vadot - const: dma 3484943d6fSEmmanuel Vadot - const: app 3584943d6fSEmmanuel Vadot - const: phy 3684943d6fSEmmanuel Vadot - const: config 3784943d6fSEmmanuel Vadot 3884943d6fSEmmanuel Vadot interrupts: 3984943d6fSEmmanuel Vadot maxItems: 4 4084943d6fSEmmanuel Vadot 4184943d6fSEmmanuel Vadot interrupt-names: 4284943d6fSEmmanuel Vadot items: 4384943d6fSEmmanuel Vadot - const: msi 4484943d6fSEmmanuel Vadot - const: dma 4584943d6fSEmmanuel Vadot - const: sft_ce 4684943d6fSEmmanuel Vadot - const: app 4784943d6fSEmmanuel Vadot 4884943d6fSEmmanuel Vadot clocks: 4984943d6fSEmmanuel Vadot maxItems: 2 5084943d6fSEmmanuel Vadot 5184943d6fSEmmanuel Vadot clock-names: 5284943d6fSEmmanuel Vadot items: 5384943d6fSEmmanuel Vadot - const: core 5484943d6fSEmmanuel Vadot - const: ref 5584943d6fSEmmanuel Vadot 5684943d6fSEmmanuel Vadot power-domains: 5784943d6fSEmmanuel Vadot maxItems: 1 5884943d6fSEmmanuel Vadot 5984943d6fSEmmanuel Vadot resets: 6084943d6fSEmmanuel Vadot maxItems: 1 6184943d6fSEmmanuel Vadot 6284943d6fSEmmanuel Vadot reset-names: 6384943d6fSEmmanuel Vadot items: 6484943d6fSEmmanuel Vadot - const: pwr 6584943d6fSEmmanuel Vadot 6684943d6fSEmmanuel Vadot max-link-speed: 6784943d6fSEmmanuel Vadot maximum: 4 6884943d6fSEmmanuel Vadot 6984943d6fSEmmanuel Vadot num-lanes: 7084943d6fSEmmanuel Vadot maximum: 4 7184943d6fSEmmanuel Vadot 7284943d6fSEmmanuel Vadotrequired: 7384943d6fSEmmanuel Vadot - compatible 7484943d6fSEmmanuel Vadot - reg 7584943d6fSEmmanuel Vadot - reg-names 7684943d6fSEmmanuel Vadot - interrupts 7784943d6fSEmmanuel Vadot - interrupt-names 7884943d6fSEmmanuel Vadot - clocks 7984943d6fSEmmanuel Vadot - clock-names 8084943d6fSEmmanuel Vadot - power-domains 8184943d6fSEmmanuel Vadot - resets 8284943d6fSEmmanuel Vadot - reset-names 8384943d6fSEmmanuel Vadot 8484943d6fSEmmanuel VadotunevaluatedProperties: false 8584943d6fSEmmanuel Vadot 8684943d6fSEmmanuel Vadotexamples: 8784943d6fSEmmanuel Vadot - | 8884943d6fSEmmanuel Vadot #include <dt-bindings/clock/r8a779f0-cpg-mssr.h> 8984943d6fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 9084943d6fSEmmanuel Vadot #include <dt-bindings/power/r8a779f0-sysc.h> 9184943d6fSEmmanuel Vadot 9284943d6fSEmmanuel Vadot soc { 9384943d6fSEmmanuel Vadot #address-cells = <2>; 9484943d6fSEmmanuel Vadot #size-cells = <2>; 9584943d6fSEmmanuel Vadot 9684943d6fSEmmanuel Vadot pcie: pcie@e65d0000 { 9784943d6fSEmmanuel Vadot compatible = "renesas,r8a779f0-pcie", "renesas,rcar-gen4-pcie"; 9884943d6fSEmmanuel Vadot reg = <0 0xe65d0000 0 0x1000>, <0 0xe65d2000 0 0x0800>, 9984943d6fSEmmanuel Vadot <0 0xe65d3000 0 0x2000>, <0 0xe65d5000 0 0x1200>, 10084943d6fSEmmanuel Vadot <0 0xe65d6200 0 0x0e00>, <0 0xe65d7000 0 0x0400>, 10184943d6fSEmmanuel Vadot <0 0xfe000000 0 0x400000>; 10284943d6fSEmmanuel Vadot reg-names = "dbi", "dbi2", "atu", "dma", "app", "phy", "config"; 10384943d6fSEmmanuel Vadot interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, 10484943d6fSEmmanuel Vadot <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>, 10584943d6fSEmmanuel Vadot <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>, 10684943d6fSEmmanuel Vadot <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>; 10784943d6fSEmmanuel Vadot interrupt-names = "msi", "dma", "sft_ce", "app"; 10884943d6fSEmmanuel Vadot clocks = <&cpg CPG_MOD 624>, <&pcie0_clkref>; 10984943d6fSEmmanuel Vadot clock-names = "core", "ref"; 11084943d6fSEmmanuel Vadot power-domains = <&sysc R8A779F0_PD_ALWAYS_ON>; 11184943d6fSEmmanuel Vadot resets = <&cpg 624>; 11284943d6fSEmmanuel Vadot reset-names = "pwr"; 11384943d6fSEmmanuel Vadot max-link-speed = <4>; 11484943d6fSEmmanuel Vadot num-lanes = <2>; 11584943d6fSEmmanuel Vadot #address-cells = <3>; 11684943d6fSEmmanuel Vadot #size-cells = <2>; 11784943d6fSEmmanuel Vadot bus-range = <0x00 0xff>; 11884943d6fSEmmanuel Vadot device_type = "pci"; 11984943d6fSEmmanuel Vadot ranges = <0x01000000 0 0x00000000 0 0xfe000000 0 0x00400000>, 12084943d6fSEmmanuel Vadot <0x02000000 0 0x30000000 0 0x30000000 0 0x10000000>; 12184943d6fSEmmanuel Vadot dma-ranges = <0x42000000 0 0x00000000 0 0x00000000 1 0x00000000>; 12284943d6fSEmmanuel Vadot #interrupt-cells = <1>; 12384943d6fSEmmanuel Vadot interrupt-map-mask = <0 0 0 7>; 12484943d6fSEmmanuel Vadot interrupt-map = <0 0 0 1 &gic GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, 12584943d6fSEmmanuel Vadot <0 0 0 2 &gic GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, 12684943d6fSEmmanuel Vadot <0 0 0 3 &gic GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, 12784943d6fSEmmanuel Vadot <0 0 0 4 &gic GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>; 12884943d6fSEmmanuel Vadot snps,enable-cdm-check; 12984943d6fSEmmanuel Vadot }; 13084943d6fSEmmanuel Vadot }; 131