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