aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArchit Taneja <architt@codeaurora.org>2016-06-23 10:13:29 -0400
committerAndy Gross <andy.gross@linaro.org>2016-08-26 16:31:51 -0400
commit305410ffd1b2ce2a1910f203649fc5f5872d24ed (patch)
tree48fa7136187a77aa3727bc5aa2ec7e582483aa9e
parent69713756f4ae908efddd2a304a29ef52a513b2dd (diff)
arm64: dts: msm8916: Add display support
The MSM8916 SoC contains a MDP5 based display block, and one DSI output. Add the top level MDSS DT node, and the MDP5, DSI and DSI PHY children sub-blocks. Establish the link between MDP5's INTF1 output port and DSI's input port. Cc: Andy Gross <andy.gross@linaro.org> Cc: Rob Herring <robh@kernel.org> Cc: devicetree@vger.kernel.org Signed-off-by: Archit Taneja <architt@codeaurora.org> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
-rw-r--r--arch/arm64/boot/dts/qcom/msm8916.dtsi117
1 files changed, 117 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 74daf89d977d..466ca5705c99 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -684,6 +684,123 @@
684 nvmem-cell-names = "calib", "calib_sel"; 684 nvmem-cell-names = "calib", "calib_sel";
685 #thermal-sensor-cells = <1>; 685 #thermal-sensor-cells = <1>;
686 }; 686 };
687
688 mdss: mdss@1a00000 {
689 compatible = "qcom,mdss";
690 reg = <0x1a00000 0x1000>,
691 <0x1ac8000 0x3000>;
692 reg-names = "mdss_phys", "vbif_phys";
693
694 power-domains = <&gcc MDSS_GDSC>;
695
696 clocks = <&gcc GCC_MDSS_AHB_CLK>,
697 <&gcc GCC_MDSS_AXI_CLK>,
698 <&gcc GCC_MDSS_VSYNC_CLK>;
699 clock-names = "iface_clk",
700 "bus_clk",
701 "vsync_clk";
702
703 interrupts = <0 72 0>;
704
705 interrupt-controller;
706 #interrupt-cells = <1>;
707
708 #address-cells = <1>;
709 #size-cells = <1>;
710 ranges;
711
712 mdp: mdp@1a01000 {
713 compatible = "qcom,mdp5";
714 reg = <0x1a01000 0x90000>;
715 reg-names = "mdp_phys";
716
717 interrupt-parent = <&mdss>;
718 interrupts = <0 0>;
719
720 clocks = <&gcc GCC_MDSS_AHB_CLK>,
721 <&gcc GCC_MDSS_AXI_CLK>,
722 <&gcc GCC_MDSS_MDP_CLK>,
723 <&gcc GCC_MDSS_VSYNC_CLK>;
724 clock-names = "iface_clk",
725 "bus_clk",
726 "core_clk",
727 "vsync_clk";
728
729 ports {
730 #address-cells = <1>;
731 #size-cells = <0>;
732
733 port@0 {
734 reg = <0>;
735 mdp5_intf1_out: endpoint {
736 remote-endpoint = <&dsi0_in>;
737 };
738 };
739 };
740 };
741
742 dsi0: dsi@1a98000 {
743 compatible = "qcom,mdss-dsi-ctrl";
744 reg = <0x1a98000 0x25c>;
745 reg-names = "dsi_ctrl";
746
747 interrupt-parent = <&mdss>;
748 interrupts = <4 0>;
749
750 assigned-clocks = <&gcc BYTE0_CLK_SRC>,
751 <&gcc PCLK0_CLK_SRC>;
752 assigned-clock-parents = <&dsi_phy0 0>,
753 <&dsi_phy0 1>;
754
755 clocks = <&gcc GCC_MDSS_MDP_CLK>,
756 <&gcc GCC_MDSS_AHB_CLK>,
757 <&gcc GCC_MDSS_AXI_CLK>,
758 <&gcc GCC_MDSS_BYTE0_CLK>,
759 <&gcc GCC_MDSS_PCLK0_CLK>,
760 <&gcc GCC_MDSS_ESC0_CLK>;
761 clock-names = "mdp_core_clk",
762 "iface_clk",
763 "bus_clk",
764 "byte_clk",
765 "pixel_clk",
766 "core_clk";
767 phys = <&dsi_phy0>;
768 phy-names = "dsi-phy";
769
770 ports {
771 #address-cells = <1>;
772 #size-cells = <0>;
773
774 port@0 {
775 reg = <0>;
776 dsi0_in: endpoint {
777 remote-endpoint = <&mdp5_intf1_out>;
778 };
779 };
780
781 port@1 {
782 reg = <1>;
783 dsi0_out: endpoint {
784 };
785 };
786 };
787 };
788
789 dsi_phy0: dsi-phy@1a98300 {
790 compatible = "qcom,dsi-phy-28nm-lp";
791 reg = <0x1a98300 0xd4>,
792 <0x1a98500 0x280>,
793 <0x1a98780 0x30>;
794 reg-names = "dsi_pll",
795 "dsi_phy",
796 "dsi_phy_regulator";
797
798 #clock-cells = <1>;
799
800 clocks = <&gcc GCC_MDSS_AHB_CLK>;
801 clock-names = "iface_clk";
802 };
803 };
687 }; 804 };
688 805
689 smd { 806 smd {