281 lines
6.5 KiB
YAML
281 lines
6.5 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Samsung MIPI DSIM bridge controller
|
||
|
|
||
|
maintainers:
|
||
|
- Inki Dae <inki.dae@samsung.com>
|
||
|
- Jagan Teki <jagan@amarulasolutions.com>
|
||
|
- Marek Szyprowski <m.szyprowski@samsung.com>
|
||
|
|
||
|
description: |
|
||
|
Samsung MIPI DSIM bridge controller can be found it on Exynos
|
||
|
and i.MX8M Mini/Nano/Plus SoC's.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
oneOf:
|
||
|
- enum:
|
||
|
- samsung,exynos3250-mipi-dsi
|
||
|
- samsung,exynos4210-mipi-dsi
|
||
|
- samsung,exynos5410-mipi-dsi
|
||
|
- samsung,exynos5422-mipi-dsi
|
||
|
- samsung,exynos5433-mipi-dsi
|
||
|
- fsl,imx8mm-mipi-dsim
|
||
|
- fsl,imx8mp-mipi-dsim
|
||
|
- items:
|
||
|
- const: fsl,imx8mn-mipi-dsim
|
||
|
- const: fsl,imx8mm-mipi-dsim
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
interrupts:
|
||
|
maxItems: 1
|
||
|
|
||
|
'#address-cells':
|
||
|
const: 1
|
||
|
|
||
|
'#size-cells':
|
||
|
const: 0
|
||
|
|
||
|
clocks:
|
||
|
minItems: 2
|
||
|
maxItems: 5
|
||
|
|
||
|
clock-names:
|
||
|
minItems: 2
|
||
|
maxItems: 5
|
||
|
|
||
|
samsung,phy-type:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: phandle to the samsung phy-type
|
||
|
|
||
|
power-domains:
|
||
|
maxItems: 1
|
||
|
|
||
|
samsung,power-domain:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||
|
description: phandle to the associated samsung power domain
|
||
|
|
||
|
vddcore-supply:
|
||
|
description: MIPI DSIM Core voltage supply (e.g. 1.1V)
|
||
|
|
||
|
vddio-supply:
|
||
|
description: MIPI DSIM I/O and PLL voltage supply (e.g. 1.8V)
|
||
|
|
||
|
samsung,burst-clock-frequency:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description:
|
||
|
DSIM high speed burst mode frequency. If absent,
|
||
|
the pixel clock from the attached device or bridge
|
||
|
will be used instead.
|
||
|
|
||
|
samsung,esc-clock-frequency:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description:
|
||
|
DSIM escape mode frequency.
|
||
|
|
||
|
samsung,pll-clock-frequency:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description:
|
||
|
DSIM oscillator clock frequency. If absent, the clock frequency
|
||
|
of sclk_mipi will be used instead.
|
||
|
|
||
|
phys:
|
||
|
maxItems: 1
|
||
|
|
||
|
phy-names:
|
||
|
const: dsim
|
||
|
|
||
|
ports:
|
||
|
$ref: /schemas/graph.yaml#/properties/ports
|
||
|
|
||
|
properties:
|
||
|
port@0:
|
||
|
$ref: /schemas/graph.yaml#/properties/port
|
||
|
description:
|
||
|
Input port node to receive pixel data from the
|
||
|
display controller. Exactly one endpoint must be
|
||
|
specified.
|
||
|
|
||
|
port@1:
|
||
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||
|
unevaluatedProperties: false
|
||
|
description:
|
||
|
DSI output port node to the panel or the next bridge
|
||
|
in the chain.
|
||
|
|
||
|
properties:
|
||
|
endpoint:
|
||
|
$ref: /schemas/media/video-interfaces.yaml#
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
properties:
|
||
|
data-lanes:
|
||
|
minItems: 1
|
||
|
maxItems: 4
|
||
|
uniqueItems: true
|
||
|
items:
|
||
|
enum: [ 1, 2, 3, 4 ]
|
||
|
|
||
|
lane-polarities:
|
||
|
minItems: 1
|
||
|
maxItems: 5
|
||
|
description:
|
||
|
The Samsung MIPI DSI IP requires that all the data lanes have
|
||
|
the same polarity.
|
||
|
|
||
|
dependencies:
|
||
|
lane-polarities: [data-lanes]
|
||
|
|
||
|
required:
|
||
|
- clock-names
|
||
|
- clocks
|
||
|
- compatible
|
||
|
- interrupts
|
||
|
- reg
|
||
|
- samsung,esc-clock-frequency
|
||
|
|
||
|
allOf:
|
||
|
- $ref: ../dsi-controller.yaml#
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
const: samsung,exynos5433-mipi-dsi
|
||
|
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
minItems: 5
|
||
|
|
||
|
clock-names:
|
||
|
items:
|
||
|
- const: bus_clk
|
||
|
- const: phyclk_mipidphy0_bitclkdiv8
|
||
|
- const: phyclk_mipidphy0_rxclkesc0
|
||
|
- const: sclk_rgb_vclk_to_dsim0
|
||
|
- const: sclk_mipi
|
||
|
|
||
|
ports:
|
||
|
required:
|
||
|
- port@0
|
||
|
|
||
|
required:
|
||
|
- ports
|
||
|
- vddcore-supply
|
||
|
- vddio-supply
|
||
|
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
const: samsung,exynos5410-mipi-dsi
|
||
|
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
minItems: 2
|
||
|
|
||
|
clock-names:
|
||
|
items:
|
||
|
- const: bus_clk
|
||
|
- const: pll_clk
|
||
|
|
||
|
required:
|
||
|
- vddcore-supply
|
||
|
- vddio-supply
|
||
|
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
const: samsung,exynos4210-mipi-dsi
|
||
|
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
minItems: 2
|
||
|
|
||
|
clock-names:
|
||
|
items:
|
||
|
- const: bus_clk
|
||
|
- const: sclk_mipi
|
||
|
|
||
|
required:
|
||
|
- vddcore-supply
|
||
|
- vddio-supply
|
||
|
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
const: samsung,exynos3250-mipi-dsi
|
||
|
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
minItems: 2
|
||
|
|
||
|
clock-names:
|
||
|
items:
|
||
|
- const: bus_clk
|
||
|
- const: pll_clk
|
||
|
|
||
|
required:
|
||
|
- vddcore-supply
|
||
|
- vddio-supply
|
||
|
- samsung,phy-type
|
||
|
|
||
|
additionalProperties:
|
||
|
type: object
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/clock/exynos5433.h>
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||
|
|
||
|
dsi@13900000 {
|
||
|
compatible = "samsung,exynos5433-mipi-dsi";
|
||
|
reg = <0x13900000 0xC0>;
|
||
|
interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
phys = <&mipi_phy 1>;
|
||
|
phy-names = "dsim";
|
||
|
clocks = <&cmu_disp CLK_PCLK_DSIM0>,
|
||
|
<&cmu_disp CLK_PHYCLK_MIPIDPHY0_BITCLKDIV8>,
|
||
|
<&cmu_disp CLK_PHYCLK_MIPIDPHY0_RXCLKESC0>,
|
||
|
<&cmu_disp CLK_SCLK_RGB_VCLK_TO_DSIM0>,
|
||
|
<&cmu_disp CLK_SCLK_DSIM0>;
|
||
|
clock-names = "bus_clk",
|
||
|
"phyclk_mipidphy0_bitclkdiv8",
|
||
|
"phyclk_mipidphy0_rxclkesc0",
|
||
|
"sclk_rgb_vclk_to_dsim0",
|
||
|
"sclk_mipi";
|
||
|
power-domains = <&pd_disp>;
|
||
|
vddcore-supply = <&ldo6_reg>;
|
||
|
vddio-supply = <&ldo7_reg>;
|
||
|
samsung,burst-clock-frequency = <512000000>;
|
||
|
samsung,esc-clock-frequency = <16000000>;
|
||
|
samsung,pll-clock-frequency = <24000000>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&te_irq>;
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
|
||
|
dsi_to_mic: endpoint {
|
||
|
remote-endpoint = <&mic_to_dsi>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|