forked from Minki/linux
mfd: arizona: Move binding over to dtschema
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> [robh: Drop ref from *-supply] Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
575a29ed8f
commit
fc543f5367
@ -1,101 +0,0 @@
|
||||
Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs
|
||||
|
||||
These devices are audio SoCs with extensive digital capabilities and a range
|
||||
of analogue I/O.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : One of the following chip-specific strings:
|
||||
"cirrus,cs47l24"
|
||||
"wlf,wm5102"
|
||||
"wlf,wm5110"
|
||||
"wlf,wm8280"
|
||||
"wlf,wm8997"
|
||||
"wlf,wm8998"
|
||||
"wlf,wm1814"
|
||||
"wlf,wm1831"
|
||||
|
||||
- reg : I2C slave address when connected using I2C, chip select number when
|
||||
using SPI.
|
||||
|
||||
- interrupts : The interrupt line the /IRQ signal for the device is
|
||||
connected to.
|
||||
- interrupt-controller : Arizona class devices contain interrupt controllers
|
||||
and may provide interrupt services to other devices.
|
||||
- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
|
||||
The first cell is the IRQ number.
|
||||
The second cell is the flags, encoded as the trigger masks from
|
||||
Documentation/devicetree/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 and the
|
||||
second cell is used to specify optional parameters, see ../gpio/gpio.txt
|
||||
for details.
|
||||
|
||||
- AVDD-supply, DBVDD1-supply, CPVDD-supply : Power supplies for the device,
|
||||
as covered in Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
- DBVDD2-supply, DBVDD3-supply : Additional databus power supplies (wm5102,
|
||||
wm5110, wm8280, wm8998, wm1814)
|
||||
|
||||
- SPKVDDL-supply, SPKVDDR-supply : Speaker driver power supplies (wm5102,
|
||||
wm5110, wm8280, wm8998, wm1814)
|
||||
|
||||
- SPKVDD-supply : Speaker driver power supply (wm8997)
|
||||
|
||||
- DCVDD-supply : Main power supply (cs47l24, wm1831)
|
||||
|
||||
- MICVDD-supply : Microphone power supply (cs47l24, wm1831)
|
||||
|
||||
Optional properties:
|
||||
|
||||
- reset-gpios : GPIO specifier for the GPIO controlling /RESET
|
||||
|
||||
- clocks: Should reference the clocks supplied on MCLK1 and MCLK2
|
||||
- clock-names: Should contains two strings:
|
||||
"mclk1" for the clock supplied on MCLK1, recommended to be a high
|
||||
quality audio reference clock
|
||||
"mclk2" for the clock supplied on MCLK2, recommended to be an always on
|
||||
32k clock
|
||||
|
||||
- wlf,gpio-defaults : A list of GPIO configuration register values. Defines
|
||||
for the appropriate values can found in <dt-bindings/mfd/arizona.txt>. If
|
||||
absent, no configuration of these registers is performed. If any entry has
|
||||
a value that is out of range for a 16 bit register then the chip default
|
||||
will be used. If present exactly five values must be specified.
|
||||
|
||||
- DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
|
||||
they are being externally supplied. As covered in
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
(wm5102, wm5110, wm8280, wm8997, wm8998, wm1814)
|
||||
|
||||
Deprecated properties:
|
||||
|
||||
- wlf,reset : GPIO specifier for the GPIO controlling /RESET
|
||||
|
||||
Also see child specific device properties:
|
||||
Regulator - ../regulator/arizona-regulator.txt
|
||||
Extcon - ../extcon/extcon-arizona.txt
|
||||
Sound - ../sound/wlf,arizona.txt
|
||||
|
||||
Example:
|
||||
|
||||
codec: wm5102@1a {
|
||||
compatible = "wlf,wm5102";
|
||||
reg = <0x1a>;
|
||||
interrupts = <347>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
wlf,gpio-defaults = <
|
||||
ARIZONA_GP_FN_TXLRCLK
|
||||
ARIZONA_GP_DEFAULT
|
||||
ARIZONA_GP_DEFAULT
|
||||
ARIZONA_GP_DEFAULT
|
||||
ARIZONA_GP_DEFAULT
|
||||
>;
|
||||
};
|
280
Documentation/devicetree/bindings/mfd/wlf,arizona.yaml
Normal file
280
Documentation/devicetree/bindings/mfd/wlf,arizona.yaml
Normal file
@ -0,0 +1,280 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/wlf,arizona.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs
|
||||
|
||||
maintainers:
|
||||
- patches@opensource.cirrus.com
|
||||
|
||||
description: |
|
||||
These devices are audio SoCs with extensive digital capabilities and a
|
||||
range of analogue I/O.
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/sound/wlf,arizona.yaml#
|
||||
- $ref: /schemas/regulator/wlf,arizona.yaml#
|
||||
- $ref: /schemas/extcon/wlf,arizona.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- cirrus,cs47l24
|
||||
- wlf,wm1831
|
||||
then:
|
||||
required:
|
||||
- DCVDD-supply
|
||||
- MICVDD-supply
|
||||
else:
|
||||
properties:
|
||||
LDOVDD-supply:
|
||||
description:
|
||||
Digital power supply, used internally to generate DCVDD when
|
||||
internally supplied.
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- wlf,wm1814
|
||||
- wlf,wm5102
|
||||
- wlf,wm5110
|
||||
- wlf,wm8280
|
||||
- wlf,wm8997
|
||||
- wlf,wm8998
|
||||
then:
|
||||
properties:
|
||||
DBVDD2-supply:
|
||||
description:
|
||||
Databus power supply.
|
||||
|
||||
required:
|
||||
- DBVDD2-supply
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- wlf,wm1814
|
||||
- wlf,wm5102
|
||||
- wlf,wm5110
|
||||
- wlf,wm8280
|
||||
- wlf,wm8998
|
||||
then:
|
||||
properties:
|
||||
DBVDD3-supply:
|
||||
description:
|
||||
Databus power supply.
|
||||
|
||||
required:
|
||||
- DBVDD3-supply
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- cirrus,cs47l24
|
||||
- wlf,wm1831
|
||||
- wlf,wm8997
|
||||
then:
|
||||
properties:
|
||||
SPKVDD-supply:
|
||||
description:
|
||||
Mono speaker driver power supply.
|
||||
|
||||
required:
|
||||
- SPKVDD-supply
|
||||
else:
|
||||
properties:
|
||||
SPKVDDL-supply:
|
||||
description:
|
||||
Left speaker driver power supply.
|
||||
|
||||
SPKVDDR-supply:
|
||||
description:
|
||||
Right speaker driver power supply.
|
||||
|
||||
required:
|
||||
- SPKVDDL-supply
|
||||
- SPKVDDR-supply
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- cirrus,cs47l24
|
||||
- wlf,wm1814
|
||||
- wlf,wm1831
|
||||
- wlf,wm5102
|
||||
- wlf,wm5110
|
||||
- wlf,wm8280
|
||||
- wlf,wm8997
|
||||
- wlf,wm8998
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
AVDD-supply:
|
||||
description:
|
||||
Analogue power supply.
|
||||
|
||||
CPVDD-supply:
|
||||
description:
|
||||
Charge pump power supply.
|
||||
|
||||
DBVDD1-supply:
|
||||
description:
|
||||
Databus power supply.
|
||||
|
||||
DCVDD-supply:
|
||||
description:
|
||||
Digital power supply, normally supplied internally except on cs47l24,
|
||||
wm1831 where it is mandatory.
|
||||
|
||||
MICVDD-supply:
|
||||
description:
|
||||
Microphone power supply, normally supplied internally except on
|
||||
cs47l24, wm1831 where it is mandatory.
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
'#gpio-cells':
|
||||
description:
|
||||
The first cell is the pin number and the second cell is used to
|
||||
specify optional parameters.
|
||||
const: 2
|
||||
|
||||
wlf,gpio-defaults:
|
||||
description:
|
||||
A list of GPIO configuration register values. Defines for the
|
||||
appropriate values can found in dt-bindings/mfd/arizona.h. If
|
||||
absent, no configuration of these registers is performed. If any
|
||||
entry has a value that is out of range for a 16 bit register then the
|
||||
chip default will be used. If present exactly five values must be
|
||||
specified.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32-array"
|
||||
minItems: 1
|
||||
maxItems: 5
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
'#interrupt-cells':
|
||||
description:
|
||||
The first cell is the IRQ number. The second cell is the flags,
|
||||
encoded as trigger masks.
|
||||
const: 2
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
description:
|
||||
Should reference the clocks supplied on MCLK1 and MCLK2.
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
clock-names:
|
||||
description:
|
||||
Should contains two strings mclk1 for the clock supplied on MCLK1,
|
||||
recommended to be a high quality audio reference clock mclk2 for the
|
||||
clock supplied on MCLK2, recommended to be an always on 32k clock.
|
||||
oneOf:
|
||||
- items:
|
||||
- const: mclk1
|
||||
- items:
|
||||
- const: mclk2
|
||||
- items:
|
||||
- const: mclk1
|
||||
- const: mclk2
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
wlf,reset:
|
||||
description:
|
||||
GPIO specifier for the GPIO controlling RESET
|
||||
deprecated: true
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- AVDD-supply
|
||||
- CPVDD-supply
|
||||
- DBVDD1-supply
|
||||
- gpio-controller
|
||||
- '#gpio-cells'
|
||||
- interrupt-controller
|
||||
- '#interrupt-cells'
|
||||
- interrupts
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/mfd/arizona.h>
|
||||
i2c@e0004000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xe0004000 0x1000>;
|
||||
|
||||
wm5102: codec@1a {
|
||||
compatible = "wlf,wm5102";
|
||||
reg = <0x1a>;
|
||||
|
||||
reset-gpios = <&gpio 0>;
|
||||
wlf,ldoena = <&gpio 1>;
|
||||
|
||||
AVDD-supply = <&vdd1v8>;
|
||||
DBVDD1-supply = <&vdd1v8>;
|
||||
DBVDD2-supply = <&vdd1v8>;
|
||||
DBVDD3-supply = <&vdd1v8>;
|
||||
CPVDD-supply = <&vdd1v8>;
|
||||
LDOVDD-supply = <&vdd1v8>;
|
||||
SPKVDDL-supply = <&vdd5v>;
|
||||
SPKVDDR-supply = <&vdd5v>;
|
||||
|
||||
interrupts = <347>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
wlf,gpio-defaults = <
|
||||
ARIZONA_GP_FN_TXLRCLK
|
||||
ARIZONA_GP_DEFAULT
|
||||
ARIZONA_GP_DEFAULT
|
||||
ARIZONA_GP_DEFAULT
|
||||
ARIZONA_GP_DEFAULT
|
||||
>;
|
||||
|
||||
clocks = <&clks 0>, <&clks 1>;
|
||||
clock-names = "mclk1", "mclk2";
|
||||
|
||||
wlf,inmode = <ARIZONA_INMODE_DIFF ARIZONA_INMODE_DMIC>;
|
||||
wlf,dmic-ref = <ARIZONA_DMIC_MICBIAS1 ARIZONA_DMIC_MICBIAS3>;
|
||||
|
||||
wlf,use-jd2;
|
||||
wlf,use-jd2-nopull;
|
||||
wlf,jd-invert;
|
||||
|
||||
wlf,micd-software-compare;
|
||||
wlf,micd-detect-debounce = <0>;
|
||||
wlf,micd-pol-gpio = <&codec 2 0>;
|
||||
wlf,micd-rate = <ARIZONA_MICD_TIME_8MS>;
|
||||
wlf,micd-dbtime = <4>;
|
||||
wlf,micd-timeout-ms = <100>;
|
||||
wlf,micd-force-micbias;
|
||||
wlf,micd-configs = <0 ARIZONA_DMIC_MICBIAS1 0>,
|
||||
<0x2000 ARIZONA_DMIC_MICBIAS2 1>;
|
||||
|
||||
wlf,gpsw = <ARIZONA_GPSW_OPEN>;
|
||||
};
|
||||
};
|
@ -18260,11 +18260,11 @@ L: patches@opensource.cirrus.com
|
||||
S: Supported
|
||||
W: https://github.com/CirrusLogic/linux-drivers/wiki
|
||||
T: git https://github.com/CirrusLogic/linux-drivers.git
|
||||
F: Documentation/devicetree/bindings/extcon/extcon-arizona.txt
|
||||
F: Documentation/devicetree/bindings/mfd/arizona.txt
|
||||
F: Documentation/devicetree/bindings/extcon/wlf,arizona.yaml
|
||||
F: Documentation/devicetree/bindings/mfd/wlf,arizona.yaml
|
||||
F: Documentation/devicetree/bindings/mfd/wm831x.txt
|
||||
F: Documentation/devicetree/bindings/regulator/arizona-regulator.txt
|
||||
F: Documentation/devicetree/bindings/sound/wlf,arizona.txt
|
||||
F: Documentation/devicetree/bindings/regulator/wlf,arizona.yaml
|
||||
F: Documentation/devicetree/bindings/sound/wlf,arizona.yaml
|
||||
F: Documentation/hwmon/wm83??.rst
|
||||
F: arch/arm/mach-s3c64xx/mach-crag6410*
|
||||
F: drivers/clk/clk-wm83*.c
|
||||
|
Loading…
Reference in New Issue
Block a user