1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
4 $id: http://devicetree.org/schemas/mfd/cirrus,lochnagar.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Cirrus Logic Lochnagar Audio Development Board
10 - patches@opensource.cirrus.com
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
16 various application processor systems to provide a full evaluation
17 platform. Audio system topology, clocking and power can all be
18 controlled through the Lochnagar, allowing the device under test
19 to be used in a variety of possible use cases.
21 Also see these documents for generic binding information:
22 [1] GPIO : ../gpio/gpio.txt
24 And these for relevant defines:
25 [2] include/dt-bindings/pinctrl/lochnagar.h
26 [3] include/dt-bindings/clock/lochnagar.h
28 And these documents for the required sub-node binding details:
29 [4] Clock: ../clock/cirrus,lochnagar.yaml
30 [5] Pinctrl: ../pinctrl/cirrus,lochnagar.yaml
31 [6] Sound: ../sound/cirrus,lochnagar.yaml
32 [7] Hardware Monitor: ../hwmon/cirrus,lochnagar.yaml
44 $ref: /schemas/hwmon/cirrus,lochnagar.yaml#
48 $ref: /schemas/sound/cirrus,lochnagar.yaml#
64 Host present line, indicating the presence of a
65 host system, see [1]. This can be omitted if the present line is
71 $ref: /schemas/clock/cirrus,lochnagar.yaml#
75 $ref: /schemas/clock/fixed-clock.yaml#
82 $ref: /schemas/clock/fixed-clock.yaml#
89 $ref: /schemas/clock/fixed-clock.yaml#
96 $ref: /schemas/clock/fixed-clock.yaml#
103 $ref: /schemas/clock/fixed-clock.yaml#
110 $ref: /schemas/clock/fixed-clock.yaml#
117 $ref: /schemas/clock/fixed-clock.yaml#
124 $ref: /schemas/clock/fixed-clock.yaml#
131 $ref: /schemas/pinctrl/cirrus,lochnagar.yaml#
135 $ref: /schemas/hwmon/cirrus,lochnagar.yaml#
139 $ref: /schemas/sound/cirrus,lochnagar.yaml#
143 Initialisation data for the VDDCORE regulator, which supplies the
144 CODECs digital core if not being provided by an internal regulator.
146 $ref: /schemas/regulator/regulator.yaml#
147 unevaluatedProperties: false
151 - cirrus,lochnagar2-vddcore
155 Primary power supply for the Lochnagar.
161 Initialisation data for the MICVDD regulator, which supplies the
164 $ref: /schemas/regulator/regulator.yaml#
165 unevaluatedProperties: false
169 - cirrus,lochnagar2-micvdd
173 Primary power supply for the Lochnagar.
179 Initialisation data for the MIC1VDD supplies.
181 $ref: /schemas/regulator/regulator.yaml#
182 unevaluatedProperties: false
186 - cirrus,lochnagar2-mic1vdd
188 cirrus,micbias-input:
190 A property selecting which of the CODEC minicard micbias outputs
192 $ref: /schemas/types.yaml#/definitions/uint32
198 Regulator supplies for the MIC1VDD outputs, supplying the digital
199 microphones, normally supplied from the attached CODEC.
205 Initialisation data for the MIC2VDD supplies.
207 $ref: /schemas/regulator/regulator.yaml#
208 unevaluatedProperties: false
212 - cirrus,lochnagar2-mic2vdd
214 cirrus,micbias-input:
216 A property selecting which of the CODEC minicard micbias outputs
218 $ref: /schemas/types.yaml#/definitions/uint32
224 Regulator supplies for the MIC2VDD outputs, supplying the digital
225 microphones, normally supplied from the attached CODEC.
231 Recommended fixed regulator for the VDD1V8 regulator, which supplies
232 the CODECs analog and 1.8V digital supplies.
234 $ref: /schemas/regulator/regulator.yaml#
235 unevaluatedProperties: false
241 regulator-min-microvolt:
244 regulator-max-microvolt:
249 Should be set to same supply as SYSVDD
252 - regulator-min-microvolt
253 - regulator-max-microvolt
255 - regulator-always-on
265 additionalProperties: false
269 #include <dt-bindings/clock/lochnagar.h>
270 #include <dt-bindings/pinctrl/lochnagar.h>
272 #address-cells = <1>;
274 reg = <0xe0004000 0x1000>;
276 lochnagar: lochnagar@22 {
277 compatible = "cirrus,lochnagar2";
280 reset-gpios = <&gpio0 55 0>;
281 present-gpios = <&gpio0 60 0>;
283 lochnagarclk: lochnagar-clk {
284 compatible = "cirrus,lochnagar2-clk";
287 clocks = <&clkaudio>, <&clkpmic>;
288 clock-names = "ln-gf-mclk2", "ln-pmic-32k";
290 assigned-clocks = <&lochnagarclk LOCHNAGAR_CDC_MCLK1>,
291 <&lochnagarclk LOCHNAGAR_CDC_MCLK2>;
292 assigned-clock-parents = <&clkaudio>, <&clkpmic>;
295 clkpmic: lochnagar-pmic32k {
296 compatible = "fixed-clock";
298 clock-frequency = <32768>;
302 compatible = "cirrus,lochnagar-pinctrl";
306 gpio-ranges = <&lochnagar 0 0 LOCHNAGAR2_PIN_NUM_GPIOS>;
308 pinctrl-names = "default";
309 pinctrl-0 = <&pinsettings>;
311 pinsettings: pin-settings {
315 function = "codec-aif3";
319 groups = "codec-aif3";
320 function = "gf-aif1";
326 compatible = "cirrus,lochnagar2-soundcard";
328 #sound-dai-cells = <1>;
330 clocks = <&lochnagarclk LOCHNAGAR_SOUNDCARD_MCLK>;
331 clock-names = "mclk";
335 compatible = "cirrus,lochnagar2-hwmon";
339 compatible = "cirrus,lochnagar2-mic1vdd";
341 cirrus,micbias-input = <3>;
345 compatible = "cirrus,lochnagar2-micvdd";
347 SYSVDD-supply = <&wallvdd>;
349 regulator-min-microvolt = <3300000>;
350 regulator-max-microvolt = <3300000>;
354 compatible = "regulator-fixed";
356 regulator-name = "VDD1V8";
357 regulator-min-microvolt = <1800000>;
358 regulator-max-microvolt = <1800000>;
362 vin-supply = <&wallvdd>;