mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-27 03:49:57 -04:00
mfd: madera: Move binding over to dtschema
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> [robh: Drop $ref on *-supply] Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
committed by
Rob Herring
parent
067243bab9
commit
2cb8052981
299
Documentation/devicetree/bindings/mfd/cirrus,madera.yaml
Normal file
299
Documentation/devicetree/bindings/mfd/cirrus,madera.yaml
Normal file
@@ -0,0 +1,299 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/cirrus,madera.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Cirrus Logic Madera class audio CODECs Multi-Functional Device
|
||||
|
||||
maintainers:
|
||||
- patches@opensource.cirrus.com
|
||||
|
||||
description: |
|
||||
These devices are audio SoCs with extensive digital capabilities and a range
|
||||
of analogue I/O.
|
||||
|
||||
See also the child driver bindings in:
|
||||
|
||||
bindings/pinctrl/cirrus,madera.yaml
|
||||
bindings/regulator/wlf,arizona.yaml
|
||||
bindings/sound/cirrus,madera.yaml
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/pinctrl/cirrus,madera.yaml#
|
||||
- $ref: /schemas/regulator/wlf,arizona.yaml#
|
||||
- $ref: /schemas/sound/cirrus,madera.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- cirrus,cs47l85
|
||||
- wlf,wm1840
|
||||
then:
|
||||
properties:
|
||||
SPKVDDL-supply:
|
||||
description:
|
||||
Left speaker driver power supply.
|
||||
|
||||
SPKVDDR-supply:
|
||||
description:
|
||||
Right speaker driver power supply.
|
||||
|
||||
required:
|
||||
- SPKVDDL-supply
|
||||
- SPKVDDR-supply
|
||||
else:
|
||||
required:
|
||||
- DCVDD-supply
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- cirrus,cs47l15
|
||||
- cirrus,cs47l35
|
||||
then:
|
||||
properties:
|
||||
SPKVDD-supply:
|
||||
description:
|
||||
Mono speaker driver power supply.
|
||||
|
||||
required:
|
||||
- SPKVDD-supply
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- cirrus,cs47l35
|
||||
- cirrus,cs47l85
|
||||
- cirrus,cs47l90
|
||||
- cirrus,cs47l91
|
||||
- wlf,wm1840
|
||||
then:
|
||||
properties:
|
||||
DBVDD2-supply:
|
||||
description:
|
||||
Databus power supply.
|
||||
|
||||
required:
|
||||
- DBVDD2-supply
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- cirrus,cs47l85
|
||||
- cirrus,cs47l90
|
||||
- cirrus,cs47l91
|
||||
- wlf,wm1840
|
||||
then:
|
||||
properties:
|
||||
DBVDD3-supply:
|
||||
description:
|
||||
Databus power supply.
|
||||
|
||||
DBVDD4-supply:
|
||||
description:
|
||||
Databus power supply.
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- cirrus,cs47l15
|
||||
then:
|
||||
required:
|
||||
- MICVDD-supply
|
||||
else:
|
||||
properties:
|
||||
CPVDD2-supply:
|
||||
description:
|
||||
Secondary charge pump power supply.
|
||||
|
||||
required:
|
||||
- CPVDD2-supply
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- cirrus,cs47l15
|
||||
- cirrus,cs47l35
|
||||
- cirrus,cs47l85
|
||||
- cirrus,cs47l90
|
||||
- cirrus,cs47l91
|
||||
- cirrus,cs42l92
|
||||
- cirrus,cs47l92
|
||||
- cirrus,cs47l93
|
||||
- cirrus,wm1840
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
'#gpio-cells':
|
||||
description:
|
||||
The first cell is the pin number. The second cell is reserved for
|
||||
future use and must be zero
|
||||
const: 2
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
'#interrupt-cells':
|
||||
description:
|
||||
The first cell is the IRQ number.
|
||||
The second cell is the flags, encoded as the trigger masks from
|
||||
bindings/interrupt-controller/interrupts.txt
|
||||
const: 2
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
description:
|
||||
One entry specifying the GPIO controlling /RESET. As defined in
|
||||
bindings/gpio.txt. Although optional, it is strongly recommended
|
||||
to use a hardware reset.
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
description:
|
||||
Should reference the clocks supplied on MCLK1, MCLK2 and MCLK3.
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
|
||||
clock-names:
|
||||
description: |
|
||||
May contain up to three strings:
|
||||
"mclk1" For the clock supplied on MCLK1, recommended to be a
|
||||
high quality audio reference clock.
|
||||
"mclk2" For the clock supplied on MCLK2, required to be an
|
||||
always on 32k clock.
|
||||
"mclk3" For the clock supplied on MCLK3.
|
||||
oneOf:
|
||||
- items:
|
||||
- const: mclk1
|
||||
- items:
|
||||
- const: mclk2
|
||||
- items:
|
||||
- const: mclk3
|
||||
- items:
|
||||
- const: mclk1
|
||||
- const: mclk2
|
||||
- items:
|
||||
- const: mclk1
|
||||
- const: mclk3
|
||||
- items:
|
||||
- const: mclk2
|
||||
- const: mclk3
|
||||
- items:
|
||||
- const: mclk1
|
||||
- const: mclk2
|
||||
- const: mclk3
|
||||
|
||||
AVDD-supply:
|
||||
description:
|
||||
Analogue power supply.
|
||||
|
||||
DBVDD1-supply:
|
||||
description:
|
||||
Databus power supply.
|
||||
|
||||
CPVDD1-supply:
|
||||
description:
|
||||
Charge pump power supply.
|
||||
|
||||
DCVDD-supply:
|
||||
description:
|
||||
Digital power supply, optional on CS47L85, WM1840 where it can
|
||||
be supplied internally.
|
||||
|
||||
MICVDD-supply:
|
||||
description:
|
||||
Microphone power supply, normally supplied internally except on
|
||||
cs47l24, wm1831 where it is mandatory.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- gpio-controller
|
||||
- '#gpio-cells'
|
||||
- interrupt-controller
|
||||
- '#interrupt-cells'
|
||||
- interrupt-parent
|
||||
- interrupts
|
||||
- AVDD-supply
|
||||
- DBVDD1-supply
|
||||
- CPVDD1-supply
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/sound/madera.h>
|
||||
i2c@e0004000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xe0004000 0x1000>;
|
||||
|
||||
cs47l85: codec@1a {
|
||||
compatible = "cirrus,cs47l85";
|
||||
reg = <0x1a>;
|
||||
|
||||
reset-gpios = <&gpio 0>;
|
||||
wlf,ldoena = <&gpio 1>;
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
interrupts = <&host_irq1>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
AVDD-supply = <&vdd1v8>;
|
||||
DBVDD1-supply = <&vdd1v8>;
|
||||
DBVDD2-supply = <&vdd1v8>;
|
||||
DBVDD3-supply = <&vdd1v8>;
|
||||
DBVDD4-supply = <&vdd1v8>;
|
||||
CPVDD1-supply = <&vdd1v8>;
|
||||
CPVDD2-supply = <&vdd1v2>;
|
||||
SPKVDDL-supply = <&vdd5v>;
|
||||
SPKVDDR-supply = <&vdd5v>;
|
||||
|
||||
clocks = <&clks 0>, <&clks 1>, <&clks 2>;
|
||||
clock-names = "mclk1", "mclk2", "mclk3";
|
||||
|
||||
cirrus,dmic-ref = <0 0 MADERA_DMIC_REF_MICBIAS1>;
|
||||
cirrus,inmode = <
|
||||
MADERA_INMODE_SE MADERA_INMODE_SE
|
||||
MADERA_INMODE_SE MADERA_INMODE_SE
|
||||
MADERA_INMODE_DIFF MADERA_INMODE_DIFF
|
||||
>;
|
||||
cirrus,max-channels-clocked = <2 0 0>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinsettings>;
|
||||
|
||||
pinsettings: pin-settings {
|
||||
aif1-pins {
|
||||
groups = "aif1";
|
||||
function = "aif1";
|
||||
bias-bus-hold;
|
||||
};
|
||||
|
||||
aif2-pins {
|
||||
groups = "aif2";
|
||||
function = "aif2";
|
||||
bias-bus-hold;
|
||||
};
|
||||
|
||||
aif3-pins {
|
||||
groups = "aif3";
|
||||
function = "aif3";
|
||||
bias-bus-hold;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user