blob: 5e000b3fadde3a707d36a94e3755513fd3fbe9af [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 pin-settings:
55 type: object
56 patternProperties:
57 '-pins$':
58 description:
59 The pin configurations are defined as a child of the pinctrl
60 states node, see [2]. Each sub-node can have the following
61 properties.
62 type: object
63 allOf:
64 - $ref: pincfg-node.yaml#
65 - $ref: pinmux-node.yaml#
66
67 properties:
68 groups:
69 description:
70 A list of groups to select (either this or "pins" must be
71 specified), available groups.
72 enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1,
73 dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3,
74 gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif,
75 soundcard-aif ]
76
77 pins:
78 description:
79 A list of pin names to select (either this or "groups" must
80 be specified), available pins.
81 enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
82 fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
83 codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
84 codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
85 dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
86 gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk,
87 codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat,
88 codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk,
89 codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat,
90 codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk,
91 dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat,
92 dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk,
93 dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk,
94 psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk,
95 psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat,
96 gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk,
97 gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat,
98 gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk,
99 gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat,
100 gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx,
101 dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
102 gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1,
103 codec-pdmdat1, codec-pdmclk2, codec-pdmdat2,
104 codec-dmicclk1, codec-dmicdat1, codec-dmicclk2,
105 codec-dmicdat2, codec-dmicclk3, codec-dmicdat3,
106 codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1,
107 dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl,
108 i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda,
109 dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin,
110 psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5,
111 dsp-gpio20, led1, led2 ]
112
113 function:
114 description:
115 The mux function to select, available functions.
116 enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
117 fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
118 codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
119 codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
120 dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
121 gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5,
122 dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k,
123 spdif-clkout, clk-12m288, clk-11m2986, clk-24m576,
124 clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1,
125 gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1,
126 codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk,
127 spdif-mclk, codec-irq, codec-reset, dsp-reset,
128 dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1,
129 codec-pdmclk2, codec-pdmdat2, codec-dmicclk1,
130 codec-dmicdat1, codec-dmicclk2, codec-dmicdat2,
131 codec-dmicclk3, codec-dmicdat3, codec-dmicclk4,
132 codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1,
133 dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx,
134 dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
135 gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx,
136 i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl,
137 i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk,
138 psia1-rxdat, psia1-txdat, psia2, psia2-bclk,
139 psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1,
140 codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat,
141 codec-aif1-txdat, codec-aif2, codec-aif2-bclk,
142 codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat,
143 codec-aif3, codec-aif3-bclk, codec-aif3-lrclk,
144 codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1,
145 dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat,
146 dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk,
147 dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat,
148 gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat,
149 gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk,
150 gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk,
151 gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2,
152 gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat,
153 gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif,
154 soundcard-aif ]
155
156 output-enable:
157 description:
158 Specifies that an AIF group will be used as a master
159 interface (either this or input-enable is required if a
160 group is being muxed to an AIF)
161
162 input-enable:
163 description:
164 Specifies that an AIF group will be used as a slave
165 interface (either this or output-enable is required if a
166 group is being muxed to an AIF)
167
168 additionalProperties: false
169
170 required:
171 - function
172
173 additionalProperties: false
174
175allOf:
176 - $ref: pinctrl.yaml#
177
178required:
179 - compatible
180 - gpio-controller
181 - '#gpio-cells'
182 - gpio-ranges
183 - pinctrl-0
184 - pinctrl-names
185
186additionalProperties: false