2023-08-30 17:31:07 +02:00
|
|
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
|
|
%YAML 1.2
|
|
|
|
---
|
|
|
|
$id: http://devicetree.org/schemas/display/dsi-controller.yaml#
|
|
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
|
|
|
|
title: Common Properties for DSI Display Panels
|
|
|
|
|
|
|
|
maintainers:
|
|
|
|
- Linus Walleij <linus.walleij@linaro.org>
|
|
|
|
|
|
|
|
description: |
|
|
|
|
This document defines device tree properties common to DSI, Display
|
|
|
|
Serial Interface controllers and attached panels. It doesn't constitute
|
|
|
|
a device tree binding specification by itself but is meant to be referenced
|
|
|
|
by device tree bindings.
|
|
|
|
|
|
|
|
When referenced from panel device tree bindings the properties defined in
|
|
|
|
this document are defined as follows. The panel device tree bindings are
|
|
|
|
responsible for defining whether each property is required or optional.
|
|
|
|
|
|
|
|
Notice: this binding concerns DSI panels connected directly to a master
|
|
|
|
without any intermediate port graph to the panel. Each DSI master
|
|
|
|
can control one to four virtual channels to one panel. Each virtual
|
|
|
|
channel should have a node "panel" for their virtual channel with their
|
|
|
|
reg-property set to the virtual channel number, usually there is just
|
|
|
|
one virtual channel, number 0.
|
|
|
|
|
|
|
|
properties:
|
|
|
|
$nodename:
|
|
|
|
pattern: "^dsi(@.*)?$"
|
|
|
|
|
2023-10-24 12:59:35 +02:00
|
|
|
clock-master:
|
|
|
|
type: boolean
|
|
|
|
description:
|
|
|
|
Should be enabled if the host is being used in conjunction with
|
|
|
|
another DSI host to drive the same peripheral. Hardware supporting
|
|
|
|
such a configuration generally requires the data on both the busses
|
|
|
|
to be driven by the same clock. Only the DSI host instance
|
|
|
|
controlling this clock should contain this property.
|
|
|
|
|
2023-08-30 17:31:07 +02:00
|
|
|
"#address-cells":
|
|
|
|
const: 1
|
|
|
|
|
|
|
|
"#size-cells":
|
|
|
|
const: 0
|
|
|
|
|
|
|
|
patternProperties:
|
|
|
|
"^panel@[0-3]$":
|
|
|
|
description: Panels connected to the DSI link
|
|
|
|
type: object
|
|
|
|
|
|
|
|
properties:
|
|
|
|
reg:
|
|
|
|
minimum: 0
|
|
|
|
maximum: 3
|
|
|
|
description:
|
|
|
|
The virtual channel number of a DSI peripheral. Must be in the range
|
|
|
|
from 0 to 3, as DSI uses a 2-bit addressing scheme. Some DSI
|
|
|
|
peripherals respond to more than a single virtual channel. In that
|
|
|
|
case the reg property can take multiple entries, one for each virtual
|
|
|
|
channel that the peripheral responds to.
|
|
|
|
|
|
|
|
enforce-video-mode:
|
|
|
|
type: boolean
|
|
|
|
description:
|
|
|
|
The best option is usually to run a panel in command mode, as this
|
|
|
|
gives better control over the panel hardware. However for different
|
|
|
|
reasons like broken hardware, missing features or testing, it may be
|
|
|
|
useful to be able to force a command mode-capable panel into video
|
|
|
|
mode.
|
|
|
|
|
|
|
|
required:
|
|
|
|
- reg
|
|
|
|
|
|
|
|
additionalProperties: true
|
|
|
|
|
|
|
|
examples:
|
|
|
|
- |
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
dsi@a0351000 {
|
|
|
|
reg = <0xa0351000 0x1000>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
panel@0 {
|
|
|
|
compatible = "sony,acx424akp";
|
|
|
|
reg = <0>;
|
|
|
|
vddi-supply = <&ab8500_ldo_aux1_reg>;
|
|
|
|
reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
...
|