Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: display: bridge: Convert cdns,dsi.txt to yaml

Convert cdns,dsi.txt binding to yaml format

Signed-off-by: Rahul T R <r-ravikumar@ti.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230103101951.10963-2-r-ravikumar@ti.com

authored by

Rahul T R and committed by
Tomi Valkeinen
59b2deae 5f994ce5

+157 -112
-112
Documentation/devicetree/bindings/display/bridge/cdns,dsi.txt
··· 1 - Cadence DSI bridge 2 - ================== 3 - 4 - The Cadence DSI bridge is a DPI to DSI bridge supporting up to 4 DSI lanes. 5 - 6 - Required properties: 7 - - compatible: should be set to "cdns,dsi". 8 - - reg: physical base address and length of the controller's registers. 9 - - interrupts: interrupt line connected to the DSI bridge. 10 - - clocks: DSI bridge clocks. 11 - - clock-names: must contain "dsi_p_clk" and "dsi_sys_clk". 12 - - phys: phandle link to the MIPI D-PHY controller. 13 - - phy-names: must contain "dphy". 14 - - #address-cells: must be set to 1. 15 - - #size-cells: must be set to 0. 16 - 17 - Optional properties: 18 - - resets: DSI reset lines. 19 - - reset-names: can contain "dsi_p_rst". 20 - 21 - Required subnodes: 22 - - ports: Ports as described in Documentation/devicetree/bindings/graph.txt. 23 - 2 ports are available: 24 - * port 0: this port is only needed if some of your DSI devices are 25 - controlled through an external bus like I2C or SPI. Can have at 26 - most 4 endpoints. The endpoint number is directly encoding the 27 - DSI virtual channel used by this device. 28 - * port 1: represents the DPI input. 29 - Other ports will be added later to support the new kind of inputs. 30 - 31 - - one subnode per DSI device connected on the DSI bus. Each DSI device should 32 - contain a reg property encoding its virtual channel. 33 - 34 - Example: 35 - dsi0: dsi@fd0c0000 { 36 - compatible = "cdns,dsi"; 37 - reg = <0x0 0xfd0c0000 0x0 0x1000>; 38 - clocks = <&pclk>, <&sysclk>; 39 - clock-names = "dsi_p_clk", "dsi_sys_clk"; 40 - interrupts = <1>; 41 - phys = <&dphy0>; 42 - phy-names = "dphy"; 43 - #address-cells = <1>; 44 - #size-cells = <0>; 45 - 46 - ports { 47 - #address-cells = <1>; 48 - #size-cells = <0>; 49 - 50 - port@1 { 51 - reg = <1>; 52 - dsi0_dpi_input: endpoint { 53 - remote-endpoint = <&xxx_dpi_output>; 54 - }; 55 - }; 56 - }; 57 - 58 - panel: dsi-dev@0 { 59 - compatible = "<vendor,panel>"; 60 - reg = <0>; 61 - }; 62 - }; 63 - 64 - or 65 - 66 - dsi0: dsi@fd0c0000 { 67 - compatible = "cdns,dsi"; 68 - reg = <0x0 0xfd0c0000 0x0 0x1000>; 69 - clocks = <&pclk>, <&sysclk>; 70 - clock-names = "dsi_p_clk", "dsi_sys_clk"; 71 - interrupts = <1>; 72 - phys = <&dphy1>; 73 - phy-names = "dphy"; 74 - #address-cells = <1>; 75 - #size-cells = <0>; 76 - 77 - ports { 78 - #address-cells = <1>; 79 - #size-cells = <0>; 80 - 81 - port@0 { 82 - reg = <0>; 83 - #address-cells = <1>; 84 - #size-cells = <0>; 85 - 86 - dsi0_output: endpoint@0 { 87 - reg = <0>; 88 - remote-endpoint = <&dsi_panel_input>; 89 - }; 90 - }; 91 - 92 - port@1 { 93 - reg = <1>; 94 - dsi0_dpi_input: endpoint { 95 - remote-endpoint = <&xxx_dpi_output>; 96 - }; 97 - }; 98 - }; 99 - }; 100 - 101 - i2c@xxx { 102 - panel: panel@59 { 103 - compatible = "<vendor,panel>"; 104 - reg = <0x59>; 105 - 106 - port { 107 - dsi_panel_input: endpoint { 108 - remote-endpoint = <&dsi0_output>; 109 - }; 110 - }; 111 - }; 112 - };
+157
Documentation/devicetree/bindings/display/bridge/cdns,dsi.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/display/bridge/cdns,dsi.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Cadence DSI bridge 8 + 9 + maintainers: 10 + - Boris Brezillon <boris.brezillon@bootlin.com> 11 + 12 + description: | 13 + CDNS DSI is a bridge device which converts DPI to DSI 14 + 15 + properties: 16 + compatible: 17 + enum: 18 + - cdns,dsi 19 + 20 + reg: 21 + maxItems: 1 22 + 23 + clocks: 24 + items: 25 + - description: PSM clock, used by the IP 26 + - description: sys clock, used by the IP 27 + 28 + clock-names: 29 + items: 30 + - const: dsi_p_clk 31 + - const: dsi_sys_clk 32 + 33 + phys: 34 + maxItems: 1 35 + 36 + phy-names: 37 + const: dphy 38 + 39 + interrupts: 40 + maxItems: 1 41 + 42 + resets: 43 + maxItems: 1 44 + 45 + reset-names: 46 + const: dsi_p_rst 47 + 48 + ports: 49 + $ref: /schemas/graph.yaml#/properties/ports 50 + 51 + properties: 52 + port@0: 53 + $ref: /schemas/graph.yaml#/properties/port 54 + description: 55 + Output port representing the DSI output. It can have 56 + at most 4 endpoints. The endpoint number is directly encoding 57 + the DSI virtual channel used by this device. 58 + 59 + port@1: 60 + $ref: /schemas/graph.yaml#/properties/port 61 + description: 62 + Input port representing the DPI input. 63 + 64 + required: 65 + - port@1 66 + 67 + allOf: 68 + - $ref: ../dsi-controller.yaml# 69 + 70 + required: 71 + - compatible 72 + - reg 73 + - interrupts 74 + - clocks 75 + - clock-names 76 + - phys 77 + - phy-names 78 + - ports 79 + 80 + unevaluatedProperties: false 81 + 82 + examples: 83 + - | 84 + bus { 85 + #address-cells = <2>; 86 + #size-cells = <2>; 87 + 88 + dsi@fd0c0000 { 89 + compatible = "cdns,dsi"; 90 + reg = <0x0 0xfd0c0000 0x0 0x1000>; 91 + clocks = <&pclk>, <&sysclk>; 92 + clock-names = "dsi_p_clk", "dsi_sys_clk"; 93 + interrupts = <1>; 94 + phys = <&dphy0>; 95 + phy-names = "dphy"; 96 + 97 + #address-cells = <1>; 98 + #size-cells = <0>; 99 + 100 + ports { 101 + #address-cells = <1>; 102 + #size-cells = <0>; 103 + 104 + port@1 { 105 + reg = <1>; 106 + endpoint { 107 + remote-endpoint = <&xxx_dpi_output>; 108 + }; 109 + }; 110 + }; 111 + 112 + panel@0 { 113 + compatible = "panasonic,vvx10f034n00"; 114 + reg = <0>; 115 + power-supply = <&vcc_lcd_reg>; 116 + }; 117 + }; 118 + }; 119 + 120 + - | 121 + bus { 122 + #address-cells = <2>; 123 + #size-cells = <2>; 124 + 125 + dsi@fd0c0000 { 126 + compatible = "cdns,dsi"; 127 + reg = <0x0 0xfd0c0000 0x0 0x1000>; 128 + clocks = <&pclk>, <&sysclk>; 129 + clock-names = "dsi_p_clk", "dsi_sys_clk"; 130 + interrupts = <1>; 131 + phys = <&dphy1>; 132 + phy-names = "dphy"; 133 + 134 + ports { 135 + #address-cells = <1>; 136 + #size-cells = <0>; 137 + 138 + port@0 { 139 + reg = <0>; 140 + #address-cells = <1>; 141 + #size-cells = <0>; 142 + 143 + endpoint@0 { 144 + reg = <0>; 145 + remote-endpoint = <&dsi_panel_input>; 146 + }; 147 + }; 148 + 149 + port@1 { 150 + reg = <1>; 151 + endpoint { 152 + remote-endpoint = <&xxx_dpi_output>; 153 + }; 154 + }; 155 + }; 156 + }; 157 + };