aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Kurtz <djkurtz@chromium.org>2017-05-22 23:24:10 -0400
committerMatthias Brugger <matthias.bgg@gmail.com>2017-06-08 09:19:04 -0400
commit8127881f741dbbf9a1da9e9bc59133820160b217 (patch)
tree6dea4050799717e1cfb16449a4c700fac2ebcf8b
parentc6c301d3ff7531894257acc4f4a73928a109bda1 (diff)
arm64: dts: mt8173: Fix mdp device tree
If the mdp_* nodes are under an mdp sub-node, their corresponding platform device does not automatically get its iommu assigned properly. Fix this by moving the mdp component nodes up a level such that they are siblings of mdp and all other SoC subsystems. This also simplifies the device tree. Although it fixes iommu assignment issue, it also break compatibility with old device tree. So, the patch in driver is needed to iterate over sibling mdp device nodes, not child ones, to keep driver work properly. Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8173.dtsi126
1 files changed, 60 insertions, 66 deletions
diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
index 1c9e0d54b89f..b99a27372965 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
@@ -803,80 +803,74 @@
803 #clock-cells = <1>; 803 #clock-cells = <1>;
804 }; 804 };
805 805
806 mdp { 806 mdp_rdma0: rdma@14001000 {
807 compatible = "mediatek,mt8173-mdp"; 807 compatible = "mediatek,mt8173-mdp-rdma",
808 #address-cells = <2>; 808 "mediatek,mt8173-mdp";
809 #size-cells = <2>; 809 reg = <0 0x14001000 0 0x1000>;
810 ranges; 810 clocks = <&mmsys CLK_MM_MDP_RDMA0>,
811 <&mmsys CLK_MM_MUTEX_32K>;
812 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
813 iommus = <&iommu M4U_PORT_MDP_RDMA0>;
814 mediatek,larb = <&larb0>;
811 mediatek,vpu = <&vpu>; 815 mediatek,vpu = <&vpu>;
816 };
812 817
813 mdp_rdma0: rdma@14001000 { 818 mdp_rdma1: rdma@14002000 {
814 compatible = "mediatek,mt8173-mdp-rdma"; 819 compatible = "mediatek,mt8173-mdp-rdma";
815 reg = <0 0x14001000 0 0x1000>; 820 reg = <0 0x14002000 0 0x1000>;
816 clocks = <&mmsys CLK_MM_MDP_RDMA0>, 821 clocks = <&mmsys CLK_MM_MDP_RDMA1>,
817 <&mmsys CLK_MM_MUTEX_32K>; 822 <&mmsys CLK_MM_MUTEX_32K>;
818 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 823 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
819 iommus = <&iommu M4U_PORT_MDP_RDMA0>; 824 iommus = <&iommu M4U_PORT_MDP_RDMA1>;
820 mediatek,larb = <&larb0>; 825 mediatek,larb = <&larb4>;
821 }; 826 };
822
823 mdp_rdma1: rdma@14002000 {
824 compatible = "mediatek,mt8173-mdp-rdma";
825 reg = <0 0x14002000 0 0x1000>;
826 clocks = <&mmsys CLK_MM_MDP_RDMA1>,
827 <&mmsys CLK_MM_MUTEX_32K>;
828 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
829 iommus = <&iommu M4U_PORT_MDP_RDMA1>;
830 mediatek,larb = <&larb4>;
831 };
832 827
833 mdp_rsz0: rsz@14003000 { 828 mdp_rsz0: rsz@14003000 {
834 compatible = "mediatek,mt8173-mdp-rsz"; 829 compatible = "mediatek,mt8173-mdp-rsz";
835 reg = <0 0x14003000 0 0x1000>; 830 reg = <0 0x14003000 0 0x1000>;
836 clocks = <&mmsys CLK_MM_MDP_RSZ0>; 831 clocks = <&mmsys CLK_MM_MDP_RSZ0>;
837 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 832 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
838 }; 833 };
839 834
840 mdp_rsz1: rsz@14004000 { 835 mdp_rsz1: rsz@14004000 {
841 compatible = "mediatek,mt8173-mdp-rsz"; 836 compatible = "mediatek,mt8173-mdp-rsz";
842 reg = <0 0x14004000 0 0x1000>; 837 reg = <0 0x14004000 0 0x1000>;
843 clocks = <&mmsys CLK_MM_MDP_RSZ1>; 838 clocks = <&mmsys CLK_MM_MDP_RSZ1>;
844 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 839 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
845 }; 840 };
846 841
847 mdp_rsz2: rsz@14005000 { 842 mdp_rsz2: rsz@14005000 {
848 compatible = "mediatek,mt8173-mdp-rsz"; 843 compatible = "mediatek,mt8173-mdp-rsz";
849 reg = <0 0x14005000 0 0x1000>; 844 reg = <0 0x14005000 0 0x1000>;
850 clocks = <&mmsys CLK_MM_MDP_RSZ2>; 845 clocks = <&mmsys CLK_MM_MDP_RSZ2>;
851 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 846 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
852 }; 847 };
853 848
854 mdp_wdma0: wdma@14006000 { 849 mdp_wdma0: wdma@14006000 {
855 compatible = "mediatek,mt8173-mdp-wdma"; 850 compatible = "mediatek,mt8173-mdp-wdma";
856 reg = <0 0x14006000 0 0x1000>; 851 reg = <0 0x14006000 0 0x1000>;
857 clocks = <&mmsys CLK_MM_MDP_WDMA>; 852 clocks = <&mmsys CLK_MM_MDP_WDMA>;
858 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 853 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
859 iommus = <&iommu M4U_PORT_MDP_WDMA>; 854 iommus = <&iommu M4U_PORT_MDP_WDMA>;
860 mediatek,larb = <&larb0>; 855 mediatek,larb = <&larb0>;
861 }; 856 };
862 857
863 mdp_wrot0: wrot@14007000 { 858 mdp_wrot0: wrot@14007000 {
864 compatible = "mediatek,mt8173-mdp-wrot"; 859 compatible = "mediatek,mt8173-mdp-wrot";
865 reg = <0 0x14007000 0 0x1000>; 860 reg = <0 0x14007000 0 0x1000>;
866 clocks = <&mmsys CLK_MM_MDP_WROT0>; 861 clocks = <&mmsys CLK_MM_MDP_WROT0>;
867 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 862 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
868 iommus = <&iommu M4U_PORT_MDP_WROT0>; 863 iommus = <&iommu M4U_PORT_MDP_WROT0>;
869 mediatek,larb = <&larb0>; 864 mediatek,larb = <&larb0>;
870 }; 865 };
871 866
872 mdp_wrot1: wrot@14008000 { 867 mdp_wrot1: wrot@14008000 {
873 compatible = "mediatek,mt8173-mdp-wrot"; 868 compatible = "mediatek,mt8173-mdp-wrot";
874 reg = <0 0x14008000 0 0x1000>; 869 reg = <0 0x14008000 0 0x1000>;
875 clocks = <&mmsys CLK_MM_MDP_WROT1>; 870 clocks = <&mmsys CLK_MM_MDP_WROT1>;
876 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 871 power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
877 iommus = <&iommu M4U_PORT_MDP_WROT1>; 872 iommus = <&iommu M4U_PORT_MDP_WROT1>;
878 mediatek,larb = <&larb4>; 873 mediatek,larb = <&larb4>;
879 };
880 }; 874 };
881 875
882 ovl0: ovl@1400c000 { 876 ovl0: ovl@1400c000 {