dt-bindings: mfd: Convert X-Powers AC100 binding to a schema
The X-Powers AC100 hybrid devices are supported by Linux thanks to its device tree binding. Now that we have the DT validation in place, let's convert the device tree bindings for that driver over to a YAML schema. Signed-off-by: Maxime Ripard <maxime@cerno.tech> Acked-by: Chen-Yu Tsai <wens@csie.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Link: https://lore.kernel.org/r/20210924071614.868307-3-maxime@cerno.tech
This commit is contained in:
parent
d3546ccdce
commit
59f031c04d
@ -1,50 +0,0 @@
|
||||
X-Powers AC100 Codec/RTC IC Device Tree bindings
|
||||
|
||||
AC100 is a audio codec and RTC subsystem combo IC. The 2 parts are
|
||||
separated, including power supplies and interrupt lines, but share
|
||||
a common register address space and host interface.
|
||||
|
||||
Required properties:
|
||||
- compatible: "x-powers,ac100"
|
||||
- reg: The I2C slave address or RSB hardware address for the chip
|
||||
- sub-nodes:
|
||||
- codec
|
||||
- compatible: "x-powers,ac100-codec"
|
||||
- interrupts: SoC NMI / GPIO interrupt connected to the
|
||||
IRQ_AUDIO pin
|
||||
- #clock-cells: Shall be 0
|
||||
- clock-output-names: "4M_adda"
|
||||
|
||||
- see clock/clock-bindings.txt for common clock bindings
|
||||
|
||||
- rtc
|
||||
- compatible: "x-powers,ac100-rtc"
|
||||
- clocks: A phandle to the codec's "4M_adda" clock
|
||||
- #clock-cells: Shall be 1
|
||||
- clock-output-names: "cko1_rtc", "cko2_rtc", "cko3_rtc"
|
||||
|
||||
- see clock/clock-bindings.txt for common clock bindings
|
||||
|
||||
Example:
|
||||
|
||||
ac100: codec@e89 {
|
||||
compatible = "x-powers,ac100";
|
||||
reg = <0xe89>;
|
||||
|
||||
ac100_codec: codec {
|
||||
compatible = "x-powers,ac100-codec";
|
||||
interrupt-parent = <&r_pio>;
|
||||
interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "4M_adda";
|
||||
};
|
||||
|
||||
ac100_rtc: rtc {
|
||||
compatible = "x-powers,ac100-rtc";
|
||||
interrupt-parent = <&nmi_intc>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&ac100_codec>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
|
||||
};
|
||||
};
|
116
Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
Normal file
116
Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
Normal file
@ -0,0 +1,116 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/mfd/x-powers,ac100.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: X-Powers AC100 Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- Chen-Yu Tsai <wens@csie.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: x-powers,ac100
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
codec:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
"#clock-cells":
|
||||
const: 0
|
||||
|
||||
compatible:
|
||||
const: x-powers,ac100-codec
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clock-output-names:
|
||||
maxItems: 1
|
||||
description: >
|
||||
Name of the 4M_adda clock exposed by the codec
|
||||
|
||||
required:
|
||||
- "#clock-cells"
|
||||
- compatible
|
||||
- interrupts
|
||||
- clock-output-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
rtc:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
"#clock-cells":
|
||||
const: 1
|
||||
|
||||
compatible:
|
||||
const: x-powers,ac100-rtc
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
description: >
|
||||
A phandle to the codec's "4M_adda" clock
|
||||
|
||||
clock-output-names:
|
||||
maxItems: 3
|
||||
description: >
|
||||
Name of the cko1, cko2 and cko3 clocks exposed by the codec
|
||||
|
||||
required:
|
||||
- "#clock-cells"
|
||||
- compatible
|
||||
- interrupts
|
||||
- clocks
|
||||
- clock-output-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- codec
|
||||
- rtc
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
rsb {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
codec@e89 {
|
||||
compatible = "x-powers,ac100";
|
||||
reg = <0xe89>;
|
||||
|
||||
ac100_codec: codec {
|
||||
compatible = "x-powers,ac100-codec";
|
||||
interrupt-parent = <&r_pio>;
|
||||
interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "4M_adda";
|
||||
};
|
||||
|
||||
ac100_rtc: rtc {
|
||||
compatible = "x-powers,ac100-rtc";
|
||||
interrupt-parent = <&nmi_intc>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&ac100_codec>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
Loading…
x
Reference in New Issue
Block a user