Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: Cirrus Logic Lochnagar Audio Development Board
8
9maintainers:
10 - patches@opensource.cirrus.com
11
12description: |
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
34properties:
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
184required:
185 - compatible
186 - gpio-controller
187 - '#gpio-cells'
188 - gpio-ranges
189 - pinctrl-0
190 - pinctrl-names
191
192additionalProperties: false