171 lines
3.3 KiB
YAML
171 lines
3.3 KiB
YAML
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/display/rockchip/rockchip,lvds.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Rockchip low-voltage differential signal (LVDS) transmitter
|
||
|
|
||
|
maintainers:
|
||
|
- Sandy Huang <hjc@rock-chips.com>
|
||
|
- Heiko Stuebner <heiko@sntech.de>
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
enum:
|
||
|
- rockchip,px30-lvds
|
||
|
- rockchip,rk3288-lvds
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
clocks:
|
||
|
maxItems: 1
|
||
|
|
||
|
clock-names:
|
||
|
const: pclk_lvds
|
||
|
|
||
|
avdd1v0-supply:
|
||
|
description: 1.0V analog power.
|
||
|
|
||
|
avdd1v8-supply:
|
||
|
description: 1.8V analog power.
|
||
|
|
||
|
avdd3v3-supply:
|
||
|
description: 3.3V analog power.
|
||
|
|
||
|
rockchip,grf:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||
|
description: Phandle to the general register files syscon.
|
||
|
|
||
|
rockchip,output:
|
||
|
$ref: /schemas/types.yaml#/definitions/string
|
||
|
enum: [rgb, lvds, duallvds]
|
||
|
description: This describes the output interface.
|
||
|
|
||
|
phys:
|
||
|
maxItems: 1
|
||
|
|
||
|
phy-names:
|
||
|
const: dphy
|
||
|
|
||
|
pinctrl-names:
|
||
|
const: lcdc
|
||
|
|
||
|
pinctrl-0: true
|
||
|
|
||
|
power-domains:
|
||
|
maxItems: 1
|
||
|
|
||
|
ports:
|
||
|
$ref: /schemas/graph.yaml#/properties/ports
|
||
|
|
||
|
properties:
|
||
|
port@0:
|
||
|
$ref: /schemas/graph.yaml#/properties/port
|
||
|
description:
|
||
|
Video port 0 for the VOP input.
|
||
|
The remote endpoint maybe vopb or vopl.
|
||
|
|
||
|
port@1:
|
||
|
$ref: /schemas/graph.yaml#/properties/port
|
||
|
description:
|
||
|
Video port 1 for either a panel or subsequent encoder.
|
||
|
|
||
|
required:
|
||
|
- port@0
|
||
|
- port@1
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- rockchip,grf
|
||
|
- rockchip,output
|
||
|
- ports
|
||
|
|
||
|
allOf:
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
const: rockchip,px30-lvds
|
||
|
|
||
|
then:
|
||
|
properties:
|
||
|
reg: false
|
||
|
clocks: false
|
||
|
clock-names: false
|
||
|
avdd1v0-supply: false
|
||
|
avdd1v8-supply: false
|
||
|
avdd3v3-supply: false
|
||
|
|
||
|
required:
|
||
|
- phys
|
||
|
- phy-names
|
||
|
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
const: rockchip,rk3288-lvds
|
||
|
|
||
|
then:
|
||
|
properties:
|
||
|
phys: false
|
||
|
phy-names: false
|
||
|
|
||
|
required:
|
||
|
- reg
|
||
|
- clocks
|
||
|
- clock-names
|
||
|
- avdd1v0-supply
|
||
|
- avdd1v8-supply
|
||
|
- avdd3v3-supply
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/clock/rk3288-cru.h>
|
||
|
|
||
|
lvds: lvds@ff96c000 {
|
||
|
compatible = "rockchip,rk3288-lvds";
|
||
|
reg = <0xff96c000 0x4000>;
|
||
|
clocks = <&cru PCLK_LVDS_PHY>;
|
||
|
clock-names = "pclk_lvds";
|
||
|
avdd1v0-supply = <&vdd10_lcd>;
|
||
|
avdd1v8-supply = <&vcc18_lcd>;
|
||
|
avdd3v3-supply = <&vcca_33>;
|
||
|
pinctrl-names = "lcdc";
|
||
|
pinctrl-0 = <&lcdc_ctl>;
|
||
|
rockchip,grf = <&grf>;
|
||
|
rockchip,output = "rgb";
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
lvds_in: port@0 {
|
||
|
reg = <0>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
lvds_in_vopb: endpoint@0 {
|
||
|
reg = <0>;
|
||
|
remote-endpoint = <&vopb_out_lvds>;
|
||
|
};
|
||
|
lvds_in_vopl: endpoint@1 {
|
||
|
reg = <1>;
|
||
|
remote-endpoint = <&vopl_out_lvds>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
lvds_out: port@1 {
|
||
|
reg = <1>;
|
||
|
|
||
|
lvds_out_panel: endpoint {
|
||
|
remote-endpoint = <&panel_in_lvds>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|