forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
360 lines
9.1 KiB
360 lines
9.1 KiB
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
|
%YAML 1.2 |
|
--- |
|
$id: http://devicetree.org/schemas/mfd/cirrus,lochnagar.yaml# |
|
$schema: http://devicetree.org/meta-schemas/core.yaml# |
|
|
|
title: Cirrus Logic Lochnagar Audio Development Board |
|
|
|
maintainers: |
|
- [email protected] |
|
|
|
description: | |
|
Lochnagar is an evaluation and development board for Cirrus Logic |
|
Smart CODEC and Amp devices. It allows the connection of most Cirrus |
|
Logic devices on mini-cards, as well as allowing connection of |
|
various application processor systems to provide a full evaluation |
|
platform. Audio system topology, clocking and power can all be |
|
controlled through the Lochnagar, allowing the device under test |
|
to be used in a variety of possible use cases. |
|
|
|
Also see these documents for generic binding information: |
|
[1] GPIO : ../gpio/gpio.txt |
|
|
|
And these for relevant defines: |
|
[2] include/dt-bindings/pinctrl/lochnagar.h |
|
[3] include/dt-bindings/clock/lochnagar.h |
|
|
|
And these documents for the required sub-node binding details: |
|
[4] Clock: ../clock/cirrus,lochnagar.yaml |
|
[5] Pinctrl: ../pinctrl/cirrus,lochnagar.yaml |
|
[6] Sound: ../sound/cirrus,lochnagar.yaml |
|
[7] Hardware Monitor: ../hwmon/cirrus,lochnagar.yaml |
|
|
|
allOf: |
|
- if: |
|
properties: |
|
compatible: |
|
enum: |
|
- cirrus,lochnagar2 |
|
then: |
|
properties: |
|
lochnagar-hwmon: |
|
type: object |
|
$ref: /schemas/hwmon/cirrus,lochnagar.yaml# |
|
|
|
lochnagar-sc: |
|
type: object |
|
$ref: /schemas/sound/cirrus,lochnagar.yaml# |
|
|
|
properties: |
|
compatible: |
|
enum: |
|
- cirrus,lochnagar1 |
|
- cirrus,lochnagar2 |
|
|
|
reg: |
|
const: 0x22 |
|
|
|
reset-gpios: |
|
maxItems: 1 |
|
|
|
present-gpios: |
|
description: | |
|
Host present line, indicating the presence of a |
|
host system, see [1]. This can be omitted if the present line is |
|
tied in hardware. |
|
maxItems: 1 |
|
|
|
lochnagar-clk: |
|
type: object |
|
$ref: /schemas/clock/cirrus,lochnagar.yaml# |
|
|
|
lochnagar-pmic32k: |
|
type: object |
|
$ref: /schemas/clock/fixed-clock.yaml# |
|
properties: |
|
clock-frequency: |
|
const: 32768 |
|
|
|
lochnagar-clk12m: |
|
type: object |
|
$ref: /schemas/clock/fixed-clock.yaml# |
|
properties: |
|
clock-frequency: |
|
const: 12288000 |
|
|
|
lochnagar-clk11m: |
|
type: object |
|
$ref: /schemas/clock/fixed-clock.yaml# |
|
properties: |
|
clock-frequency: |
|
const: 11298600 |
|
|
|
lochnagar-clk24m: |
|
type: object |
|
$ref: /schemas/clock/fixed-clock.yaml# |
|
properties: |
|
clock-frequency: |
|
const: 24576000 |
|
|
|
lochnagar-clk22m: |
|
type: object |
|
$ref: /schemas/clock/fixed-clock.yaml# |
|
properties: |
|
clock-frequency: |
|
const: 22579200 |
|
|
|
lochnagar-clk8m: |
|
type: object |
|
$ref: /schemas/clock/fixed-clock.yaml# |
|
properties: |
|
clock-frequency: |
|
const: 8192000 |
|
|
|
lochnagar-usb24m: |
|
type: object |
|
$ref: /schemas/clock/fixed-clock.yaml# |
|
properties: |
|
clock-frequency: |
|
const: 24576000 |
|
|
|
lochnagar-usb12m: |
|
type: object |
|
$ref: /schemas/clock/fixed-clock.yaml# |
|
properties: |
|
clock-frequency: |
|
const: 12288000 |
|
|
|
lochnagar-pinctrl: |
|
type: object |
|
$ref: /schemas/pinctrl/cirrus,lochnagar.yaml# |
|
|
|
lochnagar-hwmon: |
|
type: object |
|
$ref: /schemas/hwmon/cirrus,lochnagar.yaml# |
|
|
|
lochnagar-sc: |
|
type: object |
|
$ref: /schemas/sound/cirrus,lochnagar.yaml# |
|
|
|
VDDCORE: |
|
description: |
|
Initialisation data for the VDDCORE regulator, which supplies the |
|
CODECs digital core if not being provided by an internal regulator. |
|
type: object |
|
$ref: /schemas/regulator/regulator.yaml# |
|
properties: |
|
compatible: |
|
enum: |
|
- cirrus,lochnagar2-vddcore |
|
|
|
SYSVDD-supply: |
|
description: |
|
Primary power supply for the Lochnagar. |
|
required: |
|
- compatible |
|
|
|
MICVDD: |
|
description: |
|
Initialisation data for the MICVDD regulator, which supplies the |
|
CODECs MICVDD. |
|
type: object |
|
$ref: /schemas/regulator/regulator.yaml# |
|
properties: |
|
compatible: |
|
enum: |
|
- cirrus,lochnagar2-micvdd |
|
|
|
SYSVDD-supply: |
|
description: |
|
Primary power supply for the Lochnagar. |
|
required: |
|
- compatible |
|
|
|
MIC1VDD: |
|
description: |
|
Initialisation data for the MIC1VDD supplies. |
|
type: object |
|
$ref: /schemas/regulator/regulator.yaml# |
|
properties: |
|
compatible: |
|
enum: |
|
- cirrus,lochnagar2-mic1vdd |
|
|
|
cirrus,micbias-input: |
|
description: |
|
A property selecting which of the CODEC minicard micbias outputs |
|
should be used. |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
minimum: 1 |
|
maximum: 4 |
|
|
|
MICBIAS1-supply: |
|
description: |
|
Regulator supplies for the MIC1VDD outputs, supplying the digital |
|
microphones, normally supplied from the attached CODEC. |
|
required: |
|
- compatible |
|
|
|
MIC2VDD: |
|
description: |
|
Initialisation data for the MIC2VDD supplies. |
|
type: object |
|
$ref: /schemas/regulator/regulator.yaml# |
|
properties: |
|
compatible: |
|
enum: |
|
- cirrus,lochnagar2-mic2vdd |
|
|
|
cirrus,micbias-input: |
|
description: |
|
A property selecting which of the CODEC minicard micbias outputs |
|
should be used. |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
minimum: 1 |
|
maximum: 4 |
|
|
|
MICBIAS2-supply: |
|
description: |
|
Regulator supplies for the MIC2VDD outputs, supplying the digital |
|
microphones, normally supplied from the attached CODEC. |
|
required: |
|
- compatible |
|
|
|
VDD1V8: |
|
description: |
|
Recommended fixed regulator for the VDD1V8 regulator, which supplies |
|
the CODECs analog and 1.8V digital supplies. |
|
type: object |
|
$ref: /schemas/regulator/regulator.yaml# |
|
properties: |
|
compatible: |
|
enum: |
|
- regulator-fixed |
|
|
|
regulator-min-microvolt: |
|
const: 1800000 |
|
|
|
regulator-max-microvolt: |
|
const: 1800000 |
|
|
|
vin-supply: |
|
description: |
|
Should be set to same supply as SYSVDD |
|
required: |
|
- compatible |
|
- regulator-min-microvolt |
|
- regulator-max-microvolt |
|
- regulator-boot-on |
|
- regulator-always-on |
|
- vin-supply |
|
|
|
required: |
|
- compatible |
|
- reg |
|
- reset-gpios |
|
- lochnagar-clk |
|
- lochnagar-pinctrl |
|
|
|
additionalProperties: false |
|
|
|
examples: |
|
- | |
|
#include <dt-bindings/clk/lochnagar.h> |
|
#include <dt-bindings/pinctrl/lochnagar.h> |
|
i2c@e0004000 { |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
reg = <0xe0004000 0x1000>; |
|
|
|
lochnagar: lochnagar@22 { |
|
compatible = "cirrus,lochnagar2"; |
|
reg = <0x22>; |
|
|
|
reset-gpios = <&gpio0 55 0>; |
|
present-gpios = <&gpio0 60 0>; |
|
|
|
lochnagarclk: lochnagar-clk { |
|
compatible = "cirrus,lochnagar2-clk"; |
|
|
|
#clock-cells = <1>; |
|
clocks = <&clkaudio>, <&clkpmic>; |
|
clock-names = "ln-gf-mclk2", "ln-pmic-32k"; |
|
|
|
assigned-clocks = <&lochnagarclk LOCHNAGAR_CDC_MCLK1>, |
|
<&lochnagarclk LOCHNAGAR_CDC_MCLK2>; |
|
assigned-clock-parents = <&clkaudio>, <&clkpmic>; |
|
}; |
|
|
|
clkpmic: lochnagar-pmic32k { |
|
compatible = "fixed-clock"; |
|
#clock-cells = <0>; |
|
clock-frequency = <32768>; |
|
}; |
|
|
|
lochnagar-pinctrl { |
|
compatible = "cirrus,lochnagar-pinctrl"; |
|
|
|
gpio-controller; |
|
#gpio-cells = <2>; |
|
gpio-ranges = <&lochnagar 0 0 LOCHNAGAR2_PIN_NUM_GPIOS>; |
|
|
|
pinctrl-names = "default"; |
|
pinctrl-0 = <&pinsettings>; |
|
|
|
pinsettings: pin-settings { |
|
ap2aif-pins { |
|
input-enable; |
|
groups = "gf-aif1"; |
|
function = "codec-aif3"; |
|
}; |
|
codec2aif-pins { |
|
output-enable; |
|
groups = "codec-aif3"; |
|
function = "gf-aif1"; |
|
}; |
|
}; |
|
}; |
|
|
|
lochnagar-sc { |
|
compatible = "cirrus,lochnagar2-soundcard"; |
|
|
|
#sound-dai-cells = <1>; |
|
|
|
clocks = <&lochnagarclk LOCHNAGAR_SOUNDCARD_MCLK>; |
|
clock-names = "mclk"; |
|
}; |
|
|
|
lochnagar-hwmon { |
|
compatible = "cirrus,lochnagar2-hwmon"; |
|
}; |
|
|
|
MIC1VDD { |
|
compatible = "cirrus,lochnagar2-mic1vdd"; |
|
|
|
cirrus,micbias-input = <3>; |
|
}; |
|
|
|
MICVDD { |
|
compatible = "cirrus,lochnagar2-micvdd"; |
|
|
|
SYSVDD-supply = <&wallvdd>; |
|
|
|
regulator-min-microvolt = <3300000>; |
|
regulator-max-microvolt = <3300000>; |
|
}; |
|
|
|
VDD1V8 { |
|
compatible = "regulator-fixed"; |
|
|
|
regulator-name = "VDD1V8"; |
|
regulator-min-microvolt = <1800000>; |
|
regulator-max-microvolt = <1800000>; |
|
regulator-boot-on; |
|
regulator-always-on; |
|
|
|
vin-supply = <&wallvdd>; |
|
}; |
|
}; |
|
};
|
|
|