18c2ecf20Sopenharmony_ciQualcomm adreno/snapdragon MDP4 display controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciDescription: 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciThis is the bindings documentation for the MDP4 display controller found in 68c2ecf20Sopenharmony_ciSoCs like MSM8960, APQ8064 and MSM8660. 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciRequired properties: 98c2ecf20Sopenharmony_ci- compatible: 108c2ecf20Sopenharmony_ci * "qcom,mdp4" - mdp4 118c2ecf20Sopenharmony_ci- reg: Physical base address and length of the controller's registers. 128c2ecf20Sopenharmony_ci- interrupts: The interrupt signal from the display controller. 138c2ecf20Sopenharmony_ci- clocks: device clocks 148c2ecf20Sopenharmony_ci See ../clocks/clock-bindings.txt for details. 158c2ecf20Sopenharmony_ci- clock-names: the following clocks are required. 168c2ecf20Sopenharmony_ci * "core_clk" 178c2ecf20Sopenharmony_ci * "iface_clk" 188c2ecf20Sopenharmony_ci * "bus_clk" 198c2ecf20Sopenharmony_ci * "lut_clk" 208c2ecf20Sopenharmony_ci * "hdmi_clk" 218c2ecf20Sopenharmony_ci * "tv_clk" 228c2ecf20Sopenharmony_ci- ports: contains the list of output ports from MDP. These connect to interfaces 238c2ecf20Sopenharmony_ci that are external to the MDP hardware, such as HDMI, DSI, EDP etc (LVDS is a 248c2ecf20Sopenharmony_ci special case since it is a part of the MDP block itself). 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci Each output port contains an endpoint that describes how it is connected to an 278c2ecf20Sopenharmony_ci external interface. These are described by the standard properties documented 288c2ecf20Sopenharmony_ci here: 298c2ecf20Sopenharmony_ci Documentation/devicetree/bindings/graph.txt 308c2ecf20Sopenharmony_ci Documentation/devicetree/bindings/media/video-interfaces.txt 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci The output port mappings are: 338c2ecf20Sopenharmony_ci Port 0 -> LCDC/LVDS 348c2ecf20Sopenharmony_ci Port 1 -> DSI1 Cmd/Video 358c2ecf20Sopenharmony_ci Port 2 -> DSI2 Cmd/Video 368c2ecf20Sopenharmony_ci Port 3 -> DTV 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciOptional properties: 398c2ecf20Sopenharmony_ci- clock-names: the following clocks are optional: 408c2ecf20Sopenharmony_ci * "lut_clk" 418c2ecf20Sopenharmony_ci- qcom,lcdc-align-lsb: Boolean value indicating that LSB alignment should be 428c2ecf20Sopenharmony_ci used for LCDC. This is only valid for 18bpp panels. 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ciExample: 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci/ { 478c2ecf20Sopenharmony_ci ... 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci hdmi: hdmi@4a00000 { 508c2ecf20Sopenharmony_ci ... 518c2ecf20Sopenharmony_ci ports { 528c2ecf20Sopenharmony_ci ... 538c2ecf20Sopenharmony_ci port@0 { 548c2ecf20Sopenharmony_ci reg = <0>; 558c2ecf20Sopenharmony_ci hdmi_in: endpoint { 568c2ecf20Sopenharmony_ci remote-endpoint = <&mdp_dtv_out>; 578c2ecf20Sopenharmony_ci }; 588c2ecf20Sopenharmony_ci }; 598c2ecf20Sopenharmony_ci ... 608c2ecf20Sopenharmony_ci }; 618c2ecf20Sopenharmony_ci ... 628c2ecf20Sopenharmony_ci }; 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci ... 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci mdp: mdp@5100000 { 678c2ecf20Sopenharmony_ci compatible = "qcom,mdp4"; 688c2ecf20Sopenharmony_ci reg = <0x05100000 0xf0000>; 698c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 75 0>; 708c2ecf20Sopenharmony_ci clock-names = 718c2ecf20Sopenharmony_ci "core_clk", 728c2ecf20Sopenharmony_ci "iface_clk", 738c2ecf20Sopenharmony_ci "lut_clk", 748c2ecf20Sopenharmony_ci "hdmi_clk", 758c2ecf20Sopenharmony_ci "tv_clk"; 768c2ecf20Sopenharmony_ci clocks = 778c2ecf20Sopenharmony_ci <&mmcc MDP_CLK>, 788c2ecf20Sopenharmony_ci <&mmcc MDP_AHB_CLK>, 798c2ecf20Sopenharmony_ci <&mmcc MDP_AXI_CLK>, 808c2ecf20Sopenharmony_ci <&mmcc MDP_LUT_CLK>, 818c2ecf20Sopenharmony_ci <&mmcc HDMI_TV_CLK>, 828c2ecf20Sopenharmony_ci <&mmcc MDP_TV_CLK>; 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci ports { 858c2ecf20Sopenharmony_ci #address-cells = <1>; 868c2ecf20Sopenharmony_ci #size-cells = <0>; 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci port@0 { 898c2ecf20Sopenharmony_ci reg = <0>; 908c2ecf20Sopenharmony_ci mdp_lvds_out: endpoint { 918c2ecf20Sopenharmony_ci }; 928c2ecf20Sopenharmony_ci }; 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci port@1 { 958c2ecf20Sopenharmony_ci reg = <1>; 968c2ecf20Sopenharmony_ci mdp_dsi1_out: endpoint { 978c2ecf20Sopenharmony_ci }; 988c2ecf20Sopenharmony_ci }; 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci port@2 { 1018c2ecf20Sopenharmony_ci reg = <2>; 1028c2ecf20Sopenharmony_ci mdp_dsi2_out: endpoint { 1038c2ecf20Sopenharmony_ci }; 1048c2ecf20Sopenharmony_ci }; 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci port@3 { 1078c2ecf20Sopenharmony_ci reg = <3>; 1088c2ecf20Sopenharmony_ci mdp_dtv_out: endpoint { 1098c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_in>; 1108c2ecf20Sopenharmony_ci }; 1118c2ecf20Sopenharmony_ci }; 1128c2ecf20Sopenharmony_ci }; 1138c2ecf20Sopenharmony_ci }; 1148c2ecf20Sopenharmony_ci}; 115