Unverified Commit 4d1a015a authored by Johan Jonker's avatar Johan Jonker Committed by Mark Brown
Browse files

ASoC: convert rockchip spdif bindings to yaml



Current dts files with 'spdif' nodes are manually verified.
In order to automate this process rockchip-spdif.txt
has to be converted to yaml.

Also rk3188.dtsi, rk3288.dtsi use an extra fallback string,
so change this in the documentation.

Changed:
"rockchip,rk3188-spdif", "rockchip,rk3066-spdif"
"rockchip,rk3288-spdif", "rockchip,rk3066-spdif"

Signed-off-by: default avatarJohan Jonker <jbx6244@gmail.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20200404115225.4314-1-jbx6244@gmail.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent a306f045
Loading
Loading
Loading
Loading
+0 −45
Original line number Diff line number Diff line
* Rockchip SPDIF transceiver

The S/PDIF audio block is a stereo transceiver that allows the
processor to receive and transmit digital audio via an coaxial cable or
a fibre cable.

Required properties:

- compatible: should be one of the following:
   - "rockchip,rk3066-spdif"
   - "rockchip,rk3188-spdif"
   - "rockchip,rk3228-spdif"
   - "rockchip,rk3288-spdif"
   - "rockchip,rk3328-spdif"
   - "rockchip,rk3366-spdif"
   - "rockchip,rk3368-spdif"
   - "rockchip,rk3399-spdif"
- reg: physical base address of the controller and length of memory mapped
  region.
- interrupts: should contain the SPDIF interrupt.
- dmas: DMA specifiers for tx dma. See the DMA client binding,
  Documentation/devicetree/bindings/dma/dma.txt
- dma-names: should be "tx"
- clocks: a list of phandle + clock-specifier pairs, one for each entry
  in clock-names.
- clock-names: should contain following:
   - "hclk": clock for SPDIF controller
   - "mclk" : clock for SPDIF bus

Required properties on RK3288:
  - rockchip,grf: the phandle of the syscon node for the general register
                   file (GRF)

Example for the rk3188 SPDIF controller:

spdif: spdif@1011e000 {
	compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif";
	reg = <0x1011e000 0x2000>;
	interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
	dmas = <&dmac1_s 8>;
	dma-names = "tx";
	clock-names = "hclk", "mclk";
	clocks = <&cru HCLK_SPDIF>, <&cru SCLK_SPDIF>;
	#sound-dai-cells = <0>;
};
+93 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/rockchip-spdif.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Rockchip SPDIF transceiver

description:
  The S/PDIF audio block is a stereo transceiver that allows the
  processor to receive and transmit digital audio via a coaxial or
  fibre cable.

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

properties:
  compatible:
    oneOf:
      - const: rockchip,rk3066-spdif
      - const: rockchip,rk3228-spdif
      - const: rockchip,rk3328-spdif
      - const: rockchip,rk3366-spdif
      - const: rockchip,rk3368-spdif
      - const: rockchip,rk3399-spdif
      - items:
          - enum:
            - rockchip,rk3188-spdif
            - rockchip,rk3288-spdif
          - const: rockchip,rk3066-spdif

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: clock for SPDIF bus
      - description: clock for SPDIF controller

  clock-names:
    items:
      - const: mclk
      - const: hclk

  dmas:
    maxItems: 1

  dma-names:
    const: tx

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

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - dmas
  - dma-names

if:
  properties:
    compatible:
      contains:
        const: rockchip,rk3288-spdif

then:
  required:
    - rockchip,grf

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/rk3188-cru.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    spdif: spdif@1011e000 {
      compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif";
      reg = <0x1011e000 0x2000>;
      interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
      clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>;
      clock-names = "mclk", "hclk";
      dmas = <&dmac1_s 8>;
      dma-names = "tx";
    };