1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/display/dsi-controller.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: Common Properties for DSI Display Panels 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Linus Walleij <linus.walleij@linaro.org> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyundescription: | 13*4882a593Smuzhiyun This document defines device tree properties common to DSI, Display 14*4882a593Smuzhiyun Serial Interface controllers and attached panels. It doesn't constitute 15*4882a593Smuzhiyun a device tree binding specification by itself but is meant to be referenced 16*4882a593Smuzhiyun by device tree bindings. 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun When referenced from panel device tree bindings the properties defined in 19*4882a593Smuzhiyun this document are defined as follows. The panel device tree bindings are 20*4882a593Smuzhiyun responsible for defining whether each property is required or optional. 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun Notice: this binding concerns DSI panels connected directly to a master 23*4882a593Smuzhiyun without any intermediate port graph to the panel. Each DSI master 24*4882a593Smuzhiyun can control one to four virtual channels to one panel. Each virtual 25*4882a593Smuzhiyun channel should have a node "panel" for their virtual channel with their 26*4882a593Smuzhiyun reg-property set to the virtual channel number, usually there is just 27*4882a593Smuzhiyun one virtual channel, number 0. 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunproperties: 30*4882a593Smuzhiyun $nodename: 31*4882a593Smuzhiyun pattern: "^dsi(@.*)?$" 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun "#address-cells": 34*4882a593Smuzhiyun const: 1 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun "#size-cells": 37*4882a593Smuzhiyun const: 0 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunpatternProperties: 40*4882a593Smuzhiyun "^panel@[0-3]$": 41*4882a593Smuzhiyun description: Panels connected to the DSI link 42*4882a593Smuzhiyun type: object 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun properties: 45*4882a593Smuzhiyun reg: 46*4882a593Smuzhiyun minimum: 0 47*4882a593Smuzhiyun maximum: 3 48*4882a593Smuzhiyun description: 49*4882a593Smuzhiyun The virtual channel number of a DSI peripheral. Must be in the range 50*4882a593Smuzhiyun from 0 to 3, as DSI uses a 2-bit addressing scheme. Some DSI 51*4882a593Smuzhiyun peripherals respond to more than a single virtual channel. In that 52*4882a593Smuzhiyun case the reg property can take multiple entries, one for each virtual 53*4882a593Smuzhiyun channel that the peripheral responds to. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun clock-master: 56*4882a593Smuzhiyun type: boolean 57*4882a593Smuzhiyun description: 58*4882a593Smuzhiyun Should be enabled if the host is being used in conjunction with 59*4882a593Smuzhiyun another DSI host to drive the same peripheral. Hardware supporting 60*4882a593Smuzhiyun such a configuration generally requires the data on both the busses 61*4882a593Smuzhiyun to be driven by the same clock. Only the DSI host instance 62*4882a593Smuzhiyun controlling this clock should contain this property. 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun enforce-video-mode: 65*4882a593Smuzhiyun type: boolean 66*4882a593Smuzhiyun description: 67*4882a593Smuzhiyun The best option is usually to run a panel in command mode, as this 68*4882a593Smuzhiyun gives better control over the panel hardware. However for different 69*4882a593Smuzhiyun reasons like broken hardware, missing features or testing, it may be 70*4882a593Smuzhiyun useful to be able to force a command mode-capable panel into video 71*4882a593Smuzhiyun mode. 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun required: 74*4882a593Smuzhiyun - reg 75*4882a593Smuzhiyun 76*4882a593SmuzhiyunadditionalProperties: true 77*4882a593Smuzhiyun 78*4882a593Smuzhiyunexamples: 79*4882a593Smuzhiyun - | 80*4882a593Smuzhiyun #include <dt-bindings/gpio/gpio.h> 81*4882a593Smuzhiyun dsi@a0351000 { 82*4882a593Smuzhiyun reg = <0xa0351000 0x1000>; 83*4882a593Smuzhiyun #address-cells = <1>; 84*4882a593Smuzhiyun #size-cells = <0>; 85*4882a593Smuzhiyun panel@0 { 86*4882a593Smuzhiyun compatible = "sony,acx424akp"; 87*4882a593Smuzhiyun reg = <0>; 88*4882a593Smuzhiyun vddi-supply = <&ab8500_ldo_aux1_reg>; 89*4882a593Smuzhiyun reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; 90*4882a593Smuzhiyun }; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun... 94