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

dt-bindings: msm/mdp: Provide details on MDP interface ports

The MDP4/5 DT node now contains a list of ports that describe how it
connects to external encoder interfaces like DSI and HDMI. These follow
the standard of_graph bindings, and allow us to get rid of the 'connectors'
phandle that contained a list of all the external encoders connected to
MDP.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>

authored by

Archit Taneja and committed by
Rob Clark
b137bb4b fd7ef706

+110 -6
+63 -5
Documentation/devicetree/bindings/display/msm/mdp4.txt
··· 10 10 * "qcom,mdp4" - mdp4 11 11 - reg: Physical base address and length of the controller's registers. 12 12 - interrupts: The interrupt signal from the display controller. 13 - - connectors: array of phandles for output device(s) 14 13 - clocks: device clocks 15 14 See ../clocks/clock-bindings.txt for details. 16 15 - clock-names: the following clocks are required. ··· 19 20 * "lut_clk" 20 21 * "hdmi_clk" 21 22 * "tv_clk" 23 + - ports: contains the list of output ports from MDP. These connect to interfaces 24 + that are external to the MDP hardware, such as HDMI, DSI, EDP etc (LVDS is a 25 + special case since it is a part of the MDP block itself). 26 + 27 + Each output port contains an endpoint that describes how it is connected to an 28 + external interface. These are described by the standard properties documented 29 + here: 30 + Documentation/devicetree/bindings/graph.txt 31 + Documentation/devicetree/bindings/media/video-interfaces.txt 32 + 33 + The output port mappings are: 34 + Port 0 -> LCDC/LVDS 35 + Port 1 -> DSI1 Cmd/Video 36 + Port 2 -> DSI2 Cmd/Video 37 + Port 3 -> DTV 22 38 23 39 Optional properties: 24 - - gpus: phandle for gpu device 25 40 - clock-names: the following clocks are optional: 26 41 * "lut_clk" 27 42 ··· 44 31 / { 45 32 ... 46 33 47 - mdp: qcom,mdp@5100000 { 34 + hdmi: hdmi@4a00000 { 35 + ... 36 + ports { 37 + ... 38 + port@0 { 39 + reg = <0>; 40 + hdmi_in: endpoint { 41 + remote-endpoint = <&mdp_dtv_out>; 42 + }; 43 + }; 44 + ... 45 + }; 46 + ... 47 + }; 48 + 49 + ... 50 + 51 + mdp: mdp@5100000 { 48 52 compatible = "qcom,mdp4"; 49 53 reg = <0x05100000 0xf0000>; 50 54 interrupts = <GIC_SPI 75 0>; 51 - connectors = <&hdmi>; 52 - gpus = <&gpu>; 53 55 clock-names = 54 56 "core_clk", 55 57 "iface_clk", ··· 78 50 <&mmcc MDP_LUT_CLK>, 79 51 <&mmcc HDMI_TV_CLK>, 80 52 <&mmcc MDP_TV_CLK>; 53 + 54 + ports { 55 + #address-cells = <1>; 56 + #size-cells = <0>; 57 + 58 + port@0 { 59 + reg = <0>; 60 + mdp_lvds_out: endpoint { 61 + }; 62 + }; 63 + 64 + port@1 { 65 + reg = <1>; 66 + mdp_dsi1_out: endpoint { 67 + }; 68 + }; 69 + 70 + port@2 { 71 + reg = <2>; 72 + mdp_dsi2_out: endpoint { 73 + }; 74 + }; 75 + 76 + port@3 { 77 + reg = <3>; 78 + mdp_dtv_out: endpoint { 79 + remote-endpoint = <&hdmi_in>; 80 + }; 81 + }; 82 + }; 81 83 }; 82 84 };
+47 -1
Documentation/devicetree/bindings/display/msm/mdp5.txt
··· 49 49 - * "iface_clk" 50 50 - * "core_clk" 51 51 - * "vsync_clk" 52 + - ports: contains the list of output ports from MDP. These connect to interfaces 53 + that are external to the MDP hardware, such as HDMI, DSI, EDP etc (LVDS is a 54 + special case since it is a part of the MDP block itself). 55 + 56 + Each output port contains an endpoint that describes how it is connected to an 57 + external interface. These are described by the standard properties documented 58 + here: 59 + Documentation/devicetree/bindings/graph.txt 60 + Documentation/devicetree/bindings/media/video-interfaces.txt 61 + 62 + The availability of output ports can vary across SoC revisions: 63 + 64 + For MSM8974 and APQ8084: 65 + Port 0 -> MDP_INTF0 (eDP) 66 + Port 1 -> MDP_INTF1 (DSI1) 67 + Port 2 -> MDP_INTF2 (DSI2) 68 + Port 3 -> MDP_INTF3 (HDMI) 69 + 70 + For MSM8916: 71 + Port 0 -> MDP_INTF1 (DSI1) 72 + 73 + For MSM8994 and MSM8996: 74 + Port 0 -> MDP_INTF1 (DSI1) 75 + Port 1 -> MDP_INTF2 (DSI2) 76 + Port 2 -> MDP_INTF3 (HDMI) 52 77 53 78 Optional properties: 54 79 - clock-names: the following clocks are optional: 55 80 * "lut_clk" 56 - 57 81 58 82 Example: 59 83 ··· 125 101 "core_clk", 126 102 "vsync_clk"; 127 103 104 + ports { 105 + #address-cells = <1>; 106 + #size-cells = <0>; 107 + 108 + port@0 { 109 + reg = <0>; 110 + mdp5_intf1_out: endpoint { 111 + remote-endpoint = <&dsi0_in>; 112 + }; 113 + }; 114 + }; 128 115 }; 129 116 130 117 dsi0: dsi@1a98000 { 118 + ... 119 + ports { 120 + ... 121 + port@0 { 122 + reg = <0>; 123 + dsi0_in: endpoint { 124 + remote-endpoint = <&mdp5_intf1_out>; 125 + }; 126 + }; 127 + ... 128 + }; 131 129 ... 132 130 }; 133 131