* [PATCH 1/6] hwmon: lochnagar: Move binding over to dtschema
@ 2020-04-27 10:28 Charles Keepax
2020-04-27 10:28 ` [PATCH 2/6] ASoC: " Charles Keepax
` (4 more replies)
0 siblings, 5 replies; 13+ messages in thread
From: Charles Keepax @ 2020-04-27 10:28 UTC (permalink / raw)
To: robh+dt, lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij
Cc: lgirdwood, linux-kernel, devicetree, patches
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
---
.../devicetree/bindings/hwmon/cirrus,lochnagar.txt | 26 --------------
.../bindings/hwmon/cirrus,lochnagar.yaml | 40 ++++++++++++++++++++++
2 files changed, 40 insertions(+), 26 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
create mode 100644 Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.yaml
diff --git a/Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt b/Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
deleted file mode 100644
index ffb79ccf51ee3..0000000000000
--- a/Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-Cirrus Logic Lochnagar Audio Development Board
-
-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.
-
-This binding document describes the binding for the hardware monitor
-portion of the driver.
-
-This binding must be part of the Lochnagar MFD binding:
- [4] ../mfd/cirrus,lochnagar.txt
-
-Required properties:
-
- - compatible : One of the following strings:
- "cirrus,lochnagar2-hwmon"
-
-Example:
-
-lochnagar-hwmon {
- compatible = "cirrus,lochnagar2-hwmon";
-};
diff --git a/Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.yaml
new file mode 100644
index 0000000000000..db3e20319714c
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.yaml
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwmon/cirrus,lochnagar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic Lochnagar Audio Development Board
+
+maintainers:
+ - patches@opensource.cirrus.com
+
+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.
+
+ This binding document describes the binding for the hardware monitor
+ portion of the driver.
+
+ This binding must be part of the Lochnagar MFD binding:
+ [1] ../mfd/cirrus,lochnagar.yaml
+
+properties:
+ lochnagar-hwmon:
+ type: object
+
+ properties:
+ compatible:
+ contains:
+ enum:
+ - cirrus,lochnagar2-hwmon
+
+ required:
+ - compatible
+
+ additionalProperties: false
--
2.11.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/6] ASoC: lochnagar: Move binding over to dtschema
2020-04-27 10:28 [PATCH 1/6] hwmon: lochnagar: Move binding over to dtschema Charles Keepax
@ 2020-04-27 10:28 ` Charles Keepax
2020-05-01 21:06 ` Rob Herring
2020-04-27 10:28 ` [PATCH 3/6] pinctrl: " Charles Keepax
` (3 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Charles Keepax @ 2020-04-27 10:28 UTC (permalink / raw)
To: robh+dt, lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij
Cc: lgirdwood, linux-kernel, devicetree, patches
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
---
.../devicetree/bindings/sound/cirrus,lochnagar.txt | 39 ---------------
.../bindings/sound/cirrus,lochnagar.yaml | 58 ++++++++++++++++++++++
2 files changed, 58 insertions(+), 39 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
create mode 100644 Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml
diff --git a/Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt b/Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
deleted file mode 100644
index 41ae2699f07a9..0000000000000
--- a/Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-Cirrus Logic Lochnagar Audio Development Board
-
-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.
-
-This binding document describes the binding for the audio portion
-of the driver.
-
-This binding must be part of the Lochnagar MFD binding:
- [4] ../mfd/cirrus,lochnagar.txt
-
-Required properties:
-
- - compatible : One of the following strings:
- "cirrus,lochnagar2-soundcard"
-
- - #sound-dai-cells : Must be set to 1.
-
- - clocks : Contains an entry for each entry in clock-names.
- - clock-names : Must include the following clocks:
- "mclk" Master clock source for the sound card, should normally
- be set to LOCHNAGAR_SOUNDCARD_MCLK provided by the Lochnagar
- clock driver.
-
-Example:
-
-lochnagar-sc {
- compatible = "cirrus,lochnagar2-soundcard";
-
- #sound-dai-cells = <1>;
-
- clocks = <&lochnagar_clk LOCHNAGAR_SOUNDCARD_MCLK>;
- clock-names = "mclk";
-};
diff --git a/Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml
new file mode 100644
index 0000000000000..6a266793ebd16
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml
@@ -0,0 +1,58 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/cirrus,lochnagar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic Lochnagar Audio Development Board
+
+maintainers:
+ - patches@opensource.cirrus.com
+
+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.
+
+ This binding document describes the binding for the audio portion of the
+ driver.
+
+ This binding must be part of the Lochnagar MFD binding:
+ [1] ../mfd/cirrus,lochnagar.yaml
+
+properties:
+ lochnagar-sc:
+ type: object
+
+ properties:
+ compatible:
+ contains:
+ enum:
+ - cirrus,lochnagar2-soundcard
+
+ '#sound-dai-cells':
+ description:
+ Must be 1. The first cell indicating the audio interface.
+ const: 1
+
+ clocks:
+ maxItems: 1
+ description:
+ Master clock source for the sound card, should normally be set to
+ LOCHNAGAR_SOUNDCARD_MCLK provided by the Lochnagar clock driver.
+ clock-names:
+ const: mclk
+ description:
+ Must contain the string mclk.
+
+ required:
+ - compatible
+ - '#sound-dai-cells'
+ - clocks
+ - clock-names
+
+ additionalProperties: false
--
2.11.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/6] pinctrl: lochnagar: Move binding over to dtschema
2020-04-27 10:28 [PATCH 1/6] hwmon: lochnagar: Move binding over to dtschema Charles Keepax
2020-04-27 10:28 ` [PATCH 2/6] ASoC: " Charles Keepax
@ 2020-04-27 10:28 ` Charles Keepax
2020-05-12 11:40 ` Linus Walleij
2020-04-27 10:28 ` [PATCH 4/6] regulator: " Charles Keepax
` (2 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Charles Keepax @ 2020-04-27 10:28 UTC (permalink / raw)
To: robh+dt, lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij
Cc: lgirdwood, linux-kernel, devicetree, patches
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
---
.../bindings/pinctrl/cirrus,lochnagar.txt | 141 ----------------
.../bindings/pinctrl/cirrus,lochnagar.yaml | 186 +++++++++++++++++++++
2 files changed, 186 insertions(+), 141 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt
create mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml
diff --git a/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt b/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt
deleted file mode 100644
index a87447180e838..0000000000000
--- a/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt
+++ /dev/null
@@ -1,141 +0,0 @@
-Cirrus Logic Lochnagar Audio Development Board
-
-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.
-
-This binding document describes the binding for the pinctrl portion
-of the driver.
-
-Also see these documents for generic binding information:
- [1] GPIO : ../gpio/gpio.txt
- [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt
-
-And these for relevant defines:
- [3] include/dt-bindings/pinctrl/lochnagar.h
-
-This binding must be part of the Lochnagar MFD binding:
- [4] ../mfd/cirrus,lochnagar.txt
-
-Required properties:
-
- - compatible : One of the following strings:
- "cirrus,lochnagar-pinctrl"
-
- - gpio-controller : Indicates this device is a GPIO controller.
- - #gpio-cells : Must be 2. The first cell is the pin number, see
- [3] for available pins and the second cell is used to specify
- optional parameters, see [1].
- - gpio-ranges : Range of pins managed by the GPIO controller, see
- [1]. Both the GPIO and Pinctrl base should be set to zero and the
- count to the appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define,
- see [3].
-
- - pinctrl-names : A pinctrl state named "default" must be defined.
- - pinctrl-0 : A phandle to the default pinctrl state.
-
-Required sub-nodes:
-
-The pin configurations are defined as a child of the pinctrl states
-node, see [2]. Each sub-node can have the following properties:
- - groups : A list of groups to select (either this or "pins" must be
- specified), available groups:
- codec-aif1, codec-aif2, codec-aif3, dsp-aif1, dsp-aif2, psia1,
- psia2, gf-aif1, gf-aif2, gf-aif3, gf-aif4, spdif-aif, usb-aif1,
- usb-aif2, adat-aif, soundcard-aif
- - pins : A list of pin names to select (either this or "groups" must
- be specified), available pins:
- fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, fpga-gpio5,
- fpga-gpio6, codec-gpio1, codec-gpio2, codec-gpio3, codec-gpio4,
- codec-gpio5, codec-gpio6, codec-gpio7, codec-gpio8, dsp-gpio1,
- dsp-gpio2, dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, gf-gpio2,
- gf-gpio3, gf-gpio7, codec-aif1-bclk, codec-aif1-rxdat,
- codec-aif1-lrclk, codec-aif1-txdat, codec-aif2-bclk,
- codec-aif2-rxdat, codec-aif2-lrclk, codec-aif2-txdat,
- codec-aif3-bclk, codec-aif3-rxdat, codec-aif3-lrclk,
- codec-aif3-txdat, dsp-aif1-bclk, dsp-aif1-rxdat, dsp-aif1-lrclk,
- dsp-aif1-txdat, dsp-aif2-bclk, dsp-aif2-rxdat,
- dsp-aif2-lrclk, dsp-aif2-txdat, psia1-bclk, psia1-rxdat,
- psia1-lrclk, psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk,
- psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat, gf-aif3-lrclk,
- gf-aif3-txdat, gf-aif4-bclk, gf-aif4-rxdat, gf-aif4-lrclk,
- gf-aif4-txdat, gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk,
- gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat, gf-aif2-lrclk,
- gf-aif2-txdat, dsp-uart1-rx, dsp-uart1-tx, dsp-uart2-rx,
- dsp-uart2-tx, gf-uart2-rx, gf-uart2-tx, usb-uart-rx,
- codec-pdmclk1, codec-pdmdat1, codec-pdmclk2, codec-pdmdat2,
- codec-dmicclk1, codec-dmicdat1, codec-dmicclk2, codec-dmicdat2,
- codec-dmicclk3, codec-dmicdat3, codec-dmicclk4, codec-dmicdat4,
- dsp-dmicclk1, dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl,
- i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda, dsp-standby,
- codec-mclk1, codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk,
- gf-gpio1, gf-gpio5, dsp-gpio20, led1, led2
- - function : The mux function to select, available functions:
- aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, fpga-gpio5,
- fpga-gpio6, codec-gpio1, codec-gpio2, codec-gpio3, codec-gpio4,
- codec-gpio5, codec-gpio6, codec-gpio7, codec-gpio8, dsp-gpio1,
- dsp-gpio2, dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, gf-gpio2,
- gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5, dsp-gpio20, codec-clkout,
- dsp-clkout, pmic-32k, spdif-clkout, clk-12m288, clk-11m2986,
- clk-24m576, clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1,
- gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1, codec-mclk2,
- dsp-clkin, psia1-mclk, psia2-mclk, spdif-mclk, codec-irq,
- codec-reset, dsp-reset, dsp-irq, dsp-standby, codec-pdmclk1,
- codec-pdmdat1, codec-pdmclk2, codec-pdmdat2, codec-dmicclk1,
- codec-dmicdat1, codec-dmicclk2, codec-dmicdat2, codec-dmicclk3,
- codec-dmicdat3, codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1,
- dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx,
- dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, gf-uart2-rx,
- gf-uart2-tx, usb-uart-rx, usb-uart-tx, i2c2-scl, i2c2-sda,
- i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda, spdif-aif, psia1,
- psia1-bclk, psia1-lrclk, psia1-rxdat, psia1-txdat, psia2,
- psia2-bclk, psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1,
- codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat,
- codec-aif1-txdat, codec-aif2, codec-aif2-bclk, codec-aif2-lrclk,
- codec-aif2-rxdat, codec-aif2-txdat, codec-aif3, codec-aif3-bclk,
- codec-aif3-lrclk, codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1,
- dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat, dsp-aif1-txdat,
- dsp-aif2, dsp-aif2-bclk, dsp-aif2-lrclk, dsp-aif2-rxdat,
- dsp-aif2-txdat, gf-aif3, gf-aif3-bclk, gf-aif3-lrclk,
- gf-aif3-rxdat, gf-aif3-txdat, gf-aif4, gf-aif4-bclk,
- gf-aif4-lrclk, gf-aif4-rxdat, gf-aif4-txdat, gf-aif1,
- gf-aif1-bclk, gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat,
- gf-aif2, gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat,
- gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif, soundcard-aif,
-
- - output-enable : Specifies that an AIF group will be used as a master
- interface (either this or input-enable is required if a group is
- being muxed to an AIF)
- - input-enable : Specifies that an AIF group will be used as a slave
- interface (either this or output-enable is required if a group is
- being muxed to an AIF)
-
-Example:
-
-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 = <&pin-settings>;
-
- pin-settings: pin-settings {
- ap-aif {
- input-enable;
- groups = "gf-aif1";
- function = "codec-aif3";
- };
- codec-aif {
- output-enable;
- groups = "codec-aif3";
- function = "gf-aif1";
- };
- };
-};
diff --git a/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml
new file mode 100644
index 0000000000000..6ded7b3eb53bb
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml
@@ -0,0 +1,186 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/cirrus,lochnagar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic Lochnagar Audio Development Board
+
+maintainers:
+ - patches@opensource.cirrus.com
+
+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.
+
+ This binding document describes the binding for the pinctrl portion of
+ the driver.
+
+ Also see these documents for generic binding information:
+ [1] GPIO : ../gpio/gpio.txt
+ [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt
+
+ And these for relevant defines:
+ [3] include/dt-bindings/pinctrl/lochnagar.h
+
+ This binding must be part of the Lochnagar MFD binding:
+ [4] ../mfd/cirrus,lochnagar.yaml
+
+properties:
+ lochnagar-pinctrl:
+ type: object
+
+ properties:
+ compatible:
+ contains:
+ enum:
+ - cirrus,lochnagar-pinctrl
+
+ gpio-controller:
+ description:
+ Indicates this device is a GPIO controller.
+ '#gpio-cells':
+ description:
+ Must be 2. The first cell is the pin number and the second cell is
+ used to specify optional parameters.
+ const: 2
+ gpio-ranges:
+ description:
+ Range of pins managed by the GPIO controller, see [1]. Both the
+ GPIO and Pinctrl base should be set to zero and the count to the
+ appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3].
+ maxItems: 1
+
+ pinctrl-0:
+ description:
+ A phandle to the default pinctrl state.
+ pinctrl-names:
+ description:
+ A pinctrl state named "default" must be defined.
+ const: default
+
+ patternProperties:
+ '^.*$':
+ patternProperties:
+ '^.*$':
+ type: object
+ allOf:
+ - $ref: "pincfg-node.yaml#"
+ - $ref: "pinmux-node.yaml#"
+ description:
+ The pin configurations are defined as a child of the pinctrl
+ states node, see [2]. Each sub-node can have the following
+ properties.
+ properties:
+ groups:
+ description:
+ A list of groups to select (either this or "pins" must be
+ specified), available groups.
+ enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1,
+ dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3,
+ gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif,
+ soundcard-aif ]
+ pins:
+ description:
+ A list of pin names to select (either this or "groups" must
+ be specified), available pins.
+ enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
+ fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
+ codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
+ codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
+ dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
+ gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk,
+ codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat,
+ codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk,
+ codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat,
+ codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk,
+ dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat,
+ dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk,
+ dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk,
+ psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk,
+ psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat,
+ gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk,
+ gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat,
+ gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk,
+ gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat,
+ gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx,
+ dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
+ gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1,
+ codec-pdmdat1, codec-pdmclk2, codec-pdmdat2,
+ codec-dmicclk1, codec-dmicdat1, codec-dmicclk2,
+ codec-dmicdat2, codec-dmicclk3, codec-dmicdat3,
+ codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1,
+ dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl,
+ i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda,
+ dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin,
+ psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5,
+ dsp-gpio20, led1, led2 ]
+ function:
+ description:
+ The mux function to select, available functions.
+ enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
+ fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
+ codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
+ codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
+ dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
+ gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5,
+ dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k,
+ spdif-clkout, clk-12m288, clk-11m2986, clk-24m576,
+ clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1,
+ gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1,
+ codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk,
+ spdif-mclk, codec-irq, codec-reset, dsp-reset,
+ dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1,
+ codec-pdmclk2, codec-pdmdat2, codec-dmicclk1,
+ codec-dmicdat1, codec-dmicclk2, codec-dmicdat2,
+ codec-dmicclk3, codec-dmicdat3, codec-dmicclk4,
+ codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1,
+ dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx,
+ dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
+ gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx,
+ i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl,
+ i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk,
+ psia1-rxdat, psia1-txdat, psia2, psia2-bclk,
+ psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1,
+ codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat,
+ codec-aif1-txdat, codec-aif2, codec-aif2-bclk,
+ codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat,
+ codec-aif3, codec-aif3-bclk, codec-aif3-lrclk,
+ codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1,
+ dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat,
+ dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk,
+ dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat,
+ gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat,
+ gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk,
+ gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk,
+ gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2,
+ gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat,
+ gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif,
+ soundcard-aif ]
+ output-enable:
+ description:
+ Specifies that an AIF group will be used as a master
+ interface (either this or input-enable is required if a
+ group is being muxed to an AIF)
+ input-enable:
+ description:
+ Specifies that an AIF group will be used as a slave
+ interface (either this or output-enable is required if a
+ group is being muxed to an AIF)
+ additionalProperties: false
+ required:
+ - function
+ additionalProperties: false
+
+ required:
+ - compatible
+ - gpio-controller
+ - '#gpio-cells'
+ - gpio-ranges
+ - pinctrl-0
+ - pinctrl-names
--
2.11.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 4/6] regulator: lochnagar: Move binding over to dtschema
2020-04-27 10:28 [PATCH 1/6] hwmon: lochnagar: Move binding over to dtschema Charles Keepax
2020-04-27 10:28 ` [PATCH 2/6] ASoC: " Charles Keepax
2020-04-27 10:28 ` [PATCH 3/6] pinctrl: " Charles Keepax
@ 2020-04-27 10:28 ` Charles Keepax
2020-04-27 10:28 ` [PATCH 5/6] clk: " Charles Keepax
2020-04-27 10:28 ` [PATCH 6/6] mfd: " Charles Keepax
4 siblings, 0 replies; 13+ messages in thread
From: Charles Keepax @ 2020-04-27 10:28 UTC (permalink / raw)
To: robh+dt, lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij
Cc: lgirdwood, linux-kernel, devicetree, patches
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
---
.../bindings/regulator/cirrus,lochnagar.txt | 82 -------------
.../bindings/regulator/cirrus,lochnagar.yaml | 132 +++++++++++++++++++++
2 files changed, 132 insertions(+), 82 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt
create mode 100644 Documentation/devicetree/bindings/regulator/cirrus,lochnagar.yaml
diff --git a/Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt b/Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt
deleted file mode 100644
index 91974e6ee251b..0000000000000
--- a/Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt
+++ /dev/null
@@ -1,82 +0,0 @@
-Cirrus Logic Lochnagar Audio Development Board
-
-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.
-
-This binding document describes the binding for the regulator portion
-of the driver.
-
-Also see these documents for generic binding information:
- [1] Regulator: ../regulator/regulator.txt
-
-This binding must be part of the Lochnagar MFD binding:
- [2] ../mfd/cirrus,lochnagar.txt
-
-Optional sub-nodes:
-
- - VDDCORE : Initialisation data for the VDDCORE regulator, which
- supplies the CODECs digital core if it has no build regulator for that
- purpose.
- Required Properties:
- - compatible : One of the following strings:
- "cirrus,lochnagar2-vddcore"
- - SYSVDD-supply: Primary power supply for the Lochnagar.
-
- - MICVDD : Initialisation data for the MICVDD regulator, which
- supplies the CODECs MICVDD.
- Required Properties:
- - compatible : One of the following strings:
- "cirrus,lochnagar2-micvdd"
- - SYSVDD-supply: Primary power supply for the Lochnagar.
-
- - MIC1VDD, MIC2VDD : Initialisation data for the MICxVDD supplies.
- Required Properties:
- - compatible : One of the following strings:
- "cirrus,lochnagar2-mic1vdd", "cirrus,lochnagar2-mic2vdd"
- Optional Properties:
- - cirrus,micbias-input : A property selecting which of the CODEC
- minicard micbias outputs should be used, valid values are 1 - 4.
- - MICBIAS1-supply, MICBIAS2-supply: Regulator supplies for the
- MICxVDD outputs, supplying the digital microphones, normally
- supplied from the attached CODEC.
-
- - VDD1V8 : Recommended fixed regulator for the VDD1V8 regulator, which supplies the
- CODECs analog and 1.8V digital supplies.
- Required Properties:
- - compatible : Should be set to "regulator-fixed"
- - regulator-min-microvolt : Should be set to 1.8V
- - regulator-max-microvolt : Should be set to 1.8V
- - regulator-boot-on
- - regulator-always-on
- - vin-supply : Should be set to same supply as SYSVDD
-
-Example:
-
-lochnagar {
- lochnagar-micvdd: MICVDD {
- compatible = "cirrus,lochnagar2-micvdd";
-
- SYSVDD-supply = <&wallvdd>;
-
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- };
-
- lochnagar-vdd1v8: VDD1V8 {
- compatible = "regulator-fixed";
-
- regulator-name = "VDD1V8";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-boot-on;
- regulator-always-on;
-
- vin-supply = <&wallvdd>;
- };
-};
-
diff --git a/Documentation/devicetree/bindings/regulator/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/regulator/cirrus,lochnagar.yaml
new file mode 100644
index 0000000000000..49ffa1534050b
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/cirrus,lochnagar.yaml
@@ -0,0 +1,132 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/cirrus,lochnagar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic Lochnagar Audio Development Board
+
+maintainers:
+ - patches@opensource.cirrus.com
+
+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.
+
+ This binding document describes the binding for the regulator portion of
+ the driver.
+
+ Also see these documents for generic binding information:
+ [1] Regulator: ../regulator/regulator.yaml
+
+ This binding must be part of the Lochnagar MFD binding:
+ [2] ../mfd/cirrus,lochnagar.yaml
+
+properties:
+ VDDCORE:
+ description:
+ Initialisation data for the VDDCORE regulator, which supplies the
+ CODECs digital core if not being provided by an internal regulator.
+ $ref: "regulator.yaml#"
+ type: object
+ 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.
+ $ref: "regulator.yaml#"
+ type: object
+ 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.
+ $ref: "regulator.yaml#"
+ type: object
+ 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.
+ $ref: "regulator.yaml#"
+ type: object
+ 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.
+ $ref: "regulator.yaml#"
+ type: object
+ 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
--
2.11.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 5/6] clk: lochnagar: Move binding over to dtschema
2020-04-27 10:28 [PATCH 1/6] hwmon: lochnagar: Move binding over to dtschema Charles Keepax
` (2 preceding siblings ...)
2020-04-27 10:28 ` [PATCH 4/6] regulator: " Charles Keepax
@ 2020-04-27 10:28 ` Charles Keepax
2020-05-01 21:03 ` Rob Herring
2020-04-27 10:28 ` [PATCH 6/6] mfd: " Charles Keepax
4 siblings, 1 reply; 13+ messages in thread
From: Charles Keepax @ 2020-04-27 10:28 UTC (permalink / raw)
To: robh+dt, lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij
Cc: lgirdwood, linux-kernel, devicetree, patches
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
---
.../devicetree/bindings/clock/cirrus,lochnagar.txt | 94 ---------
.../bindings/clock/cirrus,lochnagar.yaml | 220 +++++++++++++++++++++
2 files changed, 220 insertions(+), 94 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/clock/cirrus,lochnagar.txt
create mode 100644 Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml
diff --git a/Documentation/devicetree/bindings/clock/cirrus,lochnagar.txt b/Documentation/devicetree/bindings/clock/cirrus,lochnagar.txt
deleted file mode 100644
index 52a064c789eec..0000000000000
--- a/Documentation/devicetree/bindings/clock/cirrus,lochnagar.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-Cirrus Logic Lochnagar Audio Development Board
-
-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.
-
-This binding document describes the binding for the clock portion of
-the driver.
-
-Also see these documents for generic binding information:
- [1] Clock : ../clock/clock-bindings.txt
-
-And these for relevant defines:
- [2] include/dt-bindings/clock/lochnagar.h
-
-This binding must be part of the Lochnagar MFD binding:
- [3] ../mfd/cirrus,lochnagar.txt
-
-Required properties:
-
- - compatible : One of the following strings:
- "cirrus,lochnagar1-clk"
- "cirrus,lochnagar2-clk"
-
- - #clock-cells : Must be 1. The first cell indicates the clock
- number, see [2] for available clocks and [1].
-
-Optional properties:
-
- - clocks : Must contain an entry for each clock in clock-names.
- - clock-names : May contain entries for each of the following
- clocks:
- - ln-cdc-clkout : Output clock from CODEC card.
- - ln-dsp-clkout : Output clock from DSP card.
- - ln-gf-mclk1,ln-gf-mclk2,ln-gf-mclk3,ln-gf-mclk4 : Optional
- input audio clocks from host system.
- - ln-psia1-mclk, ln-psia2-mclk : Optional input audio clocks from
- external connector.
- - ln-spdif-mclk : Optional input audio clock from SPDIF.
- - ln-spdif-clkout : Optional input audio clock from SPDIF.
- - ln-adat-mclk : Optional input audio clock from ADAT.
- - ln-pmic-32k : On board fixed clock.
- - ln-clk-12m : On board fixed clock.
- - ln-clk-11m : On board fixed clock.
- - ln-clk-24m : On board fixed clock.
- - ln-clk-22m : On board fixed clock.
- - ln-clk-8m : On board fixed clock.
- - ln-usb-clk-24m : On board fixed clock.
- - ln-usb-clk-12m : On board fixed clock.
-
- - assigned-clocks : A list of Lochnagar clocks to be reparented, see
- [2] for available clocks.
- - assigned-clock-parents : Parents to be assigned to the clocks
- listed in "assigned-clocks".
-
-Optional nodes:
-
- - fixed-clock nodes may be registered for the following on board clocks:
- - ln-pmic-32k : 32768 Hz
- - ln-clk-12m : 12288000 Hz
- - ln-clk-11m : 11298600 Hz
- - ln-clk-24m : 24576000 Hz
- - ln-clk-22m : 22579200 Hz
- - ln-clk-8m : 8192000 Hz
- - ln-usb-clk-24m : 24576000 Hz
- - ln-usb-clk-12m : 12288000 Hz
-
-Example:
-
-lochnagar {
- lochnagar-clk {
- compatible = "cirrus,lochnagar2-clk";
-
- #clock-cells = <1>;
-
- clocks = <&clk-audio>, <&clk_pmic>;
- clock-names = "ln-gf-mclk2", "ln-pmic-32k";
-
- assigned-clocks = <&lochnagar-clk LOCHNAGAR_CDC_MCLK1>,
- <&lochnagar-clk LOCHNAGAR_CDC_MCLK2>;
- assigned-clock-parents = <&clk-audio>,
- <&clk-pmic>;
- };
-
- clk-pmic: clk-pmic {
- compatible = "fixed-clock";
- clock-cells = <0>;
- clock-frequency = <32768>;
- };
-};
diff --git a/Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml
new file mode 100644
index 0000000000000..55d27e4475333
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml
@@ -0,0 +1,220 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/cirrus,lochnagar.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic Lochnagar Audio Development Board
+
+maintainers:
+ - patches@opensource.cirrus.com
+
+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.
+
+ This binding document describes the binding for the clock portion of the
+ driver.
+
+ Also see these documents for generic binding information:
+ [1] Clock : ../clock/clock-bindings.txt
+
+ And these for relevant defines:
+ [2] include/dt-bindings/clock/lochnagar.h
+
+ This binding must be part of the Lochnagar MFD binding:
+ [3] ../mfd/cirrus,lochnagar.yaml
+
+properties:
+ lochnagar-clk:
+ type: object
+
+ properties:
+ compatible:
+ contains:
+ enum:
+ - cirrus,lochnagar1-clk
+ - cirrus,lochnagar2-clk
+
+ '#clock-cells':
+ description:
+ Must be 1. The first cell indicates the clock number, see [2] for
+ available clocks and [1].
+ const: 1
+ clock-names:
+ description: |
+ May contain entries for each of the following clocks:
+ - ln-cdc-clkout : Output clock from CODEC card.
+ - ln-dsp-clkout : Output clock from DSP card.
+ - ln-gf-mclk1,ln-gf-mclk2,ln-gf-mclk3,ln-gf-mclk4 : Optional
+ input audio clocks from host system.
+ - ln-psia1-mclk, ln-psia2-mclk : Optional input audio clocks from
+ external connector.
+ - ln-spdif-mclk : Optional input audio clock from SPDIF.
+ - ln-spdif-clkout : Optional input audio clock from SPDIF.
+ - ln-adat-mclk : Optional input audio clock from ADAT.
+ - ln-pmic-32k : On board fixed clock.
+ - ln-clk-12m : On board fixed clock.
+ - ln-clk-11m : On board fixed clock.
+ - ln-clk-24m : On board fixed clock.
+ - ln-clk-22m : On board fixed clock.
+ - ln-clk-8m : On board fixed clock.
+ - ln-usb-clk-24m : On board fixed clock.
+ - ln-usb-clk-12m : On board fixed clock.
+ items:
+ enum:
+ - ln-cdc-clkout
+ - ln-dsp-clkout
+ - ln-gf-mclk1
+ - ln-gf-mclk2
+ - ln-gf-mclk3
+ - ln-gf-mclk4
+ - ln-psia1-mclk
+ - ln-psia2-mclk
+ - ln-spdif-mclk
+ - ln-spdif-clkout
+ - ln-adat-mclk
+ - ln-pmic-32k
+ - ln-clk-12m
+ - ln-clk-11m
+ - ln-clk-24m
+ - ln-clk-22m
+ - ln-clk-8m
+ - ln-usb-clk-24m
+ - ln-usb-clk-12m
+ minItems: 1
+ maxItems: 19
+ clocks: true
+ assigned-clocks: true
+ assigned-clock-parents: true
+
+ additionalProperties: false
+
+ required:
+ - compatible
+ - '#clock-cells'
+
+ lochnagar-pmic32k:
+ type: object
+ properties:
+ compatible:
+ enum:
+ - fixed-clock
+ '#clock-cells':
+ const: 0
+ clock-frequency:
+ const: 32768
+ required:
+ - compatible
+ - '#clock-cells'
+ - clock-frequency
+
+ lochnagar-clk12m:
+ type: object
+ properties:
+ compatible:
+ enum:
+ - fixed-clock
+ '#clock-cells':
+ const: 0
+ clock-frequency:
+ const: 12288000
+ required:
+ - compatible
+ - '#clock-cells'
+ - clock-frequency
+
+ lochnagar-clk11m:
+ type: object
+ properties:
+ compatible:
+ enum:
+ - fixed-clock
+ '#clock-cells':
+ const: 0
+ clock-frequency:
+ const: 11298600
+ required:
+ - compatible
+ - '#clock-cells'
+ - clock-frequency
+
+ lochnagar-clk24m:
+ type: object
+ properties:
+ compatible:
+ enum:
+ - fixed-clock
+ '#clock-cells':
+ const: 0
+ clock-frequency:
+ const: 24576000
+ required:
+ - compatible
+ - '#clock-cells'
+ - clock-frequency
+
+ lochnagar-clk22m:
+ type: object
+ properties:
+ compatible:
+ enum:
+ - fixed-clock
+ '#clock-cells':
+ const: 0
+ clock-frequency:
+ const: 22579200
+ required:
+ - compatible
+ - '#clock-cells'
+ - clock-frequency
+
+ lochnagar-clk8m:
+ type: object
+ properties:
+ compatible:
+ enum:
+ - fixed-clock
+ '#clock-cells':
+ const: 0
+ clock-frequency:
+ const: 8192000
+ required:
+ - compatible
+ - '#clock-cells'
+ - clock-frequency
+
+ lochnagar-usb24m:
+ type: object
+ properties:
+ compatible:
+ enum:
+ - fixed-clock
+ '#clock-cells':
+ const: 0
+ clock-frequency:
+ const: 24576000
+ required:
+ - compatible
+ - '#clock-cells'
+ - clock-frequency
+
+ lochnagar-usb12m:
+ type: object
+ properties:
+ compatible:
+ enum:
+ - fixed-clock
+ '#clock-cells':
+ const: 0
+ clock-frequency:
+ const: 12288000
+ required:
+ - compatible
+ - '#clock-cells'
+ - clock-frequency
--
2.11.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6/6] mfd: lochnagar: Move binding over to dtschema
2020-04-27 10:28 [PATCH 1/6] hwmon: lochnagar: Move binding over to dtschema Charles Keepax
` (3 preceding siblings ...)
2020-04-27 10:28 ` [PATCH 5/6] clk: " Charles Keepax
@ 2020-04-27 10:28 ` Charles Keepax
2020-04-27 10:36 ` Charles Keepax
2020-05-01 20:55 ` Rob Herring
4 siblings, 2 replies; 13+ messages in thread
From: Charles Keepax @ 2020-04-27 10:28 UTC (permalink / raw)
To: robh+dt, lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij
Cc: lgirdwood, linux-kernel, devicetree, patches
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
---
.../devicetree/bindings/mfd/cirrus,lochnagar.txt | 85 ----------
.../devicetree/bindings/mfd/cirrus,lochnagar.yaml | 183 +++++++++++++++++++++
MAINTAINERS | 12 +-
3 files changed, 189 insertions(+), 91 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/mfd/cirrus,lochnagar.txt
create mode 100644 Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml
diff --git a/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.txt b/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.txt
deleted file mode 100644
index 3bf92ad37fa1b..0000000000000
--- a/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-Cirrus Logic Lochnagar Audio Development Board
-
-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.txt
- [5] Pinctrl: ../pinctrl/cirrus,lochnagar.txt
- [6] Regulator: ../regulator/cirrus,lochnagar.txt
- [7] Sound: ../sound/cirrus,lochnagar.txt
- [8] Hardware Monitor: ../hwmon/cirrus,lochnagar.txt
-
-Required properties:
-
- - compatible : One of the following strings:
- "cirrus,lochnagar1"
- "cirrus,lochnagar2"
-
- - reg : I2C slave address
-
- - reset-gpios : Reset line to the Lochnagar, see [1].
-
-Required sub-nodes:
-
- - lochnagar-clk : Binding for the clocking components, see [4].
-
- - lochnagar-pinctrl : Binding for the pin control components, see [5].
-
-Optional sub-nodes:
-
- - Bindings for the regulator components, see [6]. Only available on
- Lochnagar 2.
-
- - lochnagar-sc : Binding for the sound card components, see [7].
- Only available on Lochnagar 2.
- - lochnagar-hwmon : Binding for the hardware monitor components, see [8].
- Only available on Lochnagar 2.
-
-Optional properties:
-
- - present-gpios : Host present line, indicating the presence of a
- host system, see [1]. This can be omitted if the present line is
- tied in hardware.
-
-Example:
-
-lochnagar: lochnagar@22 {
- compatible = "cirrus,lochnagar2";
- reg = <0x22>;
-
- reset-gpios = <&gpio0 55 0>;
- present-gpios = <&gpio0 60 0>;
-
- lochnagar-clk {
- compatible = "cirrus,lochnagar2-clk";
- ...
- };
-
- lochnagar-pinctrl {
- compatible = "cirrus,lochnagar-pinctrl";
- ...
- };
-
- lochnagar-sc {
- compatible = "cirrus,lochnagar2-soundcard";
- ...
- };
-
- lochnagar-hwmon {
- compatible = "cirrus,lochnagar2-hwmon";
- ...
- };
-};
diff --git a/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml
new file mode 100644
index 0000000000000..b2967f141b2af
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml
@@ -0,0 +1,183 @@
+# 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:
+ - patches@opensource.cirrus.com
+
+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] Regulator: ../regulator/cirrus,lochnagar.yaml
+ [7] Sound: ../sound/cirrus,lochnagar.yaml
+ [8] Hardware Monitor: ../hwmon/cirrus,lochnagar.yaml
+
+allOf:
+ - $ref: /schemas/clock/cirrus,lochnagar.yaml#
+ - $ref: /schemas/pinctrl/cirrus,lochnagar.yaml#
+ - $ref: /schemas/regulator/cirrus,lochnagar.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - cirrus,lochnagar2
+ then:
+ allOf:
+ - $ref: /schemas/sound/cirrus,lochnagar.yaml#
+ - $ref: /schemas/hwmon/cirrus,lochnagar.yaml#
+
+properties:
+ compatible:
+ contains:
+ enum:
+ - cirrus,lochnagar1
+ - cirrus,lochnagar2
+
+ reg:
+ description:
+ I2C slave address.
+ const: 0x22
+
+ reset-gpios:
+ description: |
+ Reset line to the Lochnagar, see [1].
+ 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
+
+required:
+ - compatible
+ - reg
+ - reset-gpios
+ - lochnagar-clk
+ - lochnagar-pinctrl
+
+unevaluatedProperties: 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 {
+ input-enable;
+ groups = "gf-aif1";
+ function = "codec-aif3";
+ };
+ codec2aif {
+ 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";
+
+ MICBIAS1-supply = <&eric>;
+
+ 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>;
+ };
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index e64e5db314976..a2b94e8cf585c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4062,12 +4062,12 @@ M: Charles Keepax <ckeepax@opensource.cirrus.com>
M: Richard Fitzgerald <rf@opensource.cirrus.com>
L: patches@opensource.cirrus.com
S: Supported
-F: Documentation/devicetree/bindings/clock/cirrus,lochnagar.txt
-F: Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
-F: Documentation/devicetree/bindings/mfd/cirrus,lochnagar.txt
-F: Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt
-F: Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt
-F: Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
+F: Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml
+F: Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.yaml
+F: Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml
+F: Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml
+F: Documentation/devicetree/bindings/regulator/cirrus,lochnagar.yaml
+F: Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml
F: Documentation/hwmon/lochnagar.rst
F: drivers/clk/clk-lochnagar.c
F: drivers/hwmon/lochnagar-hwmon.c
--
2.11.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 6/6] mfd: lochnagar: Move binding over to dtschema
2020-04-27 10:28 ` [PATCH 6/6] mfd: " Charles Keepax
@ 2020-04-27 10:36 ` Charles Keepax
2020-05-01 20:47 ` Rob Herring
2020-05-01 20:55 ` Rob Herring
1 sibling, 1 reply; 13+ messages in thread
From: Charles Keepax @ 2020-04-27 10:36 UTC (permalink / raw)
To: robh+dt, lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij
Cc: lgirdwood, linux-kernel, devicetree, patches
On Mon, Apr 27, 2020 at 11:28:12AM +0100, Charles Keepax wrote:
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> ---
> + 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>;
This seems to cause the following error:
Documentation/devicetree/bindings/mfd/cirrus,lochnagar.example.dt.yaml:
lochnagar@22: lochnagar-pinctrl:pin-settings:phandle: [[4]] is not of type 'object'
I think the schema is correct and the problem is one of tooling,
I have been poking at it for a while but can't seem to find a way
to silence this one. Any advice would be greatly appreciated.
Thanks,
Charles
> +
> + pinsettings: pin-settings {
> + ap2aif {
> + input-enable;
> + groups = "gf-aif1";
> + function = "codec-aif3";
> + };
> + codec2aif {
> + output-enable;
> + groups = "codec-aif3";
> + function = "gf-aif1";
> + };
> + };
> + };
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 6/6] mfd: lochnagar: Move binding over to dtschema
2020-04-27 10:36 ` Charles Keepax
@ 2020-05-01 20:47 ` Rob Herring
2020-05-04 9:55 ` Charles Keepax
0 siblings, 1 reply; 13+ messages in thread
From: Rob Herring @ 2020-05-01 20:47 UTC (permalink / raw)
To: Charles Keepax
Cc: lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij, lgirdwood, linux-kernel, devicetree, patches
On Mon, Apr 27, 2020 at 10:36:14AM +0000, Charles Keepax wrote:
> On Mon, Apr 27, 2020 at 11:28:12AM +0100, Charles Keepax wrote:
> > Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> > ---
> > + 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>;
>
> This seems to cause the following error:
>
> Documentation/devicetree/bindings/mfd/cirrus,lochnagar.example.dt.yaml:
> lochnagar@22: lochnagar-pinctrl:pin-settings:phandle: [[4]] is not of type 'object'
>
> I think the schema is correct and the problem is one of tooling,
> I have been poking at it for a while but can't seem to find a way
> to silence this one. Any advice would be greatly appreciated.
The problem is the "^.*$" patterns to match child node names also match
properties like 'phandle'. Ideally, you'd have some pattern to match on
for the node names.
There is work-around doing:
"^.*$":
if:
type: object
then:
properties:
...
But I much prefer to see node names updated. '-pins$' is a common
pattern.
Rob
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 6/6] mfd: lochnagar: Move binding over to dtschema
2020-04-27 10:28 ` [PATCH 6/6] mfd: " Charles Keepax
2020-04-27 10:36 ` Charles Keepax
@ 2020-05-01 20:55 ` Rob Herring
1 sibling, 0 replies; 13+ messages in thread
From: Rob Herring @ 2020-05-01 20:55 UTC (permalink / raw)
To: Charles Keepax
Cc: lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij, lgirdwood, linux-kernel, devicetree, patches
On Mon, Apr 27, 2020 at 11:28:12AM +0100, Charles Keepax wrote:
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> ---
> .../devicetree/bindings/mfd/cirrus,lochnagar.txt | 85 ----------
> .../devicetree/bindings/mfd/cirrus,lochnagar.yaml | 183 +++++++++++++++++++++
> MAINTAINERS | 12 +-
> 3 files changed, 189 insertions(+), 91 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/mfd/cirrus,lochnagar.txt
> create mode 100644 Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml
> diff --git a/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml
> new file mode 100644
> index 0000000000000..b2967f141b2af
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml
> @@ -0,0 +1,183 @@
> +# 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:
> + - patches@opensource.cirrus.com
> +
> +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] Regulator: ../regulator/cirrus,lochnagar.yaml
> + [7] Sound: ../sound/cirrus,lochnagar.yaml
> + [8] Hardware Monitor: ../hwmon/cirrus,lochnagar.yaml
> +
> +allOf:
> + - $ref: /schemas/clock/cirrus,lochnagar.yaml#
> + - $ref: /schemas/pinctrl/cirrus,lochnagar.yaml#
> + - $ref: /schemas/regulator/cirrus,lochnagar.yaml#
The preferred form is to define the child nodes in this schema and then
reference the child schema:
lochnagar-clk:
type: object
$ref: /schemas/clock/cirrus,lochnagar.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - cirrus,lochnagar2
> + then:
> + allOf:
> + - $ref: /schemas/sound/cirrus,lochnagar.yaml#
> + - $ref: /schemas/hwmon/cirrus,lochnagar.yaml#
That makes this part a bit more challenging:
then:
required:
- lochnagar-sc
else:
not:
required:
- lochnagar-sc
> +
> +properties:
> + compatible:
> + contains:
So this is valid?
"foo", "cirrus,lochnagar1"
I think you just want to drop 'contains'.
> + enum:
> + - cirrus,lochnagar1
> + - cirrus,lochnagar2
> +
> + reg:
> + description:
> + I2C slave address.
No need for generic descriptions of common properties.
> + const: 0x22
> +
> + reset-gpios:
> + description: |
> + Reset line to the Lochnagar, see [1].
> + 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
> +
> +required:
> + - compatible
> + - reg
> + - reset-gpios
> + - lochnagar-clk
> + - lochnagar-pinctrl
> +
> +unevaluatedProperties: 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 {
> + input-enable;
> + groups = "gf-aif1";
> + function = "codec-aif3";
> + };
> + codec2aif {
> + 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";
> +
> + MICBIAS1-supply = <&eric>;
> +
> + 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>;
> + };
> + };
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index e64e5db314976..a2b94e8cf585c 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -4062,12 +4062,12 @@ M: Charles Keepax <ckeepax@opensource.cirrus.com>
> M: Richard Fitzgerald <rf@opensource.cirrus.com>
> L: patches@opensource.cirrus.com
> S: Supported
> -F: Documentation/devicetree/bindings/clock/cirrus,lochnagar.txt
> -F: Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
> -F: Documentation/devicetree/bindings/mfd/cirrus,lochnagar.txt
> -F: Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt
> -F: Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt
> -F: Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
> +F: Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml
> +F: Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.yaml
> +F: Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml
> +F: Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml
> +F: Documentation/devicetree/bindings/regulator/cirrus,lochnagar.yaml
> +F: Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml
> F: Documentation/hwmon/lochnagar.rst
> F: drivers/clk/clk-lochnagar.c
> F: drivers/hwmon/lochnagar-hwmon.c
> --
> 2.11.0
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/6] clk: lochnagar: Move binding over to dtschema
2020-04-27 10:28 ` [PATCH 5/6] clk: " Charles Keepax
@ 2020-05-01 21:03 ` Rob Herring
0 siblings, 0 replies; 13+ messages in thread
From: Rob Herring @ 2020-05-01 21:03 UTC (permalink / raw)
To: Charles Keepax
Cc: lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij, lgirdwood, linux-kernel, devicetree, patches
On Mon, Apr 27, 2020 at 11:28:11AM +0100, Charles Keepax wrote:
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> ---
> .../devicetree/bindings/clock/cirrus,lochnagar.txt | 94 ---------
> .../bindings/clock/cirrus,lochnagar.yaml | 220 +++++++++++++++++++++
> 2 files changed, 220 insertions(+), 94 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/clock/cirrus,lochnagar.txt
> create mode 100644 Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml
> diff --git a/Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml
> new file mode 100644
> index 0000000000000..55d27e4475333
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml
> @@ -0,0 +1,220 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/cirrus,lochnagar.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic Lochnagar Audio Development Board
> +
> +maintainers:
> + - patches@opensource.cirrus.com
> +
> +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.
> +
> + This binding document describes the binding for the clock portion of the
> + driver.
> +
> + Also see these documents for generic binding information:
> + [1] Clock : ../clock/clock-bindings.txt
> +
> + And these for relevant defines:
> + [2] include/dt-bindings/clock/lochnagar.h
> +
> + This binding must be part of the Lochnagar MFD binding:
> + [3] ../mfd/cirrus,lochnagar.yaml
> +
> +properties:
> + lochnagar-clk:
> + type: object
> +
> + properties:
> + compatible:
> + contains:
Drop contains.
> + enum:
> + - cirrus,lochnagar1-clk
> + - cirrus,lochnagar2-clk
> +
> + '#clock-cells':
> + description:
> + Must be 1. The first cell indicates the clock number, see [2] for
> + available clocks and [1].
> + const: 1
> + clock-names:
> + description: |
> + May contain entries for each of the following clocks:
> + - ln-cdc-clkout : Output clock from CODEC card.
> + - ln-dsp-clkout : Output clock from DSP card.
> + - ln-gf-mclk1,ln-gf-mclk2,ln-gf-mclk3,ln-gf-mclk4 : Optional
> + input audio clocks from host system.
> + - ln-psia1-mclk, ln-psia2-mclk : Optional input audio clocks from
> + external connector.
> + - ln-spdif-mclk : Optional input audio clock from SPDIF.
> + - ln-spdif-clkout : Optional input audio clock from SPDIF.
> + - ln-adat-mclk : Optional input audio clock from ADAT.
> + - ln-pmic-32k : On board fixed clock.
> + - ln-clk-12m : On board fixed clock.
> + - ln-clk-11m : On board fixed clock.
> + - ln-clk-24m : On board fixed clock.
> + - ln-clk-22m : On board fixed clock.
> + - ln-clk-8m : On board fixed clock.
> + - ln-usb-clk-24m : On board fixed clock.
> + - ln-usb-clk-12m : On board fixed clock.
Don't define the list twice. Make the description a comment above or
after each item below.
> + items:
> + enum:
> + - ln-cdc-clkout
> + - ln-dsp-clkout
> + - ln-gf-mclk1
> + - ln-gf-mclk2
> + - ln-gf-mclk3
> + - ln-gf-mclk4
> + - ln-psia1-mclk
> + - ln-psia2-mclk
> + - ln-spdif-mclk
> + - ln-spdif-clkout
> + - ln-adat-mclk
> + - ln-pmic-32k
> + - ln-clk-12m
> + - ln-clk-11m
> + - ln-clk-24m
> + - ln-clk-22m
> + - ln-clk-8m
> + - ln-usb-clk-24m
> + - ln-usb-clk-12m
> + minItems: 1
> + maxItems: 19
> + clocks: true
> + assigned-clocks: true
> + assigned-clock-parents: true
> +
> + additionalProperties: false
> +
> + required:
> + - compatible
> + - '#clock-cells'
> +
> + lochnagar-pmic32k:
> + type: object
> + properties:
> + compatible:
> + enum:
> + - fixed-clock
> + '#clock-cells':
> + const: 0
> + clock-frequency:
> + const: 32768
> + required:
> + - compatible
> + - '#clock-cells'
> + - clock-frequency
The fixed-clock.yaml schema will be applied to this. So all you need
here are addtional constraints:
clock-frequency:
const: 32768
> +
> + lochnagar-clk12m:
> + type: object
> + properties:
> + compatible:
> + enum:
> + - fixed-clock
> + '#clock-cells':
> + const: 0
> + clock-frequency:
> + const: 12288000
> + required:
> + - compatible
> + - '#clock-cells'
> + - clock-frequency
> +
> + lochnagar-clk11m:
> + type: object
> + properties:
> + compatible:
> + enum:
> + - fixed-clock
> + '#clock-cells':
> + const: 0
> + clock-frequency:
> + const: 11298600
> + required:
> + - compatible
> + - '#clock-cells'
> + - clock-frequency
> +
> + lochnagar-clk24m:
> + type: object
> + properties:
> + compatible:
> + enum:
> + - fixed-clock
> + '#clock-cells':
> + const: 0
> + clock-frequency:
> + const: 24576000
> + required:
> + - compatible
> + - '#clock-cells'
> + - clock-frequency
> +
> + lochnagar-clk22m:
> + type: object
> + properties:
> + compatible:
> + enum:
> + - fixed-clock
> + '#clock-cells':
> + const: 0
> + clock-frequency:
> + const: 22579200
> + required:
> + - compatible
> + - '#clock-cells'
> + - clock-frequency
> +
> + lochnagar-clk8m:
> + type: object
> + properties:
> + compatible:
> + enum:
> + - fixed-clock
> + '#clock-cells':
> + const: 0
> + clock-frequency:
> + const: 8192000
> + required:
> + - compatible
> + - '#clock-cells'
> + - clock-frequency
> +
> + lochnagar-usb24m:
> + type: object
> + properties:
> + compatible:
> + enum:
> + - fixed-clock
> + '#clock-cells':
> + const: 0
> + clock-frequency:
> + const: 24576000
> + required:
> + - compatible
> + - '#clock-cells'
> + - clock-frequency
> +
> + lochnagar-usb12m:
> + type: object
> + properties:
> + compatible:
> + enum:
> + - fixed-clock
> + '#clock-cells':
> + const: 0
> + clock-frequency:
> + const: 12288000
> + required:
> + - compatible
> + - '#clock-cells'
> + - clock-frequency
> --
> 2.11.0
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/6] ASoC: lochnagar: Move binding over to dtschema
2020-04-27 10:28 ` [PATCH 2/6] ASoC: " Charles Keepax
@ 2020-05-01 21:06 ` Rob Herring
0 siblings, 0 replies; 13+ messages in thread
From: Rob Herring @ 2020-05-01 21:06 UTC (permalink / raw)
To: Charles Keepax
Cc: lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij, lgirdwood, linux-kernel, devicetree, patches
On Mon, Apr 27, 2020 at 11:28:08AM +0100, Charles Keepax wrote:
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> ---
> .../devicetree/bindings/sound/cirrus,lochnagar.txt | 39 ---------------
> .../bindings/sound/cirrus,lochnagar.yaml | 58 ++++++++++++++++++++++
> 2 files changed, 58 insertions(+), 39 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
> create mode 100644 Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt b/Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
> deleted file mode 100644
> index 41ae2699f07a9..0000000000000
> --- a/Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -Cirrus Logic Lochnagar Audio Development Board
> -
> -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.
> -
> -This binding document describes the binding for the audio portion
> -of the driver.
> -
> -This binding must be part of the Lochnagar MFD binding:
> - [4] ../mfd/cirrus,lochnagar.txt
> -
> -Required properties:
> -
> - - compatible : One of the following strings:
> - "cirrus,lochnagar2-soundcard"
> -
> - - #sound-dai-cells : Must be set to 1.
> -
> - - clocks : Contains an entry for each entry in clock-names.
> - - clock-names : Must include the following clocks:
> - "mclk" Master clock source for the sound card, should normally
> - be set to LOCHNAGAR_SOUNDCARD_MCLK provided by the Lochnagar
> - clock driver.
> -
> -Example:
> -
> -lochnagar-sc {
> - compatible = "cirrus,lochnagar2-soundcard";
> -
> - #sound-dai-cells = <1>;
> -
> - clocks = <&lochnagar_clk LOCHNAGAR_SOUNDCARD_MCLK>;
> - clock-names = "mclk";
> -};
> diff --git a/Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml
> new file mode 100644
> index 0000000000000..6a266793ebd16
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/cirrus,lochnagar.yaml
> @@ -0,0 +1,58 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/cirrus,lochnagar.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic Lochnagar Audio Development Board
> +
> +maintainers:
> + - patches@opensource.cirrus.com
> +
> +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.
> +
> + This binding document describes the binding for the audio portion of the
> + driver.
> +
> + This binding must be part of the Lochnagar MFD binding:
> + [1] ../mfd/cirrus,lochnagar.yaml
> +
> +properties:
> + lochnagar-sc:
> + type: object
> +
> + properties:
> + compatible:
> + contains:
> + enum:
> + - cirrus,lochnagar2-soundcard
> +
> + '#sound-dai-cells':
> + description:
> + Must be 1. The first cell indicating the audio interface.
'Must be 1' is what the constraint says.
> + const: 1
> +
> + clocks:
> + maxItems: 1
> + description:
> + Master clock source for the sound card, should normally be set to
> + LOCHNAGAR_SOUNDCARD_MCLK provided by the Lochnagar clock driver.
blank line.
> + clock-names:
> + const: mclk
> + description:
> + Must contain the string mclk.
That's what the constraint says already.
> +
> + required:
> + - compatible
> + - '#sound-dai-cells'
> + - clocks
> + - clock-names
> +
> + additionalProperties: false
> --
> 2.11.0
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 6/6] mfd: lochnagar: Move binding over to dtschema
2020-05-01 20:47 ` Rob Herring
@ 2020-05-04 9:55 ` Charles Keepax
0 siblings, 0 replies; 13+ messages in thread
From: Charles Keepax @ 2020-05-04 9:55 UTC (permalink / raw)
To: Rob Herring
Cc: lee.jones, broonie, mturquette, sboyd, jdelvare, linux,
linus.walleij, lgirdwood, linux-kernel, devicetree, patches
On Fri, May 01, 2020 at 03:47:21PM -0500, Rob Herring wrote:
> On Mon, Apr 27, 2020 at 10:36:14AM +0000, Charles Keepax wrote:
> > On Mon, Apr 27, 2020 at 11:28:12AM +0100, Charles Keepax wrote:
> > > Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> > > ---
> > > + 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>;
> >
> > This seems to cause the following error:
> >
> > Documentation/devicetree/bindings/mfd/cirrus,lochnagar.example.dt.yaml:
> > lochnagar@22: lochnagar-pinctrl:pin-settings:phandle: [[4]] is not of type 'object'
> >
> > I think the schema is correct and the problem is one of tooling,
> > I have been poking at it for a while but can't seem to find a way
> > to silence this one. Any advice would be greatly appreciated.
>
> The problem is the "^.*$" patterns to match child node names also match
> properties like 'phandle'. Ideally, you'd have some pattern to match on
> for the node names.
>
> There is work-around doing:
>
> "^.*$":
> if:
> type: object
> then:
> properties:
> ...
>
I believe I did try this and run into some other problems.
> But I much prefer to see node names updated. '-pins$' is a common
> pattern.
>
I have no problem requiring a pins suffix on the sub-nodes. Will
add that and send a new version, fixing up your other comments as
well. Thank you for your suggestions and review.
Thanks,
Charles
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/6] pinctrl: lochnagar: Move binding over to dtschema
2020-04-27 10:28 ` [PATCH 3/6] pinctrl: " Charles Keepax
@ 2020-05-12 11:40 ` Linus Walleij
0 siblings, 0 replies; 13+ messages in thread
From: Linus Walleij @ 2020-05-12 11:40 UTC (permalink / raw)
To: Charles Keepax
Cc: Rob Herring, Lee Jones, Mark Brown, Michael Turquette,
Stephen Boyd, Jean Delvare, Guenter Roeck, Liam Girdwood,
linux-kernel,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
patches
On Mon, Apr 27, 2020 at 12:28 PM Charles Keepax
<ckeepax@opensource.cirrus.com> wrote:
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Patch applied.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2020-05-12 11:40 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-27 10:28 [PATCH 1/6] hwmon: lochnagar: Move binding over to dtschema Charles Keepax
2020-04-27 10:28 ` [PATCH 2/6] ASoC: " Charles Keepax
2020-05-01 21:06 ` Rob Herring
2020-04-27 10:28 ` [PATCH 3/6] pinctrl: " Charles Keepax
2020-05-12 11:40 ` Linus Walleij
2020-04-27 10:28 ` [PATCH 4/6] regulator: " Charles Keepax
2020-04-27 10:28 ` [PATCH 5/6] clk: " Charles Keepax
2020-05-01 21:03 ` Rob Herring
2020-04-27 10:28 ` [PATCH 6/6] mfd: " Charles Keepax
2020-04-27 10:36 ` Charles Keepax
2020-05-01 20:47 ` Rob Herring
2020-05-04 9:55 ` Charles Keepax
2020-05-01 20:55 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).