dt-bindings: Another round of adding missing 'additionalProperties'
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / pinctrl / cirrus,lochnagar.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/pinctrl/cirrus,lochnagar.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Cirrus Logic Lochnagar Audio Development Board
8
9 maintainers:
10   - patches@opensource.cirrus.com
11
12 description: |
13   Lochnagar is an evaluation and development board for Cirrus Logic
14   Smart CODEC and Amp devices. It allows the connection of most Cirrus
15   Logic devices on mini-cards, as well as allowing connection of various
16   application processor systems to provide a full evaluation platform.
17   Audio system topology, clocking and power can all be controlled through
18   the Lochnagar, allowing the device under test to be used in a variety of
19   possible use cases.
20
21   This binding document describes the binding for the pinctrl portion of
22   the driver.
23
24   Also see these documents for generic binding information:
25     [1] GPIO : ../gpio/gpio.txt
26     [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt
27
28   And these for relevant defines:
29     [3] include/dt-bindings/pinctrl/lochnagar.h
30
31   This binding must be part of the Lochnagar MFD binding:
32     [4] ../mfd/cirrus,lochnagar.yaml
33
34 properties:
35   compatible:
36     enum:
37       - cirrus,lochnagar-pinctrl
38
39   gpio-controller: true
40
41   '#gpio-cells':
42     description:
43       The first cell is the pin number and the second cell is used
44       to specify optional parameters.
45     const: 2
46
47   gpio-ranges:
48     description:
49       Range of pins managed by the GPIO controller, see [1]. Both the
50       GPIO and Pinctrl base should be set to zero and the count to the
51       appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3].
52     maxItems: 1
53
54   pinctrl-0:
55     description:
56       A phandle to the default pinctrl state.
57
58   pinctrl-names:
59     description:
60       A pinctrl state named "default" must be defined.
61     const: default
62
63   pin-settings:
64     type: object
65     patternProperties:
66       '-pins$':
67         description:
68           The pin configurations are defined as a child of the pinctrl
69           states node, see [2]. Each sub-node can have the following
70           properties.
71         type: object
72         allOf:
73           - $ref: pincfg-node.yaml#
74           - $ref: pinmux-node.yaml#
75
76         properties:
77           groups:
78             description:
79               A list of groups to select (either this or "pins" must be
80               specified), available groups.
81             enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1,
82                     dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3,
83                     gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif,
84                     soundcard-aif ]
85
86           pins:
87             description:
88               A list of pin names to select (either this or "groups" must
89               be specified), available pins.
90             enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
91                     fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
92                     codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
93                     codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
94                     dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
95                     gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk,
96                     codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat,
97                     codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk,
98                     codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat,
99                     codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk,
100                     dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat,
101                     dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk,
102                     dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk,
103                     psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk,
104                     psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat,
105                     gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk,
106                     gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat,
107                     gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk,
108                     gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat,
109                     gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx,
110                     dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
111                     gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1,
112                     codec-pdmdat1, codec-pdmclk2, codec-pdmdat2,
113                     codec-dmicclk1, codec-dmicdat1, codec-dmicclk2,
114                     codec-dmicdat2, codec-dmicclk3, codec-dmicdat3,
115                     codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1,
116                     dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl,
117                     i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda,
118                     dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin,
119                     psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5,
120                     dsp-gpio20, led1, led2 ]
121
122           function:
123             description:
124               The mux function to select, available functions.
125             enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
126                     fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
127                     codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
128                     codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
129                     dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
130                     gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5,
131                     dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k,
132                     spdif-clkout, clk-12m288, clk-11m2986, clk-24m576,
133                     clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1,
134                     gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1,
135                     codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk,
136                     spdif-mclk, codec-irq, codec-reset, dsp-reset,
137                     dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1,
138                     codec-pdmclk2, codec-pdmdat2, codec-dmicclk1,
139                     codec-dmicdat1, codec-dmicclk2, codec-dmicdat2,
140                     codec-dmicclk3, codec-dmicdat3, codec-dmicclk4,
141                     codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1,
142                     dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx,
143                     dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
144                     gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx,
145                     i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl,
146                     i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk,
147                     psia1-rxdat, psia1-txdat, psia2, psia2-bclk,
148                     psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1,
149                     codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat,
150                     codec-aif1-txdat, codec-aif2, codec-aif2-bclk,
151                     codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat,
152                     codec-aif3, codec-aif3-bclk, codec-aif3-lrclk,
153                     codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1,
154                     dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat,
155                     dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk,
156                     dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat,
157                     gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat,
158                     gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk,
159                     gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk,
160                     gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2,
161                     gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat,
162                     gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif,
163                     soundcard-aif ]
164
165           output-enable:
166             description:
167               Specifies that an AIF group will be used as a master
168               interface (either this or input-enable is required if a
169               group is being muxed to an AIF)
170
171           input-enable:
172             description:
173               Specifies that an AIF group will be used as a slave
174               interface (either this or output-enable is required if a
175               group is being muxed to an AIF)
176
177         additionalProperties: false
178
179         required:
180           - function
181
182     additionalProperties: false
183
184 required:
185   - compatible
186   - gpio-controller
187   - '#gpio-cells'
188   - gpio-ranges
189   - pinctrl-0
190   - pinctrl-names
191
192 additionalProperties: false