1*4882a593SmuzhiyunQualcomm adreno/snapdragon MDP4 display controller 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunDescription: 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunThis is the bindings documentation for the MDP4 display controller found in 6*4882a593SmuzhiyunSoCs like MSM8960, APQ8064 and MSM8660. 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunRequired properties: 9*4882a593Smuzhiyun- compatible: 10*4882a593Smuzhiyun * "qcom,mdp4" - mdp4 11*4882a593Smuzhiyun- reg: Physical base address and length of the controller's registers. 12*4882a593Smuzhiyun- interrupts: The interrupt signal from the display controller. 13*4882a593Smuzhiyun- clocks: device clocks 14*4882a593Smuzhiyun See ../clocks/clock-bindings.txt for details. 15*4882a593Smuzhiyun- clock-names: the following clocks are required. 16*4882a593Smuzhiyun * "core_clk" 17*4882a593Smuzhiyun * "iface_clk" 18*4882a593Smuzhiyun * "bus_clk" 19*4882a593Smuzhiyun * "lut_clk" 20*4882a593Smuzhiyun * "hdmi_clk" 21*4882a593Smuzhiyun * "tv_clk" 22*4882a593Smuzhiyun- ports: contains the list of output ports from MDP. These connect to interfaces 23*4882a593Smuzhiyun that are external to the MDP hardware, such as HDMI, DSI, EDP etc (LVDS is a 24*4882a593Smuzhiyun special case since it is a part of the MDP block itself). 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun Each output port contains an endpoint that describes how it is connected to an 27*4882a593Smuzhiyun external interface. These are described by the standard properties documented 28*4882a593Smuzhiyun here: 29*4882a593Smuzhiyun Documentation/devicetree/bindings/graph.txt 30*4882a593Smuzhiyun Documentation/devicetree/bindings/media/video-interfaces.txt 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun The output port mappings are: 33*4882a593Smuzhiyun Port 0 -> LCDC/LVDS 34*4882a593Smuzhiyun Port 1 -> DSI1 Cmd/Video 35*4882a593Smuzhiyun Port 2 -> DSI2 Cmd/Video 36*4882a593Smuzhiyun Port 3 -> DTV 37*4882a593Smuzhiyun 38*4882a593SmuzhiyunOptional properties: 39*4882a593Smuzhiyun- clock-names: the following clocks are optional: 40*4882a593Smuzhiyun * "lut_clk" 41*4882a593Smuzhiyun- qcom,lcdc-align-lsb: Boolean value indicating that LSB alignment should be 42*4882a593Smuzhiyun used for LCDC. This is only valid for 18bpp panels. 43*4882a593Smuzhiyun 44*4882a593SmuzhiyunExample: 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun/ { 47*4882a593Smuzhiyun ... 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun hdmi: hdmi@4a00000 { 50*4882a593Smuzhiyun ... 51*4882a593Smuzhiyun ports { 52*4882a593Smuzhiyun ... 53*4882a593Smuzhiyun port@0 { 54*4882a593Smuzhiyun reg = <0>; 55*4882a593Smuzhiyun hdmi_in: endpoint { 56*4882a593Smuzhiyun remote-endpoint = <&mdp_dtv_out>; 57*4882a593Smuzhiyun }; 58*4882a593Smuzhiyun }; 59*4882a593Smuzhiyun ... 60*4882a593Smuzhiyun }; 61*4882a593Smuzhiyun ... 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun ... 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun mdp: mdp@5100000 { 67*4882a593Smuzhiyun compatible = "qcom,mdp4"; 68*4882a593Smuzhiyun reg = <0x05100000 0xf0000>; 69*4882a593Smuzhiyun interrupts = <GIC_SPI 75 0>; 70*4882a593Smuzhiyun clock-names = 71*4882a593Smuzhiyun "core_clk", 72*4882a593Smuzhiyun "iface_clk", 73*4882a593Smuzhiyun "lut_clk", 74*4882a593Smuzhiyun "hdmi_clk", 75*4882a593Smuzhiyun "tv_clk"; 76*4882a593Smuzhiyun clocks = 77*4882a593Smuzhiyun <&mmcc MDP_CLK>, 78*4882a593Smuzhiyun <&mmcc MDP_AHB_CLK>, 79*4882a593Smuzhiyun <&mmcc MDP_AXI_CLK>, 80*4882a593Smuzhiyun <&mmcc MDP_LUT_CLK>, 81*4882a593Smuzhiyun <&mmcc HDMI_TV_CLK>, 82*4882a593Smuzhiyun <&mmcc MDP_TV_CLK>; 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun ports { 85*4882a593Smuzhiyun #address-cells = <1>; 86*4882a593Smuzhiyun #size-cells = <0>; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun port@0 { 89*4882a593Smuzhiyun reg = <0>; 90*4882a593Smuzhiyun mdp_lvds_out: endpoint { 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun port@1 { 95*4882a593Smuzhiyun reg = <1>; 96*4882a593Smuzhiyun mdp_dsi1_out: endpoint { 97*4882a593Smuzhiyun }; 98*4882a593Smuzhiyun }; 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun port@2 { 101*4882a593Smuzhiyun reg = <2>; 102*4882a593Smuzhiyun mdp_dsi2_out: endpoint { 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun }; 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun port@3 { 107*4882a593Smuzhiyun reg = <3>; 108*4882a593Smuzhiyun mdp_dtv_out: endpoint { 109*4882a593Smuzhiyun remote-endpoint = <&hdmi_in>; 110*4882a593Smuzhiyun }; 111*4882a593Smuzhiyun }; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun }; 114*4882a593Smuzhiyun}; 115