Unverified Commit 3f6597ad authored by Katsuhiro Suzuki's avatar Katsuhiro Suzuki Committed by Mark Brown
Browse files

ASoC: convert rk3328 codec binding to yaml



This patch converts Rockchip rk3328 audio codec binding to DT schema.
And adds description about "mclk" clock and fixes some errors in
original example.

Signed-off-by: default avatarKatsuhiro Suzuki <katsuhiro@katsuster.net>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20200714073247.172859-1-katsuhiro@katsuster.net


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f50d67f9
Loading
Loading
Loading
Loading
+0 −28
Original line number Diff line number Diff line
* Rockchip Rk3328 internal codec

Required properties:

- compatible: "rockchip,rk3328-codec"
- reg: physical base address of the controller and length of memory mapped
  region.
- rockchip,grf: the phandle of the syscon node for GRF register.
- clocks: a list of phandle + clock-specifer pairs, one for each entry in clock-names.
- clock-names: should be "pclk".
- spk-depop-time-ms: speak depop time msec.

Optional properties:

- mute-gpios: GPIO specifier for external line driver control (typically the
              dedicated GPIO_MUTE pin)

Example for rk3328 internal codec:

codec: codec@ff410000 {
	compatible = "rockchip,rk3328-codec";
	reg = <0x0 0xff410000 0x0 0x1000>;
	rockchip,grf = <&grf>;
	clocks = <&cru PCLK_ACODEC>;
	clock-names = "pclk";
	mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
	spk-depop-time-ms = 100;
};
+69 −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/sound/rockchip,rk3328-codec.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Rockchip rk3328 internal codec

maintainers:
  - Heiko Stuebner <heiko@sntech.de>

properties:
  compatible:
    const: rockchip,rk3328-codec

  reg:
    maxItems: 1

  clocks:
    items:
      - description: clock for audio codec
      - description: clock for I2S master clock

  clock-names:
    items:
      - const: pclk
      - const: mclk

  rockchip,grf:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      The phandle of the syscon node for the GRF register.

  spk-depop-time-ms:
    default: 200
    description:
      Speaker depop time in msec.

  mute-gpios:
    maxItems: 1
    description:
      GPIO specifier for external line driver control (typically the
      dedicated GPIO_MUTE pin)

  "#sound-dai-cells":
    const: 0

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - rockchip,grf
  - "#sound-dai-cells"

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/clock/rk3328-cru.h>
    codec: codec@ff410000 {
      compatible = "rockchip,rk3328-codec";
      reg = <0xff410000 0x1000>;
      clocks = <&cru PCLK_ACODECPHY>, <&cru SCLK_I2S1>;
      clock-names = "pclk", "mclk";
      rockchip,grf = <&grf>;
      mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
      spk-depop-time-ms = <100>;
      #sound-dai-cells = <0>;
    };