162306a36Sopenharmony_ciV3 Semiconductor V360 EPC PCI bridge 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciThis bridge is found in the ARM Integrator/AP (Application Platform) 462306a36Sopenharmony_ci 562306a36Sopenharmony_ciRequired properties: 662306a36Sopenharmony_ci- compatible: should be one of: 762306a36Sopenharmony_ci "v3,v360epc-pci" 862306a36Sopenharmony_ci "arm,integrator-ap-pci", "v3,v360epc-pci" 962306a36Sopenharmony_ci- reg: should contain two register areas: 1062306a36Sopenharmony_ci first the base address of the V3 host bridge controller, 64KB 1162306a36Sopenharmony_ci second the configuration area register space, 16MB 1262306a36Sopenharmony_ci- interrupts: should contain a reference to the V3 error interrupt 1362306a36Sopenharmony_ci as routed on the system. 1462306a36Sopenharmony_ci- bus-range: see pci.txt 1562306a36Sopenharmony_ci- ranges: this follows the standard PCI bindings in the IEEE Std 1662306a36Sopenharmony_ci 1275-1994 (see pci.txt) with the following restriction: 1762306a36Sopenharmony_ci - The non-prefetchable and prefetchable memory windows must 1862306a36Sopenharmony_ci each be exactly 256MB (0x10000000) in size. 1962306a36Sopenharmony_ci - The prefetchable memory window must be immediately adjacent 2062306a36Sopenharmony_ci to the non-prefetcable memory window 2162306a36Sopenharmony_ci- dma-ranges: three ranges for the inbound memory region. The ranges must 2262306a36Sopenharmony_ci be aligned to a 1MB boundary, and may be 1MB, 2MB, 4MB, 8MB, 16MB, 32MB, 2362306a36Sopenharmony_ci 64MB, 128MB, 256MB, 512MB, 1GB or 2GB in size. The memory should be marked 2462306a36Sopenharmony_ci as pre-fetchable. Two ranges are supported by the hardware. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciIntegrator-specific required properties: 2762306a36Sopenharmony_ci- syscon: should contain a link to the syscon device node, since 2862306a36Sopenharmony_ci on the Integrator, some registers in the syscon are required to 2962306a36Sopenharmony_ci operate the V3 host bridge. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ciExample: 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_cipci: pciv3@62000000 { 3462306a36Sopenharmony_ci compatible = "arm,integrator-ap-pci", "v3,v360epc-pci"; 3562306a36Sopenharmony_ci #interrupt-cells = <1>; 3662306a36Sopenharmony_ci #size-cells = <2>; 3762306a36Sopenharmony_ci #address-cells = <3>; 3862306a36Sopenharmony_ci reg = <0x62000000 0x10000>, <0x61000000 0x01000000>; 3962306a36Sopenharmony_ci interrupt-parent = <&pic>; 4062306a36Sopenharmony_ci interrupts = <17>; /* Bus error IRQ */ 4162306a36Sopenharmony_ci clocks = <&pciclk>; 4262306a36Sopenharmony_ci bus-range = <0x00 0xff>; 4362306a36Sopenharmony_ci ranges = 0x01000000 0 0x00000000 /* I/O space @00000000 */ 4462306a36Sopenharmony_ci 0x60000000 0 0x01000000 /* 16 MiB @ LB 60000000 */ 4562306a36Sopenharmony_ci 0x02000000 0 0x40000000 /* non-prefectable memory @40000000 */ 4662306a36Sopenharmony_ci 0x40000000 0 0x10000000 /* 256 MiB @ LB 40000000 1:1 */ 4762306a36Sopenharmony_ci 0x42000000 0 0x50000000 /* prefetchable memory @50000000 */ 4862306a36Sopenharmony_ci 0x50000000 0 0x10000000>; /* 256 MiB @ LB 50000000 1:1 */ 4962306a36Sopenharmony_ci dma-ranges = <0x02000000 0 0x20000000 /* EBI memory space */ 5062306a36Sopenharmony_ci 0x20000000 0 0x20000000 /* 512 MB @ LB 20000000 1:1 */ 5162306a36Sopenharmony_ci 0x02000000 0 0x80000000 /* Core module alias memory */ 5262306a36Sopenharmony_ci 0x80000000 0 0x40000000>; /* 1GB @ LB 80000000 */ 5362306a36Sopenharmony_ci interrupt-map-mask = <0xf800 0 0 0x7>; 5462306a36Sopenharmony_ci interrupt-map = < 5562306a36Sopenharmony_ci /* IDSEL 9 */ 5662306a36Sopenharmony_ci 0x4800 0 0 1 &pic 13 /* INT A on slot 9 is irq 13 */ 5762306a36Sopenharmony_ci 0x4800 0 0 2 &pic 14 /* INT B on slot 9 is irq 14 */ 5862306a36Sopenharmony_ci 0x4800 0 0 3 &pic 15 /* INT C on slot 9 is irq 15 */ 5962306a36Sopenharmony_ci 0x4800 0 0 4 &pic 16 /* INT D on slot 9 is irq 16 */ 6062306a36Sopenharmony_ci /* IDSEL 10 */ 6162306a36Sopenharmony_ci 0x5000 0 0 1 &pic 14 /* INT A on slot 10 is irq 14 */ 6262306a36Sopenharmony_ci 0x5000 0 0 2 &pic 15 /* INT B on slot 10 is irq 15 */ 6362306a36Sopenharmony_ci 0x5000 0 0 3 &pic 16 /* INT C on slot 10 is irq 16 */ 6462306a36Sopenharmony_ci 0x5000 0 0 4 &pic 13 /* INT D on slot 10 is irq 13 */ 6562306a36Sopenharmony_ci /* IDSEL 11 */ 6662306a36Sopenharmony_ci 0x5800 0 0 1 &pic 15 /* INT A on slot 11 is irq 15 */ 6762306a36Sopenharmony_ci 0x5800 0 0 2 &pic 16 /* INT B on slot 11 is irq 16 */ 6862306a36Sopenharmony_ci 0x5800 0 0 3 &pic 13 /* INT C on slot 11 is irq 13 */ 6962306a36Sopenharmony_ci 0x5800 0 0 4 &pic 14 /* INT D on slot 11 is irq 14 */ 7062306a36Sopenharmony_ci /* IDSEL 12 */ 7162306a36Sopenharmony_ci 0x6000 0 0 1 &pic 16 /* INT A on slot 12 is irq 16 */ 7262306a36Sopenharmony_ci 0x6000 0 0 2 &pic 13 /* INT B on slot 12 is irq 13 */ 7362306a36Sopenharmony_ci 0x6000 0 0 3 &pic 14 /* INT C on slot 12 is irq 14 */ 7462306a36Sopenharmony_ci 0x6000 0 0 4 &pic 15 /* INT D on slot 12 is irq 15 */ 7562306a36Sopenharmony_ci >; 7662306a36Sopenharmony_ci}; 77