Mediatek DSI Device =================== The Mediatek DSI function block is a sink of the display subsystem and can drive up to 4-lane MIPI DSI output. Two DSIs can be synchronized for dual- channel output. Required properties: - compatible: "mediatek,-dsi" - the supported chips are mt2701, mt7623, mt8167, mt8173 and mt8183. - reg: Physical base address and length of the controller's registers - interrupts: The interrupt signal from the function block. - clocks: device clocks See Documentation/devicetree/bindings/clock/clock-bindings.txt for details. - clock-names: must contain "engine", "digital", and "hs" - phys: phandle link to the MIPI D-PHY controller. - phy-names: must contain "dphy" - port: Output port node with endpoint definitions as described in Documentation/devicetree/bindings/graph.txt. This port should be connected to the input port of an attached DSI panel or DSI-to-eDP encoder chip. Optional properties: - resets: list of phandle + reset specifier pair, as described in [1]. [1] Documentation/devicetree/bindings/reset/reset.txt MIPI TX Configuration Module ============================ See phy/mediatek,dsi-phy.yaml Example: mipi_tx0: mipi-dphy@10215000 { compatible = "mediatek,mt8173-mipi-tx"; reg = <0 0x10215000 0 0x1000>; clocks = <&clk26m>; clock-output-names = "mipi_tx0_pll"; #clock-cells = <0>; #phy-cells = <0>; drive-strength-microamp = <4600>; nvmem-cells= <&mipi_tx_calibration>; nvmem-cell-names = "calibration-data"; }; dsi0: dsi@1401b000 { compatible = "mediatek,mt8173-dsi"; reg = <0 0x1401b000 0 0x1000>; interrupts = ; clocks = <&mmsys MM_DSI0_ENGINE>, <&mmsys MM_DSI0_DIGITAL>, <&mipi_tx0>; clock-names = "engine", "digital", "hs"; resets = <&mmsys MT8173_MMSYS_SW0_RST_B_DISP_DSI0>; phys = <&mipi_tx0>; phy-names = "dphy"; port { dsi0_out: endpoint { remote-endpoint = <&panel_in>; }; }; };