# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/misc/pci1de4,1.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: RaspberryPi RP1 MFD PCI device maintainers: - A. della Porta description: The RaspberryPi RP1 is a PCI multi function device containing peripherals ranging from Ethernet to USB controller, I2C, SPI and others. The peripherals are accessed by addressing the PCI BAR1 region. allOf: - $ref: /schemas/pci/pci-ep-bus.yaml properties: compatible: additionalItems: true maxItems: 3 items: - const: pci1de4,1 '#interrupt-cells': const: 2 description: | Specifies respectively the interrupt number and flags as defined in include/dt-bindings/interrupt-controller/irq.h. Since all interrupts are active high, only IRQ_TYPE_LEVEL_HIGH and IRQ_TYPE_EDGE_RISING can be specified as type flags. The supported values for the interrupt number are: - IO BANK0: 0 - IO BANK1: 1 - IO BANK2: 2 - AUDIO IN: 3 - AUDIO OUT: 4 - PWM0: 5 - ETH: 6 - I2C0: 7 - I2C1: 8 - I2C2: 9 - I2C3: 10 - I2C4: 11 - I2C5: 12 - I2C6: 13 - I2S0: 14 - I2S1: 15 - I2S2: 16 - SDIO0: 17 - SDIO1: 18 - SPI0: 19 - SPI1: 20 - SPI2: 21 - SPI3: 22 - SPI4: 23 - SPI5: 24 - UART0: 25 - TIMER0: 26 - TIMER1: 27 - TIMER2: 28 - TIMER3: 29 - USB HOST0: 30 - USB HOST0-0: 31 - USB HOST0-1: 32 - USB HOST0-2: 33 - USB HOST0-3: 34 - USB HOST1: 35 - USB HOST1-0: 36 - USB HOST1-1: 37 - USB HOST1-2: 38 - USB HOST1-3: 39 - DMA: 40 - PWM1: 41 - UART1: 42 - UART2: 43 - UART3: 44 - UART4: 45 - UART5: 46 - MIPI0: 47 - MIPI1: 48 - VIDEO OUT: 49 - PIO0: 50 - PIO1: 51 - ADC FIFO: 52 - PCIE OUT: 53 - SPI6: 54 - SPI7: 55 - SPI8: 56 - PROC MISC: 57 - SYSCFG: 58 - CLOCKS DEFAULT: 59 - VBUSCTRL: 60 interrupt-controller: true unevaluatedProperties: false required: - compatible - '#interrupt-cells' - interrupt-controller - pci-ep-bus@1 examples: - | pci { #address-cells = <3>; #size-cells = <2>; rp1@0,0 { compatible = "pci1de4,1"; ranges = <0x01 0x00 0x00000000 0x82010000 0x00 0x00 0x00 0x400000>; #address-cells = <3>; #size-cells = <2>; interrupt-controller; #interrupt-cells = <2>; pci_ep_bus: pci-ep-bus@1 { compatible = "simple-bus"; ranges = <0x00 0x40000000 0x01 0x00 0x00000000 0x00 0x00400000>; dma-ranges = <0x10 0x00000000 0x43000000 0x10 0x00000000 0x10 0x00000000>; #address-cells = <2>; #size-cells = <2>; rp1_clocks: clocks@40018000 { compatible = "raspberrypi,rp1-clocks"; reg = <0x00 0x40018000 0x0 0x10038>; #clock-cells = <1>; clocks = <&clk_rp1_xosc>; }; }; }; };