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#
150 - cirrus,lochnagar2-vddcore
154 Primary power supply for the Lochnagar.
160 Initialisation data for the MICVDD regulator, which supplies the
163 $ref: /schemas/regulator/regulator.yaml#
167 - cirrus,lochnagar2-micvdd
171 Primary power supply for the Lochnagar.
177 Initialisation data for the MIC1VDD supplies.
179 $ref: /schemas/regulator/regulator.yaml#
183 - cirrus,lochnagar2-mic1vdd
185 cirrus,micbias-input:
187 A property selecting which of the CODEC minicard micbias outputs
189 $ref: /schemas/types.yaml#/definitions/uint32
195 Regulator supplies for the MIC1VDD outputs, supplying the digital
196 microphones, normally supplied from the attached CODEC.
202 Initialisation data for the MIC2VDD supplies.
204 $ref: /schemas/regulator/regulator.yaml#
208 - cirrus,lochnagar2-mic2vdd
210 cirrus,micbias-input:
212 A property selecting which of the CODEC minicard micbias outputs
214 $ref: /schemas/types.yaml#/definitions/uint32
220 Regulator supplies for the MIC2VDD outputs, supplying the digital
221 microphones, normally supplied from the attached CODEC.
227 Recommended fixed regulator for the VDD1V8 regulator, which supplies
228 the CODECs analog and 1.8V digital supplies.
230 $ref: /schemas/regulator/regulator.yaml#
236 regulator-min-microvolt:
239 regulator-max-microvolt:
244 Should be set to same supply as SYSVDD
247 - regulator-min-microvolt
248 - regulator-max-microvolt
250 - regulator-always-on
260 additionalProperties: false
264 #include <dt-bindings/clk/lochnagar.h>
265 #include <dt-bindings/pinctrl/lochnagar.h>
267 #address-cells = <1>;
269 reg = <0xe0004000 0x1000>;
271 lochnagar: lochnagar@22 {
272 compatible = "cirrus,lochnagar2";
275 reset-gpios = <&gpio0 55 0>;
276 present-gpios = <&gpio0 60 0>;
278 lochnagarclk: lochnagar-clk {
279 compatible = "cirrus,lochnagar2-clk";
282 clocks = <&clkaudio>, <&clkpmic>;
283 clock-names = "ln-gf-mclk2", "ln-pmic-32k";
285 assigned-clocks = <&lochnagarclk LOCHNAGAR_CDC_MCLK1>,
286 <&lochnagarclk LOCHNAGAR_CDC_MCLK2>;
287 assigned-clock-parents = <&clkaudio>, <&clkpmic>;
290 clkpmic: lochnagar-pmic32k {
291 compatible = "fixed-clock";
293 clock-frequency = <32768>;
297 compatible = "cirrus,lochnagar-pinctrl";
301 gpio-ranges = <&lochnagar 0 0 LOCHNAGAR2_PIN_NUM_GPIOS>;
303 pinctrl-names = "default";
304 pinctrl-0 = <&pinsettings>;
306 pinsettings: pin-settings {
310 function = "codec-aif3";
314 groups = "codec-aif3";
315 function = "gf-aif1";
321 compatible = "cirrus,lochnagar2-soundcard";
323 #sound-dai-cells = <1>;
325 clocks = <&lochnagarclk LOCHNAGAR_SOUNDCARD_MCLK>;
326 clock-names = "mclk";
330 compatible = "cirrus,lochnagar2-hwmon";
334 compatible = "cirrus,lochnagar2-mic1vdd";
336 cirrus,micbias-input = <3>;
340 compatible = "cirrus,lochnagar2-micvdd";
342 SYSVDD-supply = <&wallvdd>;
344 regulator-min-microvolt = <3300000>;
345 regulator-max-microvolt = <3300000>;
349 compatible = "regulator-fixed";
351 regulator-name = "VDD1V8";
352 regulator-min-microvolt = <1800000>;
353 regulator-max-microvolt = <1800000>;
357 vin-supply = <&wallvdd>;