| # 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 <andrea.porta@suse.com> |
| |
| 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>; |
| }; |
| }; |
| }; |
| }; |