1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*ae5de77eSEmmanuel Vadot%YAML 1.2 3*ae5de77eSEmmanuel Vadot--- 4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/v3,v360epc-pci.yaml# 5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*ae5de77eSEmmanuel Vadot 7*ae5de77eSEmmanuel Vadottitle: V3 Semiconductor V360 EPC PCI bridge 8*ae5de77eSEmmanuel Vadot 9*ae5de77eSEmmanuel Vadotmaintainers: 10*ae5de77eSEmmanuel Vadot - Linus Walleij <linus.walleij@linaro.org> 11*ae5de77eSEmmanuel Vadot 12*ae5de77eSEmmanuel Vadotdescription: 13*ae5de77eSEmmanuel Vadot This bridge is found in the ARM Integrator/AP (Application Platform) 14*ae5de77eSEmmanuel Vadot 15*ae5de77eSEmmanuel VadotallOf: 16*ae5de77eSEmmanuel Vadot - $ref: /schemas/pci/pci-host-bridge.yaml# 17*ae5de77eSEmmanuel Vadot 18*ae5de77eSEmmanuel Vadotproperties: 19*ae5de77eSEmmanuel Vadot compatible: 20*ae5de77eSEmmanuel Vadot items: 21*ae5de77eSEmmanuel Vadot - const: arm,integrator-ap-pci 22*ae5de77eSEmmanuel Vadot - const: v3,v360epc-pci 23*ae5de77eSEmmanuel Vadot 24*ae5de77eSEmmanuel Vadot reg: 25*ae5de77eSEmmanuel Vadot items: 26*ae5de77eSEmmanuel Vadot - description: V3 host bridge controller 27*ae5de77eSEmmanuel Vadot - description: Configuration space 28*ae5de77eSEmmanuel Vadot 29*ae5de77eSEmmanuel Vadot clocks: 30*ae5de77eSEmmanuel Vadot maxItems: 1 31*ae5de77eSEmmanuel Vadot 32*ae5de77eSEmmanuel Vadot dma-ranges: 33*ae5de77eSEmmanuel Vadot maxItems: 2 34*ae5de77eSEmmanuel Vadot description: 35*ae5de77eSEmmanuel Vadot The inbound ranges must be aligned to a 1MB boundary, and may be 1MB, 2MB, 36*ae5de77eSEmmanuel Vadot 4MB, 8MB, 16MB, 32MB, 64MB, 128MB, 256MB, 512MB, 1GB or 2GB in size. The 37*ae5de77eSEmmanuel Vadot memory should be marked as pre-fetchable. 38*ae5de77eSEmmanuel Vadot 39*ae5de77eSEmmanuel Vadot interrupts: 40*ae5de77eSEmmanuel Vadot description: Bus Error IRQ 41*ae5de77eSEmmanuel Vadot maxItems: 1 42*ae5de77eSEmmanuel Vadot 43*ae5de77eSEmmanuel Vadot ranges: 44*ae5de77eSEmmanuel Vadot description: 45*ae5de77eSEmmanuel Vadot The non-prefetchable and prefetchable memory windows must each be exactly 46*ae5de77eSEmmanuel Vadot 256MB (0x10000000) in size. The prefetchable memory window must be 47*ae5de77eSEmmanuel Vadot immediately adjacent to the non-prefetchable memory window. 48*ae5de77eSEmmanuel Vadot 49*ae5de77eSEmmanuel Vadotrequired: 50*ae5de77eSEmmanuel Vadot - compatible 51*ae5de77eSEmmanuel Vadot - reg 52*ae5de77eSEmmanuel Vadot - clocks 53*ae5de77eSEmmanuel Vadot - dma-ranges 54*ae5de77eSEmmanuel Vadot - "#interrupt-cells" 55*ae5de77eSEmmanuel Vadot - interrupt-map 56*ae5de77eSEmmanuel Vadot - interrupt-map-mask 57*ae5de77eSEmmanuel Vadot 58*ae5de77eSEmmanuel VadotunevaluatedProperties: false 59*ae5de77eSEmmanuel Vadot 60*ae5de77eSEmmanuel Vadotexamples: 61*ae5de77eSEmmanuel Vadot - | 62*ae5de77eSEmmanuel Vadot pci@62000000 { 63*ae5de77eSEmmanuel Vadot compatible = "arm,integrator-ap-pci", "v3,v360epc-pci"; 64*ae5de77eSEmmanuel Vadot #interrupt-cells = <1>; 65*ae5de77eSEmmanuel Vadot #size-cells = <2>; 66*ae5de77eSEmmanuel Vadot #address-cells = <3>; 67*ae5de77eSEmmanuel Vadot reg = <0x62000000 0x10000>, <0x61000000 0x01000000>; 68*ae5de77eSEmmanuel Vadot device_type = "pci"; 69*ae5de77eSEmmanuel Vadot interrupt-parent = <&pic>; 70*ae5de77eSEmmanuel Vadot interrupts = <17>; /* Bus error IRQ */ 71*ae5de77eSEmmanuel Vadot clocks = <&pciclk>; 72*ae5de77eSEmmanuel Vadot ranges = <0x01000000 0 0x00000000 0x60000000 0 0x01000000>, /* 16 MiB @ LB 60000000 */ 73*ae5de77eSEmmanuel Vadot <0x02000000 0 0x40000000 0x40000000 0 0x10000000>, /* 256 MiB @ LB 40000000 1:1 */ 74*ae5de77eSEmmanuel Vadot <0x42000000 0 0x50000000 0x50000000 0 0x10000000>; /* 256 MiB @ LB 50000000 1:1 */ 75*ae5de77eSEmmanuel Vadot dma-ranges = <0x02000000 0 0x20000000 0x20000000 0 0x20000000>, /* EBI: 512 MB @ LB 20000000 1:1 */ 76*ae5de77eSEmmanuel Vadot <0x02000000 0 0x80000000 0x80000000 0 0x40000000>; /* CM alias: 1GB @ LB 80000000 */ 77*ae5de77eSEmmanuel Vadot interrupt-map-mask = <0xf800 0 0 0x7>; 78*ae5de77eSEmmanuel Vadot interrupt-map = 79*ae5de77eSEmmanuel Vadot /* IDSEL 9 */ 80*ae5de77eSEmmanuel Vadot <0x4800 0 0 1 &pic 13>, /* INT A on slot 9 is irq 13 */ 81*ae5de77eSEmmanuel Vadot <0x4800 0 0 2 &pic 14>, /* INT B on slot 9 is irq 14 */ 82*ae5de77eSEmmanuel Vadot <0x4800 0 0 3 &pic 15>, /* INT C on slot 9 is irq 15 */ 83*ae5de77eSEmmanuel Vadot <0x4800 0 0 4 &pic 16>, /* INT D on slot 9 is irq 16 */ 84*ae5de77eSEmmanuel Vadot /* IDSEL 10 */ 85*ae5de77eSEmmanuel Vadot <0x5000 0 0 1 &pic 14>, /* INT A on slot 10 is irq 14 */ 86*ae5de77eSEmmanuel Vadot <0x5000 0 0 2 &pic 15>, /* INT B on slot 10 is irq 15 */ 87*ae5de77eSEmmanuel Vadot <0x5000 0 0 3 &pic 16>, /* INT C on slot 10 is irq 16 */ 88*ae5de77eSEmmanuel Vadot <0x5000 0 0 4 &pic 13>, /* INT D on slot 10 is irq 13 */ 89*ae5de77eSEmmanuel Vadot /* IDSEL 11 */ 90*ae5de77eSEmmanuel Vadot <0x5800 0 0 1 &pic 15>, /* INT A on slot 11 is irq 15 */ 91*ae5de77eSEmmanuel Vadot <0x5800 0 0 2 &pic 16>, /* INT B on slot 11 is irq 16 */ 92*ae5de77eSEmmanuel Vadot <0x5800 0 0 3 &pic 13>, /* INT C on slot 11 is irq 13 */ 93*ae5de77eSEmmanuel Vadot <0x5800 0 0 4 &pic 14>, /* INT D on slot 11 is irq 14 */ 94*ae5de77eSEmmanuel Vadot /* IDSEL 12 */ 95*ae5de77eSEmmanuel Vadot <0x6000 0 0 1 &pic 16>, /* INT A on slot 12 is irq 16 */ 96*ae5de77eSEmmanuel Vadot <0x6000 0 0 2 &pic 13>, /* INT B on slot 12 is irq 13 */ 97*ae5de77eSEmmanuel Vadot <0x6000 0 0 3 &pic 14>, /* INT C on slot 12 is irq 14 */ 98*ae5de77eSEmmanuel Vadot <0x6000 0 0 4 &pic 15>; /* INT D on slot 12 is irq 15 */ 99*ae5de77eSEmmanuel Vadot }; 100*ae5de77eSEmmanuel Vadot... 101