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:
Родитель
067243bab9
Коммит
2cb8052981
|
@ -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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -1,114 +0,0 @@
|
||||||
Cirrus Logic Madera class audio codecs Multi-Functional Device
|
|
||||||
|
|
||||||
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-pinctrl.txt
|
|
||||||
bindings/regulator/arizona-regulator.txt
|
|
||||||
bindings/sound/madera.txt
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : One of the following chip-specific strings:
|
|
||||||
"cirrus,cs47l15"
|
|
||||||
"cirrus,cs47l35"
|
|
||||||
"cirrus,cs47l85"
|
|
||||||
"cirrus,cs47l90"
|
|
||||||
"cirrus,cs47l91"
|
|
||||||
"cirrus,cs42l92"
|
|
||||||
"cirrus,cs47l92"
|
|
||||||
"cirrus,cs47l93"
|
|
||||||
"cirrus,wm1840"
|
|
||||||
|
|
||||||
- reg : I2C slave address when connected using I2C, chip select number when
|
|
||||||
using SPI.
|
|
||||||
|
|
||||||
- DCVDD-supply : Power supply for the device as defined in
|
|
||||||
bindings/regulator/regulator.txt
|
|
||||||
Mandatory on CS47L15, CS47L35, CS47L90, CS47L91, CS42L92, CS47L92, CS47L93
|
|
||||||
Optional on CS47L85, WM1840
|
|
||||||
|
|
||||||
- AVDD-supply, DBVDD1-supply, DBVDD2-supply, CPVDD1-supply, CPVDD2-supply :
|
|
||||||
Power supplies for the device
|
|
||||||
|
|
||||||
- DBVDD3-supply, DBVDD4-supply : Power supplies for the device
|
|
||||||
(CS47L85, CS47L90, CS47L91, WM1840)
|
|
||||||
|
|
||||||
- SPKVDDL-supply, SPKVDDR-supply : Power supplies for the device
|
|
||||||
(CS47L85, WM1840)
|
|
||||||
|
|
||||||
- SPKVDD-supply : Power supply for the device
|
|
||||||
(CS47L15, CS47L35)
|
|
||||||
|
|
||||||
- interrupt-controller : Indicates that this device is an interrupt controller
|
|
||||||
|
|
||||||
- #interrupt-cells: the number of cells to describe an IRQ, must be 2.
|
|
||||||
The first cell is the IRQ number.
|
|
||||||
The second cell is the flags, encoded as the trigger masks from
|
|
||||||
bindings/interrupt-controller/interrupts.txt
|
|
||||||
|
|
||||||
- gpio-controller : Indicates this device is a GPIO controller.
|
|
||||||
|
|
||||||
- #gpio-cells : Must be 2. The first cell is the pin number. The second cell
|
|
||||||
is reserved for future use and must be zero
|
|
||||||
|
|
||||||
- interrupt-parent : The parent interrupt controller.
|
|
||||||
|
|
||||||
- interrupts : The interrupt line the /IRQ signal for the device is
|
|
||||||
connected to.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- MICVDD-supply : Power supply, only need to be specified if
|
|
||||||
powered externally
|
|
||||||
|
|
||||||
- reset-gpios : One entry specifying the GPIO controlling /RESET.
|
|
||||||
As defined in bindings/gpio.txt.
|
|
||||||
Although optional, it is strongly recommended to use a hardware reset
|
|
||||||
|
|
||||||
- clocks: Should reference the clocks supplied on MCLK1, MCLK2 and MCLK3
|
|
||||||
- clock-names: 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
|
|
||||||
|
|
||||||
- MICBIASx : Initial data for the MICBIAS regulators, as covered in
|
|
||||||
Documentation/devicetree/bindings/regulator/regulator.txt.
|
|
||||||
One for each MICBIAS generator (MICBIAS1, MICBIAS2, ...)
|
|
||||||
(all codecs)
|
|
||||||
|
|
||||||
One for each output pin (MICBIAS1A, MIBCIAS1B, MICBIAS2A, ...)
|
|
||||||
(all except CS47L85, WM1840)
|
|
||||||
|
|
||||||
The following following additional property is supported for the generator
|
|
||||||
nodes:
|
|
||||||
- cirrus,ext-cap : Set to 1 if the MICBIAS has external decoupling
|
|
||||||
capacitors attached.
|
|
||||||
|
|
||||||
Optional child nodes:
|
|
||||||
micvdd : Node containing initialization data for the micvdd regulator
|
|
||||||
See bindings/regulator/arizona-regulator.txt
|
|
||||||
|
|
||||||
ldo1 : Node containing initialization data for the LDO1 regulator
|
|
||||||
See bindings/regulator/arizona-regulator.txt
|
|
||||||
(cs47l85, wm1840)
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
cs47l85@0 {
|
|
||||||
compatible = "cirrus,cs47l85";
|
|
||||||
reg = <0>;
|
|
||||||
|
|
||||||
reset-gpios = <&gpio 0>;
|
|
||||||
|
|
||||||
interrupt-controller;
|
|
||||||
#interrupt-cells = <2>;
|
|
||||||
interrupts = <&host_irq1>;
|
|
||||||
interrupt-parent = <&gic>;
|
|
||||||
|
|
||||||
gpio-controller;
|
|
||||||
#gpio-cells = <2>;
|
|
||||||
};
|
|
|
@ -4089,9 +4089,9 @@ L: patches@opensource.cirrus.com
|
||||||
S: Supported
|
S: Supported
|
||||||
W: https://github.com/CirrusLogic/linux-drivers/wiki
|
W: https://github.com/CirrusLogic/linux-drivers/wiki
|
||||||
T: git https://github.com/CirrusLogic/linux-drivers.git
|
T: git https://github.com/CirrusLogic/linux-drivers.git
|
||||||
F: Documentation/devicetree/bindings/mfd/madera.txt
|
F: Documentation/devicetree/bindings/mfd/cirrus,madera.yaml
|
||||||
F: Documentation/devicetree/bindings/pinctrl/cirrus,madera-pinctrl.txt
|
F: Documentation/devicetree/bindings/pinctrl/cirrus,madera.yaml
|
||||||
F: Documentation/devicetree/bindings/sound/madera.txt
|
F: Documentation/devicetree/bindings/sound/cirrus,madera.yaml
|
||||||
F: drivers/gpio/gpio-madera*
|
F: drivers/gpio/gpio-madera*
|
||||||
F: drivers/irqchip/irq-madera*
|
F: drivers/irqchip/irq-madera*
|
||||||
F: drivers/mfd/cs47l*
|
F: drivers/mfd/cs47l*
|
||||||
|
|
Загрузка…
Ссылка в новой задаче