Message ID | 20200519224151.2074597-13-lkundrak@v3.sk (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | MMP2 Clock Updates (GPU, Audio, Power Islands) | expand |
On Wed, 20 May 2020 00:41:50 +0200, Lubomir Rintel wrote: > This describes the bindings for a controller that generates master and bit > clocks for the I2S interface. > > Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> > > --- > Changes since v1: > - Fix commit message wording > - Define MMP2_CLK_AUDIO_NR_CLKS > - Make clock ids start at 0, not 1 > - Fix dt-bindings/clock/marvell,mmp2-audio.h file name > - Rename node from "clocks" to "clock-controller" > > .../clock/marvell,mmp2-audio-clock.yaml | 74 +++++++++++++++++++ > .../dt-bindings/clock/marvell,mmp2-audio.h | 10 +++ > 2 files changed, 84 insertions(+) > create mode 100644 Documentation/devicetree/bindings/clock/marvell,mmp2-audio-clock.yaml > create mode 100644 include/dt-bindings/clock/marvell,mmp2-audio.h > Reviewed-by: Rob Herring <robh@kernel.org>
Quoting Lubomir Rintel (2020-05-19 15:41:50) > This describes the bindings for a controller that generates master and bit > clocks for the I2S interface. > > Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> > > --- Applied to clk-next
On Tue, May 19, 2020 at 4:42 PM Lubomir Rintel <lkundrak@v3.sk> wrote: > > This describes the bindings for a controller that generates master and bit > clocks for the I2S interface. > > Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> > > --- > Changes since v1: > - Fix commit message wording > - Define MMP2_CLK_AUDIO_NR_CLKS > - Make clock ids start at 0, not 1 > - Fix dt-bindings/clock/marvell,mmp2-audio.h file name > - Rename node from "clocks" to "clock-controller" > > .../clock/marvell,mmp2-audio-clock.yaml | 74 +++++++++++++++++++ > .../dt-bindings/clock/marvell,mmp2-audio.h | 10 +++ > 2 files changed, 84 insertions(+) > create mode 100644 Documentation/devicetree/bindings/clock/marvell,mmp2-audio-clock.yaml > create mode 100644 include/dt-bindings/clock/marvell,mmp2-audio.h > > diff --git a/Documentation/devicetree/bindings/clock/marvell,mmp2-audio-clock.yaml b/Documentation/devicetree/bindings/clock/marvell,mmp2-audio-clock.yaml > new file mode 100644 > index 000000000000..ab6e82d1d3a9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/marvell,mmp2-audio-clock.yaml > @@ -0,0 +1,74 @@ > +# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/clock/marvell,mmp2-audio-clock.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Marvell MMP2 Audio Clock Controller > + > +maintainers: > + - Lubomir Rintel <lkundrak@v3.sk> > + > +description: | > + The audio clock controller generates and supplies the clocks to the audio > + codec. > + > + Each clock is assigned an identifier and client nodes use this identifier > + to specify the clock which they consume. > + > + All these identifiers could be found in > + <dt-bindings/clock/marvell,mmp2-audio.h>. > + > +properties: > + compatible: > + enum: > + - marvell,mmp2-audio-clock > + > + reg: > + maxItems: 1 > + > + clocks: > + items: > + - description: Audio subsystem clock > + - description: The crystal oscillator clock > + - description: First I2S clock > + - description: Second I2S clock > + > + clock-names: > + items: > + - const: audio > + - const: vctcxo > + - const: i2s0 > + - const: i2s1 > + > + '#clock-cells': > + const: 1 > + > + power-domains: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names > + - '#clock-cells' > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/marvell,mmp2-audio.h> > + #include <dt-bindings/power/marvell,mmp2.h> > + > + clock-controller@d42a0c30 { > + compatible = "marvell,mmp2-audio-clock"; > + reg = <0xd42a0c30 0x10>; > + clock-names = "audio", "vctcxo", "i2s0", "i2s1"; > + clocks = <&soc_clocks MMP2_CLK_AUDIO>, > + <&soc_clocks MMP2_CLK_VCTCXO>, > + <&soc_clocks MMP2_CLK_I2S0>, > + <&soc_clocks MMP2_CLK_I2S1>; This now breaks linux-next. I think the above defines are missing their include. My testing wasn't happy either because it couldn't find marvell,mmp2.h. I guess that's somewhere in linux-next and now we're on to the secondary issue. Once that's fixed, then the schema checks will actually run (hint: make sure they pass). Please get this fixed or revert before it is sent to Linus. Maybe we can have an rc1 without the schema broken. Rob
diff --git a/Documentation/devicetree/bindings/clock/marvell,mmp2-audio-clock.yaml b/Documentation/devicetree/bindings/clock/marvell,mmp2-audio-clock.yaml new file mode 100644 index 000000000000..ab6e82d1d3a9 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/marvell,mmp2-audio-clock.yaml @@ -0,0 +1,74 @@ +# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/marvell,mmp2-audio-clock.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Marvell MMP2 Audio Clock Controller + +maintainers: + - Lubomir Rintel <lkundrak@v3.sk> + +description: | + The audio clock controller generates and supplies the clocks to the audio + codec. + + Each clock is assigned an identifier and client nodes use this identifier + to specify the clock which they consume. + + All these identifiers could be found in + <dt-bindings/clock/marvell,mmp2-audio.h>. + +properties: + compatible: + enum: + - marvell,mmp2-audio-clock + + reg: + maxItems: 1 + + clocks: + items: + - description: Audio subsystem clock + - description: The crystal oscillator clock + - description: First I2S clock + - description: Second I2S clock + + clock-names: + items: + - const: audio + - const: vctcxo + - const: i2s0 + - const: i2s1 + + '#clock-cells': + const: 1 + + power-domains: + maxItems: 1 + +required: + - compatible + - reg + - clocks + - clock-names + - '#clock-cells' + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/marvell,mmp2-audio.h> + #include <dt-bindings/power/marvell,mmp2.h> + + clock-controller@d42a0c30 { + compatible = "marvell,mmp2-audio-clock"; + reg = <0xd42a0c30 0x10>; + clock-names = "audio", "vctcxo", "i2s0", "i2s1"; + clocks = <&soc_clocks MMP2_CLK_AUDIO>, + <&soc_clocks MMP2_CLK_VCTCXO>, + <&soc_clocks MMP2_CLK_I2S0>, + <&soc_clocks MMP2_CLK_I2S1>; + power-domains = <&soc_clocks MMP2_POWER_DOMAIN_AUDIO>; + #clock-cells = <1>; + }; diff --git a/include/dt-bindings/clock/marvell,mmp2-audio.h b/include/dt-bindings/clock/marvell,mmp2-audio.h new file mode 100644 index 000000000000..20664776f497 --- /dev/null +++ b/include/dt-bindings/clock/marvell,mmp2-audio.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) */ +#ifndef __DT_BINDINGS_CLOCK_MARVELL_MMP2_AUDIO_H +#define __DT_BINDINGS_CLOCK_MARVELL_MMP2_AUDIO_H + +#define MMP2_CLK_AUDIO_SYSCLK 0 +#define MMP2_CLK_AUDIO_SSPA0 1 +#define MMP2_CLK_AUDIO_SSPA1 2 + +#define MMP2_CLK_AUDIO_NR_CLKS 3 +#endif
This describes the bindings for a controller that generates master and bit clocks for the I2S interface. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> --- Changes since v1: - Fix commit message wording - Define MMP2_CLK_AUDIO_NR_CLKS - Make clock ids start at 0, not 1 - Fix dt-bindings/clock/marvell,mmp2-audio.h file name - Rename node from "clocks" to "clock-controller" .../clock/marvell,mmp2-audio-clock.yaml | 74 +++++++++++++++++++ .../dt-bindings/clock/marvell,mmp2-audio.h | 10 +++ 2 files changed, 84 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/marvell,mmp2-audio-clock.yaml create mode 100644 include/dt-bindings/clock/marvell,mmp2-audio.h