15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25956d97fSEmmanuel Vadot%YAML 1.2 35956d97fSEmmanuel Vadot--- 45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/intel,ixp4xx-pci.yaml# 55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65956d97fSEmmanuel Vadot 75956d97fSEmmanuel Vadottitle: Intel IXP4xx PCI controller 85956d97fSEmmanuel Vadot 95956d97fSEmmanuel Vadotmaintainers: 105956d97fSEmmanuel Vadot - Linus Walleij <linus.walleij@linaro.org> 115956d97fSEmmanuel Vadot 125956d97fSEmmanuel Vadotdescription: PCI host controller found in the Intel IXP4xx SoC series. 135956d97fSEmmanuel Vadot 145956d97fSEmmanuel VadotallOf: 15*7d0873ebSEmmanuel Vadot - $ref: /schemas/pci/pci-host-bridge.yaml# 165956d97fSEmmanuel Vadot 175956d97fSEmmanuel Vadotproperties: 185956d97fSEmmanuel Vadot compatible: 195956d97fSEmmanuel Vadot items: 205956d97fSEmmanuel Vadot - enum: 215956d97fSEmmanuel Vadot - intel,ixp42x-pci 225956d97fSEmmanuel Vadot - intel,ixp43x-pci 235956d97fSEmmanuel Vadot description: The two supported variants are ixp42x and ixp43x, 245956d97fSEmmanuel Vadot though more variants may exist. 255956d97fSEmmanuel Vadot 265956d97fSEmmanuel Vadot reg: 275956d97fSEmmanuel Vadot items: 285956d97fSEmmanuel Vadot - description: IXP4xx-specific registers 295956d97fSEmmanuel Vadot 305956d97fSEmmanuel Vadot interrupts: 315956d97fSEmmanuel Vadot items: 325956d97fSEmmanuel Vadot - description: Main PCI interrupt 335956d97fSEmmanuel Vadot - description: PCI DMA interrupt 1 345956d97fSEmmanuel Vadot - description: PCI DMA interrupt 2 355956d97fSEmmanuel Vadot 365956d97fSEmmanuel Vadot ranges: 375956d97fSEmmanuel Vadot maxItems: 2 385956d97fSEmmanuel Vadot description: Typically one memory range of 64MB and one IO 395956d97fSEmmanuel Vadot space range of 64KB. 405956d97fSEmmanuel Vadot 415956d97fSEmmanuel Vadot dma-ranges: 425956d97fSEmmanuel Vadot maxItems: 1 435956d97fSEmmanuel Vadot description: The DMA range tells the PCI host which addresses 445956d97fSEmmanuel Vadot the RAM is at. It can map only 64MB so if the RAM is bigger 455956d97fSEmmanuel Vadot than 64MB the DMA access has to be restricted to these 465956d97fSEmmanuel Vadot addresses. 475956d97fSEmmanuel Vadot 485956d97fSEmmanuel Vadot "#interrupt-cells": true 495956d97fSEmmanuel Vadot 505956d97fSEmmanuel Vadot interrupt-map: true 515956d97fSEmmanuel Vadot 525956d97fSEmmanuel Vadot interrupt-map-mask: 535956d97fSEmmanuel Vadot items: 545956d97fSEmmanuel Vadot - const: 0xf800 555956d97fSEmmanuel Vadot - const: 0 565956d97fSEmmanuel Vadot - const: 0 575956d97fSEmmanuel Vadot - const: 7 585956d97fSEmmanuel Vadot 595956d97fSEmmanuel Vadotrequired: 605956d97fSEmmanuel Vadot - compatible 615956d97fSEmmanuel Vadot - reg 625956d97fSEmmanuel Vadot - dma-ranges 635956d97fSEmmanuel Vadot - "#interrupt-cells" 645956d97fSEmmanuel Vadot - interrupt-map 655956d97fSEmmanuel Vadot - interrupt-map-mask 665956d97fSEmmanuel Vadot 675956d97fSEmmanuel VadotunevaluatedProperties: false 685956d97fSEmmanuel Vadot 695956d97fSEmmanuel Vadotexamples: 705956d97fSEmmanuel Vadot - | 715956d97fSEmmanuel Vadot pci@c0000000 { 725956d97fSEmmanuel Vadot compatible = "intel,ixp43x-pci"; 735956d97fSEmmanuel Vadot reg = <0xc0000000 0x1000>; 745956d97fSEmmanuel Vadot #address-cells = <3>; 755956d97fSEmmanuel Vadot #size-cells = <2>; 765956d97fSEmmanuel Vadot device_type = "pci"; 775956d97fSEmmanuel Vadot bus-range = <0x00 0xff>; 785956d97fSEmmanuel Vadot 795956d97fSEmmanuel Vadot ranges = 805956d97fSEmmanuel Vadot <0x02000000 0 0x48000000 0x48000000 0 0x04000000>, 815956d97fSEmmanuel Vadot <0x01000000 0 0x00000000 0x4c000000 0 0x00010000>; 825956d97fSEmmanuel Vadot dma-ranges = 835956d97fSEmmanuel Vadot <0x02000000 0 0x00000000 0x00000000 0 0x04000000>; 845956d97fSEmmanuel Vadot 855956d97fSEmmanuel Vadot #interrupt-cells = <1>; 865956d97fSEmmanuel Vadot interrupt-map-mask = <0xf800 0 0 7>; 875956d97fSEmmanuel Vadot interrupt-map = 885956d97fSEmmanuel Vadot <0x0800 0 0 1 &gpio0 11 3>, /* INT A on slot 1 is irq 11 */ 895956d97fSEmmanuel Vadot <0x0800 0 0 2 &gpio0 10 3>, /* INT B on slot 1 is irq 10 */ 905956d97fSEmmanuel Vadot <0x0800 0 0 3 &gpio0 9 3>, /* INT C on slot 1 is irq 9 */ 915956d97fSEmmanuel Vadot <0x0800 0 0 4 &gpio0 8 3>, /* INT D on slot 1 is irq 8 */ 925956d97fSEmmanuel Vadot <0x1000 0 0 1 &gpio0 10 3>, /* INT A on slot 2 is irq 10 */ 935956d97fSEmmanuel Vadot <0x1000 0 0 2 &gpio0 9 3>, /* INT B on slot 2 is irq 9 */ 945956d97fSEmmanuel Vadot <0x1000 0 0 3 &gpio0 8 3>, /* INT C on slot 2 is irq 8 */ 955956d97fSEmmanuel Vadot <0x1000 0 0 4 &gpio0 11 3>, /* INT D on slot 2 is irq 11 */ 965956d97fSEmmanuel Vadot <0x1800 0 0 1 &gpio0 9 3>, /* INT A on slot 3 is irq 9 */ 975956d97fSEmmanuel Vadot <0x1800 0 0 2 &gpio0 8 3>, /* INT B on slot 3 is irq 8 */ 985956d97fSEmmanuel Vadot <0x1800 0 0 3 &gpio0 11 3>, /* INT C on slot 3 is irq 11 */ 995956d97fSEmmanuel Vadot <0x1800 0 0 4 &gpio0 10 3>; /* INT D on slot 3 is irq 10 */ 1005956d97fSEmmanuel Vadot }; 101