aboutsummaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/misc/pci1de4,1.yaml
blob: 2f9a7a554ed8a941d7408001c731914c7123ad8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# 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>;
                };
            };
        };
    };