203 lines
5.3 KiB
YAML
203 lines
5.3 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/display/bridge/nwl-dsi.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Northwest Logic MIPI-DSI controller on i.MX SoCs
|
||
|
|
||
|
maintainers:
|
||
|
- Guido Gúnther <agx@sigxcpu.org>
|
||
|
- Robert Chiras <robert.chiras@nxp.com>
|
||
|
|
||
|
description: |
|
||
|
NWL MIPI-DSI host controller found on i.MX8 platforms. This is a dsi bridge for
|
||
|
the SOCs NWL MIPI-DSI host controller.
|
||
|
|
||
|
allOf:
|
||
|
- $ref: ../dsi-controller.yaml#
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: fsl,imx8mq-nwl-dsi
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
interrupts:
|
||
|
maxItems: 1
|
||
|
|
||
|
'#address-cells':
|
||
|
const: 1
|
||
|
|
||
|
'#size-cells':
|
||
|
const: 0
|
||
|
|
||
|
assigned-clock-parents: true
|
||
|
assigned-clock-rates: true
|
||
|
assigned-clocks: true
|
||
|
|
||
|
clocks:
|
||
|
items:
|
||
|
- description: DSI core clock
|
||
|
- description: RX_ESC clock (used in escape mode)
|
||
|
- description: TX_ESC clock (used in escape mode)
|
||
|
- description: PHY_REF clock
|
||
|
- description: LCDIF clock
|
||
|
|
||
|
clock-names:
|
||
|
items:
|
||
|
- const: core
|
||
|
- const: rx_esc
|
||
|
- const: tx_esc
|
||
|
- const: phy_ref
|
||
|
- const: lcdif
|
||
|
|
||
|
mux-controls:
|
||
|
description:
|
||
|
mux controller node to use for operating the input mux
|
||
|
|
||
|
phys:
|
||
|
maxItems: 1
|
||
|
description:
|
||
|
A phandle to the phy module representing the DPHY
|
||
|
|
||
|
phy-names:
|
||
|
items:
|
||
|
- const: dphy
|
||
|
|
||
|
power-domains:
|
||
|
maxItems: 1
|
||
|
|
||
|
resets:
|
||
|
items:
|
||
|
- description: dsi byte reset line
|
||
|
- description: dsi dpi reset line
|
||
|
- description: dsi esc reset line
|
||
|
- description: dsi pclk reset line
|
||
|
|
||
|
reset-names:
|
||
|
items:
|
||
|
- const: byte
|
||
|
- const: dpi
|
||
|
- const: esc
|
||
|
- const: pclk
|
||
|
|
||
|
ports:
|
||
|
$ref: /schemas/graph.yaml#/properties/ports
|
||
|
|
||
|
properties:
|
||
|
port@0:
|
||
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||
|
description:
|
||
|
Input port node to receive pixel data from the
|
||
|
display controller. Exactly one endpoint must be
|
||
|
specified.
|
||
|
properties:
|
||
|
endpoint@0:
|
||
|
$ref: /schemas/graph.yaml#/properties/endpoint
|
||
|
description: sub-node describing the input from LCDIF
|
||
|
|
||
|
endpoint@1:
|
||
|
$ref: /schemas/graph.yaml#/properties/endpoint
|
||
|
description: sub-node describing the input from DCSS
|
||
|
|
||
|
oneOf:
|
||
|
- required:
|
||
|
- endpoint@0
|
||
|
- required:
|
||
|
- endpoint@1
|
||
|
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
port@1:
|
||
|
$ref: /schemas/graph.yaml#/properties/port
|
||
|
description:
|
||
|
DSI output port node to the panel or the next bridge
|
||
|
in the chain
|
||
|
|
||
|
required:
|
||
|
- port@0
|
||
|
- port@1
|
||
|
|
||
|
required:
|
||
|
- '#address-cells'
|
||
|
- '#size-cells'
|
||
|
- clock-names
|
||
|
- clocks
|
||
|
- compatible
|
||
|
- interrupts
|
||
|
- mux-controls
|
||
|
- phy-names
|
||
|
- phys
|
||
|
- ports
|
||
|
- reg
|
||
|
- reset-names
|
||
|
- resets
|
||
|
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/clock/imx8mq-clock.h>
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||
|
#include <dt-bindings/reset/imx8mq-reset.h>
|
||
|
|
||
|
dsi@30a00000 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "fsl,imx8mq-nwl-dsi";
|
||
|
reg = <0x30A00000 0x300>;
|
||
|
clocks = <&clk IMX8MQ_CLK_DSI_CORE>,
|
||
|
<&clk IMX8MQ_CLK_DSI_AHB>,
|
||
|
<&clk IMX8MQ_CLK_DSI_IPG_DIV>,
|
||
|
<&clk IMX8MQ_CLK_DSI_PHY_REF>,
|
||
|
<&clk IMX8MQ_CLK_LCDIF_PIXEL>;
|
||
|
clock-names = "core", "rx_esc", "tx_esc", "phy_ref", "lcdif";
|
||
|
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
mux-controls = <&mux 0>;
|
||
|
power-domains = <&pgc_mipi>;
|
||
|
resets = <&src IMX8MQ_RESET_MIPI_DSI_RESET_BYTE_N>,
|
||
|
<&src IMX8MQ_RESET_MIPI_DSI_DPI_RESET_N>,
|
||
|
<&src IMX8MQ_RESET_MIPI_DSI_ESC_RESET_N>,
|
||
|
<&src IMX8MQ_RESET_MIPI_DSI_PCLK_RESET_N>;
|
||
|
reset-names = "byte", "dpi", "esc", "pclk";
|
||
|
phys = <&dphy>;
|
||
|
phy-names = "dphy";
|
||
|
|
||
|
panel@0 {
|
||
|
compatible = "rocktech,jh057n00900";
|
||
|
reg = <0>;
|
||
|
vcc-supply = <®_2v8_p>;
|
||
|
iovcc-supply = <®_1v8_p>;
|
||
|
reset-gpios = <&gpio3 13 GPIO_ACTIVE_LOW>;
|
||
|
port {
|
||
|
panel_in: endpoint {
|
||
|
remote-endpoint = <&mipi_dsi_out>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
port@0 {
|
||
|
#size-cells = <0>;
|
||
|
#address-cells = <1>;
|
||
|
reg = <0>;
|
||
|
mipi_dsi_in: endpoint@0 {
|
||
|
reg = <0>;
|
||
|
remote-endpoint = <&lcdif_mipi_dsi>;
|
||
|
};
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
mipi_dsi_out: endpoint {
|
||
|
remote-endpoint = <&panel_in>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|