Commit 80204ac4 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Stephen Boyd
Browse files

dt-bindings: clock: samsung: convert S5Pv210 AudSS to dtschema



Convert Samsung S5Pv210 Audio SubSystem clock controller bindings to DT
schema format using json-schema.

Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Reviewed-by: default avatarSam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20210825134251.220098-2-krzysztof.kozlowski@canonical.com


Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent e1ec3909
Loading
Loading
Loading
Loading
+0 −53
Original line number Diff line number Diff line
* Samsung Audio Subsystem Clock Controller

The Samsung Audio Subsystem clock controller generates and supplies clocks
to Audio Subsystem block available in the S5PV210 and compatible SoCs.

Required Properties:

- compatible: should be "samsung,s5pv210-audss-clock".
- reg: physical base address and length of the controller's register set.

- #clock-cells: should be 1.

- clocks:
  - hclk: AHB bus clock of the Audio Subsystem.
  - xxti: Optional fixed rate PLL reference clock, parent of mout_audss. If
    not specified (i.e. xusbxti is used for PLL reference), it is fixed to
    a clock named "xxti".
  - fout_epll: Input PLL to the AudioSS block, parent of mout_audss.
  - iiscdclk0: Optional external i2s clock, parent of mout_i2s. If not
    specified, it is fixed to a clock named "iiscdclk0".
  - sclk_audio0: Audio bus clock, parent of mout_i2s.

- clock-names: Aliases for the above clocks. They should be "hclk",
  "xxti", "fout_epll", "iiscdclk0", and "sclk_audio0" respectively.

All available clocks are defined as preprocessor macros in
dt-bindings/clock/s5pv210-audss-clk.h header and can be used in device
tree sources.

Example: Clock controller node.

	clk_audss: clock-controller@c0900000 {
		compatible = "samsung,s5pv210-audss-clock";
		reg = <0xc0900000 0x1000>;
		#clock-cells = <1>;
		clock-names = "hclk", "xxti",
				"fout_epll", "sclk_audio0";
		clocks = <&clocks DOUT_HCLKP>, <&xxti>,
				<&clocks FOUT_EPLL>, <&clocks SCLK_AUDIO0>;
	};

Example: I2S controller node that consumes the clock generated by the clock
	 controller. Refer to the standard clock bindings for information
         about 'clocks' and 'clock-names' property.

	i2s0: i2s@3830000 {
		/* ... */
		clock-names = "iis", "i2s_opclk0",
				"i2s_opclk1";
		clocks = <&clk_audss CLK_I2S>, <&clk_audss CLK_I2S>,
				<&clk_audss CLK_DOUT_AUD_BUS>;
		/* ... */
	};
+78 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/samsung,s5pv210-audss-clock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung S5Pv210 SoC Audio SubSystem clock controller

maintainers:
  - Chanwoo Choi <cw00.choi@samsung.com>
  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  - Sylwester Nawrocki <s.nawrocki@samsung.com>
  - Tomasz Figa <tomasz.figa@gmail.com>

description: |
  All available clocks are defined as preprocessor macros in
  include/dt-bindings/clock/s5pv210-audss.h header.

properties:
  compatible:
    const: samsung,s5pv210-audss-clock

  clocks:
    minItems: 4
    items:
      - description:
          AHB bus clock of the Audio Subsystem.
      - description:
          Optional fixed rate PLL reference clock, parent of mout_audss. If not
          specified (i.e. xusbxti is used for PLL reference), it is fixed to a
          clock named "xxti".
      - description:
          Input PLL to the AudioSS block, parent of mout_audss.
      - description:
          Audio bus clock, parent of mout_i2s.
      - description:
          Optional external i2s clock, parent of mout_i2s. If not specified, it
          is fixed to a clock named "iiscdclk0".

  clock-names:
    minItems: 4
    items:
      - const: hclk
      - const: xxti
      - const: fout_epll
      - const: sclk_audio0
      - const: iiscdclk0

  "#clock-cells":
    const: 1

  power-domains:
    maxItems: 1

  reg:
    maxItems: 1

required:
  - compatible
  - clocks
  - clock-names
  - "#clock-cells"
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/s5pv210.h>

    clock-controller@c0900000 {
        compatible = "samsung,s5pv210-audss-clock";
        reg = <0xc0900000 0x1000>;
        #clock-cells = <1>;
        clock-names = "hclk", "xxti", "fout_epll", "sclk_audio0";
        clocks = <&clocks DOUT_HCLKP>, <&xxti>, <&clocks FOUT_EPLL>,
                 <&clocks SCLK_AUDIO0>;
    };