1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/misc/pci1de4,1.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: RaspberryPi RP1 MFD PCI device 8 9maintainers: 10 - A. della Porta <andrea.porta@suse.com> 11 12description: 13 The RaspberryPi RP1 is a PCI multi function device containing 14 peripherals ranging from Ethernet to USB controller, I2C, SPI 15 and others. 16 The peripherals are accessed by addressing the PCI BAR1 region. 17 18allOf: 19 - $ref: /schemas/pci/pci-ep-bus.yaml 20 21properties: 22 compatible: 23 additionalItems: true 24 maxItems: 3 25 items: 26 - const: pci1de4,1 27 28 reg: 29 maxItems: 1 30 description: The PCI Bus-Device-Function address. 31 32 '#interrupt-cells': 33 const: 2 34 description: | 35 Specifies respectively the interrupt number and flags as defined 36 in include/dt-bindings/interrupt-controller/irq.h. 37 Since all interrupts are active high, only IRQ_TYPE_LEVEL_HIGH 38 and IRQ_TYPE_EDGE_RISING can be specified as type flags. 39 The supported values for the interrupt number are: 40 - IO BANK0: 0 41 - IO BANK1: 1 42 - IO BANK2: 2 43 - AUDIO IN: 3 44 - AUDIO OUT: 4 45 - PWM0: 5 46 - ETH: 6 47 - I2C0: 7 48 - I2C1: 8 49 - I2C2: 9 50 - I2C3: 10 51 - I2C4: 11 52 - I2C5: 12 53 - I2C6: 13 54 - I2S0: 14 55 - I2S1: 15 56 - I2S2: 16 57 - SDIO0: 17 58 - SDIO1: 18 59 - SPI0: 19 60 - SPI1: 20 61 - SPI2: 21 62 - SPI3: 22 63 - SPI4: 23 64 - SPI5: 24 65 - UART0: 25 66 - TIMER0: 26 67 - TIMER1: 27 68 - TIMER2: 28 69 - TIMER3: 29 70 - USB HOST0: 30 71 - USB HOST0-0: 31 72 - USB HOST0-1: 32 73 - USB HOST0-2: 33 74 - USB HOST0-3: 34 75 - USB HOST1: 35 76 - USB HOST1-0: 36 77 - USB HOST1-1: 37 78 - USB HOST1-2: 38 79 - USB HOST1-3: 39 80 - DMA: 40 81 - PWM1: 41 82 - UART1: 42 83 - UART2: 43 84 - UART3: 44 85 - UART4: 45 86 - UART5: 46 87 - MIPI0: 47 88 - MIPI1: 48 89 - VIDEO OUT: 49 90 - PIO0: 50 91 - PIO1: 51 92 - ADC FIFO: 52 93 - PCIE OUT: 53 94 - SPI6: 54 95 - SPI7: 55 96 - SPI8: 56 97 - PROC MISC: 57 98 - SYSCFG: 58 99 - CLOCKS DEFAULT: 59 100 - VBUSCTRL: 60 101 102 interrupt-controller: true 103 104unevaluatedProperties: false 105 106required: 107 - compatible 108 - reg 109 - '#interrupt-cells' 110 - interrupt-controller 111 - pci-ep-bus@1 112 113examples: 114 - | 115 pci { 116 #address-cells = <3>; 117 #size-cells = <2>; 118 119 dev@0,0 { 120 compatible = "pci1de4,1"; 121 reg = <0x10000 0x0 0x0 0x0 0x0>; 122 ranges = <0x01 0x00 0x00000000 0x82010000 0x00 0x00 0x00 0x400000>; 123 #address-cells = <3>; 124 #size-cells = <2>; 125 interrupt-controller; 126 #interrupt-cells = <2>; 127 128 pci_ep_bus: pci-ep-bus@1 { 129 compatible = "simple-bus"; 130 ranges = <0x00 0x40000000 0x01 0x00 0x00000000 0x00 0x00400000>; 131 dma-ranges = <0x10 0x00000000 0x43000000 0x10 0x00000000 0x10 0x00000000>; 132 #address-cells = <2>; 133 #size-cells = <2>; 134 135 rp1_clocks: clocks@40018000 { 136 compatible = "raspberrypi,rp1-clocks"; 137 reg = <0x00 0x40018000 0x0 0x10038>; 138 #clock-cells = <1>; 139 clocks = <&clk_rp1_xosc>; 140 }; 141 }; 142 }; 143 }; 144