Commit 260a4ca8 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Rob Herring
Browse files

dt-bindings: display: bridge: nxp,tda998x: Convert to json-schema



Convert the NXP TDA998x HDMI transmitter Device Tree binding
documentation to json-schema.

Add missing "#sound-dai-cells" property.
Add ports hierarchy, as an alternative to port.
Drop pinctrl properties, as they do not belong here.

Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/1224e757ec958f8b29ec66e783a7ee805c339d84.1663165552.git.geert+renesas@glider.be


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent a607a850
Loading
Loading
Loading
Loading
+109 −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/display/bridge/nxp,tda998x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NXP TDA998x HDMI transmitter

maintainers:
  - Russell King <linux@armlinux.org.uk>

properties:
  compatible:
    const: nxp,tda998x

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  video-ports:
    default: 0x230145
    maximum: 0xffffff
    description:
      24 bits value which defines how the video controller output is wired to
      the TDA998x input.

  audio-ports:
    description:
      Array of 8-bit values, 2 values per DAI (Documentation/sound/soc/dai.rst).
      The implementation allows one or two DAIs.
      If two DAIs are defined, they must be of different type.
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    items:
      minItems: 1
      items:
        - description: |
            The first value defines the DAI type: TDA998x_SPDIF or TDA998x_I2S
            (see include/dt-bindings/display/tda998x.h).
        - description:
            The second value defines the tda998x AP_ENA reg content when the
            DAI in question is used.

  '#sound-dai-cells':
    enum: [ 0, 1 ]

  nxp,calib-gpios:
    maxItems: 1
    description:
      Calibration GPIO, which must correspond with the gpio used for the
      TDA998x interrupt pin.

  port:
    $ref: /schemas/graph.yaml#/properties/port
    description: Parallel input port

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        type: object
        description: Parallel input port

      port@1:
        type: object
        description: HDMI output port

required:
  - compatible
  - reg

oneOf:
  - required:
      - port
  - required:
      - ports

additionalProperties: false

examples:
  - |
    #include <dt-bindings/display/tda998x.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        tda998x: hdmi-encoder@70 {
            compatible = "nxp,tda998x";
            reg = <0x70>;
            interrupt-parent = <&gpio0>;
            interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
            video-ports = <0x230145>;

            #sound-dai-cells = <1>;
                         /* DAI-format / AP_ENA reg value */
            audio-ports = <TDA998x_SPDIF 0x04>,
                          <TDA998x_I2S 0x03>;

            port {
                tda998x_in: endpoint {
                    remote-endpoint = <&lcdc_0>;
                };
            };
        };
    };
+0 −54
Original line number Diff line number Diff line
Device-Tree bindings for the NXP TDA998x HDMI transmitter

Required properties;
  - compatible: must be "nxp,tda998x"

  - reg: I2C address

Required node:
  - port: Input port node with endpoint definition, as described
        in Documentation/devicetree/bindings/graph.txt

Optional properties:
  - interrupts: interrupt number and trigger type
	default: polling

  - pinctrl-0: pin control group to be used for
	screen plug/unplug interrupt.

  - pinctrl-names: must contain a "default" entry.

  - video-ports: 24 bits value which defines how the video controller
	output is wired to the TDA998x input - default: <0x230145>

  - audio-ports: array of 8-bit values, 2 values per one DAI[1].
	The first value defines the DAI type: TDA998x_SPDIF or TDA998x_I2S[2].
	The second value defines the tda998x AP_ENA reg content when the DAI
	in question is used. The implementation allows one or two DAIs. If two
	DAIs are defined, they must be of different type.

  - nxp,calib-gpios: calibration GPIO, which must correspond with the
	gpio used for the TDA998x interrupt pin.

[1] Documentation/sound/soc/dai.rst
[2] include/dt-bindings/display/tda998x.h

Example:

#include <dt-bindings/display/tda998x.h>

	tda998x: hdmi-encoder {
		compatible = "nxp,tda998x";
		reg = <0x70>;
		interrupt-parent = <&gpio0>;
		interrupts = <27 2>;		/* falling edge */
		pinctrl-0 = <&pmx_camera>;
		pinctrl-names = "default";
		video-ports = <0x230145>;

		#sound-dai-cells = <2>;
			     /*	DAI-format	AP_ENA reg value */
		audio-ports = <	TDA998x_SPDIF	0x04
				TDA998x_I2S	0x03>;

	};