11f0d40d8SJagan Teki# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 21f0d40d8SJagan Teki%YAML 1.2 31f0d40d8SJagan Teki--- 41f0d40d8SJagan Teki$id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml# 51f0d40d8SJagan Teki$schema: http://devicetree.org/meta-schemas/core.yaml# 61f0d40d8SJagan Teki 71f0d40d8SJagan Tekititle: Samsung MIPI DSIM bridge controller 81f0d40d8SJagan Teki 91f0d40d8SJagan Tekimaintainers: 101f0d40d8SJagan Teki - Inki Dae <inki.dae@samsung.com> 111f0d40d8SJagan Teki - Jagan Teki <jagan@amarulasolutions.com> 121f0d40d8SJagan Teki - Marek Szyprowski <m.szyprowski@samsung.com> 131f0d40d8SJagan Teki 141f0d40d8SJagan Tekidescription: | 151f0d40d8SJagan Teki Samsung MIPI DSIM bridge controller can be found it on Exynos 161f0d40d8SJagan Teki and i.MX8M Mini/Nano/Plus SoC's. 171f0d40d8SJagan Teki 181f0d40d8SJagan Tekiproperties: 191f0d40d8SJagan Teki compatible: 201f0d40d8SJagan Teki oneOf: 211f0d40d8SJagan Teki - enum: 221f0d40d8SJagan Teki - samsung,exynos3250-mipi-dsi 231f0d40d8SJagan Teki - samsung,exynos4210-mipi-dsi 241f0d40d8SJagan Teki - samsung,exynos5410-mipi-dsi 251f0d40d8SJagan Teki - samsung,exynos5422-mipi-dsi 261f0d40d8SJagan Teki - samsung,exynos5433-mipi-dsi 271f0d40d8SJagan Teki - fsl,imx8mm-mipi-dsim 281f0d40d8SJagan Teki - fsl,imx8mp-mipi-dsim 291f0d40d8SJagan Teki - items: 301f0d40d8SJagan Teki - const: fsl,imx8mn-mipi-dsim 311f0d40d8SJagan Teki - const: fsl,imx8mm-mipi-dsim 321f0d40d8SJagan Teki 331f0d40d8SJagan Teki reg: 341f0d40d8SJagan Teki maxItems: 1 351f0d40d8SJagan Teki 361f0d40d8SJagan Teki interrupts: 371f0d40d8SJagan Teki maxItems: 1 381f0d40d8SJagan Teki 391f0d40d8SJagan Teki '#address-cells': 401f0d40d8SJagan Teki const: 1 411f0d40d8SJagan Teki 421f0d40d8SJagan Teki '#size-cells': 431f0d40d8SJagan Teki const: 0 441f0d40d8SJagan Teki 451f0d40d8SJagan Teki clocks: 461f0d40d8SJagan Teki minItems: 2 471f0d40d8SJagan Teki maxItems: 5 481f0d40d8SJagan Teki 491f0d40d8SJagan Teki clock-names: 501f0d40d8SJagan Teki minItems: 2 511f0d40d8SJagan Teki maxItems: 5 521f0d40d8SJagan Teki 531f0d40d8SJagan Teki samsung,phy-type: 541f0d40d8SJagan Teki $ref: /schemas/types.yaml#/definitions/uint32 551f0d40d8SJagan Teki description: phandle to the samsung phy-type 561f0d40d8SJagan Teki 571f0d40d8SJagan Teki power-domains: 581f0d40d8SJagan Teki maxItems: 1 591f0d40d8SJagan Teki 601f0d40d8SJagan Teki samsung,power-domain: 611f0d40d8SJagan Teki $ref: /schemas/types.yaml#/definitions/phandle 621f0d40d8SJagan Teki description: phandle to the associated samsung power domain 631f0d40d8SJagan Teki 641f0d40d8SJagan Teki vddcore-supply: 651f0d40d8SJagan Teki description: MIPI DSIM Core voltage supply (e.g. 1.1V) 661f0d40d8SJagan Teki 671f0d40d8SJagan Teki vddio-supply: 681f0d40d8SJagan Teki description: MIPI DSIM I/O and PLL voltage supply (e.g. 1.8V) 691f0d40d8SJagan Teki 701f0d40d8SJagan Teki samsung,burst-clock-frequency: 711f0d40d8SJagan Teki $ref: /schemas/types.yaml#/definitions/uint32 721f0d40d8SJagan Teki description: 735769b45aSAdam Ford DSIM high speed burst mode frequency. If absent, 745769b45aSAdam Ford the pixel clock from the attached device or bridge 755769b45aSAdam Ford will be used instead. 761f0d40d8SJagan Teki 771f0d40d8SJagan Teki samsung,esc-clock-frequency: 781f0d40d8SJagan Teki $ref: /schemas/types.yaml#/definitions/uint32 791f0d40d8SJagan Teki description: 801f0d40d8SJagan Teki DSIM escape mode frequency. 811f0d40d8SJagan Teki 821f0d40d8SJagan Teki samsung,pll-clock-frequency: 831f0d40d8SJagan Teki $ref: /schemas/types.yaml#/definitions/uint32 841f0d40d8SJagan Teki description: 855769b45aSAdam Ford DSIM oscillator clock frequency. If absent, the clock frequency 865769b45aSAdam Ford of sclk_mipi will be used instead. 871f0d40d8SJagan Teki 881f0d40d8SJagan Teki phys: 891f0d40d8SJagan Teki maxItems: 1 901f0d40d8SJagan Teki 911f0d40d8SJagan Teki phy-names: 921f0d40d8SJagan Teki const: dsim 931f0d40d8SJagan Teki 941f0d40d8SJagan Teki ports: 951f0d40d8SJagan Teki $ref: /schemas/graph.yaml#/properties/ports 961f0d40d8SJagan Teki 971f0d40d8SJagan Teki properties: 981f0d40d8SJagan Teki port@0: 991f0d40d8SJagan Teki $ref: /schemas/graph.yaml#/properties/port 1001f0d40d8SJagan Teki description: 1011f0d40d8SJagan Teki Input port node to receive pixel data from the 1021f0d40d8SJagan Teki display controller. Exactly one endpoint must be 1031f0d40d8SJagan Teki specified. 1041f0d40d8SJagan Teki 1051f0d40d8SJagan Teki port@1: 106*54df4868SFabio Estevam $ref: /schemas/graph.yaml#/$defs/port-base 107*54df4868SFabio Estevam unevaluatedProperties: false 1081f0d40d8SJagan Teki description: 1091f0d40d8SJagan Teki DSI output port node to the panel or the next bridge 1101f0d40d8SJagan Teki in the chain. 1111f0d40d8SJagan Teki 112ec7743c9SFabio Estevam properties: 113ec7743c9SFabio Estevam endpoint: 114ec7743c9SFabio Estevam $ref: /schemas/media/video-interfaces.yaml# 115ec7743c9SFabio Estevam unevaluatedProperties: false 116ec7743c9SFabio Estevam 117ec7743c9SFabio Estevam properties: 118ec7743c9SFabio Estevam data-lanes: 119ec7743c9SFabio Estevam minItems: 1 120ec7743c9SFabio Estevam maxItems: 4 121ec7743c9SFabio Estevam uniqueItems: true 122ec7743c9SFabio Estevam items: 123ec7743c9SFabio Estevam enum: [ 1, 2, 3, 4 ] 124ec7743c9SFabio Estevam 125ec7743c9SFabio Estevam lane-polarities: 126ec7743c9SFabio Estevam minItems: 1 127ec7743c9SFabio Estevam maxItems: 5 128ec7743c9SFabio Estevam description: 129ec7743c9SFabio Estevam The Samsung MIPI DSI IP requires that all the data lanes have 130ec7743c9SFabio Estevam the same polarity. 131ec7743c9SFabio Estevam 132ec7743c9SFabio Estevam dependencies: 133ec7743c9SFabio Estevam lane-polarities: [data-lanes] 134ec7743c9SFabio Estevam 1351f0d40d8SJagan Tekirequired: 1361f0d40d8SJagan Teki - clock-names 1371f0d40d8SJagan Teki - clocks 1381f0d40d8SJagan Teki - compatible 1391f0d40d8SJagan Teki - interrupts 1401f0d40d8SJagan Teki - reg 1411f0d40d8SJagan Teki - samsung,esc-clock-frequency 1421f0d40d8SJagan Teki 1431f0d40d8SJagan TekiallOf: 1441f0d40d8SJagan Teki - $ref: ../dsi-controller.yaml# 1451f0d40d8SJagan Teki - if: 1461f0d40d8SJagan Teki properties: 1471f0d40d8SJagan Teki compatible: 1481f0d40d8SJagan Teki contains: 1491f0d40d8SJagan Teki const: samsung,exynos5433-mipi-dsi 1501f0d40d8SJagan Teki 1511f0d40d8SJagan Teki then: 1521f0d40d8SJagan Teki properties: 1531f0d40d8SJagan Teki clocks: 1541f0d40d8SJagan Teki minItems: 5 1551f0d40d8SJagan Teki 1561f0d40d8SJagan Teki clock-names: 1571f0d40d8SJagan Teki items: 1581f0d40d8SJagan Teki - const: bus_clk 1591f0d40d8SJagan Teki - const: phyclk_mipidphy0_bitclkdiv8 1601f0d40d8SJagan Teki - const: phyclk_mipidphy0_rxclkesc0 1611f0d40d8SJagan Teki - const: sclk_rgb_vclk_to_dsim0 1621f0d40d8SJagan Teki - const: sclk_mipi 1631f0d40d8SJagan Teki 1641f0d40d8SJagan Teki ports: 1651f0d40d8SJagan Teki required: 1661f0d40d8SJagan Teki - port@0 1671f0d40d8SJagan Teki 1681f0d40d8SJagan Teki required: 1691f0d40d8SJagan Teki - ports 1701f0d40d8SJagan Teki - vddcore-supply 1711f0d40d8SJagan Teki - vddio-supply 1721f0d40d8SJagan Teki 1731f0d40d8SJagan Teki - if: 1741f0d40d8SJagan Teki properties: 1751f0d40d8SJagan Teki compatible: 1761f0d40d8SJagan Teki contains: 1771f0d40d8SJagan Teki const: samsung,exynos5410-mipi-dsi 1781f0d40d8SJagan Teki 1791f0d40d8SJagan Teki then: 1801f0d40d8SJagan Teki properties: 1811f0d40d8SJagan Teki clocks: 1821f0d40d8SJagan Teki minItems: 2 1831f0d40d8SJagan Teki 1841f0d40d8SJagan Teki clock-names: 1851f0d40d8SJagan Teki items: 1861f0d40d8SJagan Teki - const: bus_clk 1871f0d40d8SJagan Teki - const: pll_clk 1881f0d40d8SJagan Teki 1891f0d40d8SJagan Teki required: 1901f0d40d8SJagan Teki - vddcore-supply 1911f0d40d8SJagan Teki - vddio-supply 1921f0d40d8SJagan Teki 1931f0d40d8SJagan Teki - if: 1941f0d40d8SJagan Teki properties: 1951f0d40d8SJagan Teki compatible: 1961f0d40d8SJagan Teki contains: 1971f0d40d8SJagan Teki const: samsung,exynos4210-mipi-dsi 1981f0d40d8SJagan Teki 1991f0d40d8SJagan Teki then: 2001f0d40d8SJagan Teki properties: 2011f0d40d8SJagan Teki clocks: 2021f0d40d8SJagan Teki minItems: 2 2031f0d40d8SJagan Teki 2041f0d40d8SJagan Teki clock-names: 2051f0d40d8SJagan Teki items: 2061f0d40d8SJagan Teki - const: bus_clk 2071f0d40d8SJagan Teki - const: sclk_mipi 2081f0d40d8SJagan Teki 2091f0d40d8SJagan Teki required: 2101f0d40d8SJagan Teki - vddcore-supply 2111f0d40d8SJagan Teki - vddio-supply 2121f0d40d8SJagan Teki 2131f0d40d8SJagan Teki - if: 2141f0d40d8SJagan Teki properties: 2151f0d40d8SJagan Teki compatible: 2161f0d40d8SJagan Teki contains: 2171f0d40d8SJagan Teki const: samsung,exynos3250-mipi-dsi 2181f0d40d8SJagan Teki 2191f0d40d8SJagan Teki then: 2201f0d40d8SJagan Teki properties: 2211f0d40d8SJagan Teki clocks: 2221f0d40d8SJagan Teki minItems: 2 2231f0d40d8SJagan Teki 2241f0d40d8SJagan Teki clock-names: 2251f0d40d8SJagan Teki items: 2261f0d40d8SJagan Teki - const: bus_clk 2271f0d40d8SJagan Teki - const: pll_clk 2281f0d40d8SJagan Teki 2291f0d40d8SJagan Teki required: 2301f0d40d8SJagan Teki - vddcore-supply 2311f0d40d8SJagan Teki - vddio-supply 2321f0d40d8SJagan Teki - samsung,phy-type 2331f0d40d8SJagan Teki 2341f0d40d8SJagan TekiadditionalProperties: 2351f0d40d8SJagan Teki type: object 2361f0d40d8SJagan Teki 2371f0d40d8SJagan Tekiexamples: 2381f0d40d8SJagan Teki - | 2391f0d40d8SJagan Teki #include <dt-bindings/clock/exynos5433.h> 2401f0d40d8SJagan Teki #include <dt-bindings/gpio/gpio.h> 2411f0d40d8SJagan Teki #include <dt-bindings/interrupt-controller/arm-gic.h> 2421f0d40d8SJagan Teki 2431f0d40d8SJagan Teki dsi@13900000 { 2441f0d40d8SJagan Teki compatible = "samsung,exynos5433-mipi-dsi"; 2451f0d40d8SJagan Teki reg = <0x13900000 0xC0>; 2461f0d40d8SJagan Teki interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>; 2471f0d40d8SJagan Teki phys = <&mipi_phy 1>; 2481f0d40d8SJagan Teki phy-names = "dsim"; 2491f0d40d8SJagan Teki clocks = <&cmu_disp CLK_PCLK_DSIM0>, 2501f0d40d8SJagan Teki <&cmu_disp CLK_PHYCLK_MIPIDPHY0_BITCLKDIV8>, 2511f0d40d8SJagan Teki <&cmu_disp CLK_PHYCLK_MIPIDPHY0_RXCLKESC0>, 2521f0d40d8SJagan Teki <&cmu_disp CLK_SCLK_RGB_VCLK_TO_DSIM0>, 2531f0d40d8SJagan Teki <&cmu_disp CLK_SCLK_DSIM0>; 2541f0d40d8SJagan Teki clock-names = "bus_clk", 2551f0d40d8SJagan Teki "phyclk_mipidphy0_bitclkdiv8", 2561f0d40d8SJagan Teki "phyclk_mipidphy0_rxclkesc0", 2571f0d40d8SJagan Teki "sclk_rgb_vclk_to_dsim0", 2581f0d40d8SJagan Teki "sclk_mipi"; 2591f0d40d8SJagan Teki power-domains = <&pd_disp>; 2601f0d40d8SJagan Teki vddcore-supply = <&ldo6_reg>; 2611f0d40d8SJagan Teki vddio-supply = <&ldo7_reg>; 2621f0d40d8SJagan Teki samsung,burst-clock-frequency = <512000000>; 2631f0d40d8SJagan Teki samsung,esc-clock-frequency = <16000000>; 2641f0d40d8SJagan Teki samsung,pll-clock-frequency = <24000000>; 2651f0d40d8SJagan Teki pinctrl-names = "default"; 2661f0d40d8SJagan Teki pinctrl-0 = <&te_irq>; 2671f0d40d8SJagan Teki 2681f0d40d8SJagan Teki ports { 2691f0d40d8SJagan Teki #address-cells = <1>; 2701f0d40d8SJagan Teki #size-cells = <0>; 2711f0d40d8SJagan Teki 2721f0d40d8SJagan Teki port@0 { 2731f0d40d8SJagan Teki reg = <0>; 2741f0d40d8SJagan Teki 2751f0d40d8SJagan Teki dsi_to_mic: endpoint { 2761f0d40d8SJagan Teki remote-endpoint = <&mic_to_dsi>; 2771f0d40d8SJagan Teki }; 2781f0d40d8SJagan Teki }; 2791f0d40d8SJagan Teki }; 2801f0d40d8SJagan Teki }; 281