Commit 74459b0d authored by Frank Li's avatar Frank Li Committed by Rob Herring (Arm)
Browse files

dt-bindings: display: bridge: convert megachips-stdpxxxx-ge-b850v3-fw.txt to yaml



Convert megachips-stdpxxxx-ge-b850v3-fw.txt to yaml format.

Additional changes:
- Only keep one example.

Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
Signed-off-by: default avatarRob Herring (Arm) <robh@kernel.org>
parent 77e46093
Loading
Loading
Loading
Loading
+111 −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/megachips,stdp2690-ge-b850v3-fw.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: GE B850v3 video bridge

maintainers:
  - Frank Li <Frank.Li@nxp.com>

description: |
   STDP4028-ge-b850v3-fw bridges (LVDS-DP)
   STDP2690-ge-b850v3-fw bridges (DP-DP++)

   The video processing pipeline on the second output on the GE B850v3:

   Host -> LVDS|--(STDP4028)--|DP -> DP|--(STDP2690)--|DP++ -> Video output

   Each bridge has a dedicated flash containing firmware for supporting the custom
   design. The result is that, in this design, neither the STDP4028 nor the
   STDP2690 behave as the stock bridges would. The compatible strings include the
   suffix "-ge-b850v3-fw" to make it clear that the driver is for the bridges with
   the firmware specific for the GE B850v3.

   The hardware do not provide control over the video processing pipeline, as the
   two bridges behaves as a single one. The only interfaces exposed by the
   hardware are EDID, HPD, and interrupts.

properties:
  compatible:
    enum:
      - megachips,stdp4028-ge-b850v3-fw
      - megachips,stdp2690-ge-b850v3-fw

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports
    properties:
      port@0:
        description: sink port
        $ref: /schemas/graph.yaml#/properties/port

      port@1:
        description: source port
        $ref: /schemas/graph.yaml#/properties/port

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - ports

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: megachips,stdp4028-ge-b850v3-fw
    then:
      required:
        - interrupts

additionalProperties: false

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

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

        bridge@73 {
            compatible = "megachips,stdp4028-ge-b850v3-fw";
            reg = <0x73>;
            interrupt-parent = <&gpio2>;
            interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;

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

                port@0 {
                    reg = <0>;

                    endpoint {
                        remote-endpoint = <&lvds0_out>;
                    };

                };

                port@1 {
                    reg = <1>;

                    endpoint {
                        remote-endpoint = <&stdp2690_in>;
                    };
               };
            };
        };
    };
+0 −91
Original line number Diff line number Diff line
Drivers for the second video output of the GE B850v3:
   STDP4028-ge-b850v3-fw bridges (LVDS-DP)
   STDP2690-ge-b850v3-fw bridges (DP-DP++)

The video processing pipeline on the second output on the GE B850v3:

   Host -> LVDS|--(STDP4028)--|DP -> DP|--(STDP2690)--|DP++ -> Video output

Each bridge has a dedicated flash containing firmware for supporting the custom
design. The result is that, in this design, neither the STDP4028 nor the
STDP2690 behave as the stock bridges would. The compatible strings include the
suffix "-ge-b850v3-fw" to make it clear that the driver is for the bridges with
the firmware specific for the GE B850v3.

The hardware do not provide control over the video processing pipeline, as the
two bridges behaves as a single one. The only interfaces exposed by the
hardware are EDID, HPD, and interrupts.

stdp4028-ge-b850v3-fw required properties:
  - compatible : "megachips,stdp4028-ge-b850v3-fw"
  - reg : I2C bus address
  - interrupts : one interrupt should be described here, as in
    <0 IRQ_TYPE_LEVEL_HIGH>
  - ports : One input port(reg = <0>) and one output port(reg = <1>)

stdp2690-ge-b850v3-fw required properties:
    compatible : "megachips,stdp2690-ge-b850v3-fw"
  - reg : I2C bus address
  - ports : One input port(reg = <0>) and one output port(reg = <1>)

Example:

&mux2_i2c2 {
	clock-frequency = <100000>;

	stdp4028@73 {
		compatible = "megachips,stdp4028-ge-b850v3-fw";
		#address-cells = <1>;
		#size-cells = <0>;

		reg = <0x73>;

		interrupt-parent = <&gpio2>;
		interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;

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

			port@0 {
				reg = <0>;
				stdp4028_in: endpoint {
					remote-endpoint = <&lvds0_out>;
				};
			};
			port@1 {
				reg = <1>;
				stdp4028_out: endpoint {
					remote-endpoint = <&stdp2690_in>;
				};
			};
		};
	};

	stdp2690@72 {
		compatible = "megachips,stdp2690-ge-b850v3-fw";
		#address-cells = <1>;
		#size-cells = <0>;

		reg = <0x72>;

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

			port@0 {
				reg = <0>;
				stdp2690_in: endpoint {
					remote-endpoint = <&stdp4028_out>;
				};
			};

			port@1 {
				reg = <1>;
				stdp2690_out: endpoint {
					/* Connector for external display */
				};
			};
		};
	};
};