0025-ARM-DTSI-rk3288-Add-the-appropriate-clock-references.patch 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. From b79b87ffc54b143172880c6ce5dd66d30c772d76 Mon Sep 17 00:00:00 2001
  2. From: Myy Miouyouyou <myy@miouyouyou.fr>
  3. Date: Wed, 2 May 2018 21:54:37 +0200
  4. Subject: [PATCH] ARM: DTSI: rk3288: Add the appropriate clock references
  5. So, the commit f2e3a5f557ad27f6a6f447717090a39cea238d6a (Torvalds
  6. branch) is forcing the DTS files to provide appropriate clock
  7. references named "aclk" and "iface" for each MMU node.
  8. The references are then manipulated by the Rockchip IOMMU driver.
  9. If the references are not present, the IOMMU driver bails out with
  10. an error.
  11. However, no changes has been pushed to add these clock references
  12. to the RK3288 DTSI file, making the Rockchip IOMMU driver fail all
  13. the Video hardware related MMU probes.
  14. That result in no display, which a major inconvenience.
  15. The following patch, taken from the linux-rockchip Git repository
  16. maintained by @mmind, written by Jeffy Chen, actually adds these
  17. clock references to the rk3288.dtsi.
  18. Orignal patch link :
  19. https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git/commit/arch/arm/boot/dts/rk3288.dtsi?h=for-next&id=c78751f91c0b5461ba08b123f85c1ed146a32f97
  20. Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
  21. ---
  22. arch/arm/boot/dts/rk3288.dtsi | 12 ++++++++++++
  23. 1 file changed, 12 insertions(+)
  24. diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
  25. index a258a3f7..e9ac64e2 100644
  26. --- a/arch/arm/boot/dts/rk3288.dtsi
  27. +++ b/arch/arm/boot/dts/rk3288.dtsi
  28. @@ -972,6 +972,8 @@
  29. reg = <0x0 0xff900800 0x0 0x40>;
  30. interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
  31. interrupt-names = "iep_mmu";
  32. + clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>;
  33. + clock-names = "aclk", "iface";
  34. #iommu-cells = <0>;
  35. status = "disabled";
  36. };
  37. @@ -981,6 +983,8 @@
  38. reg = <0x0 0xff914000 0x0 0x100>, <0x0 0xff915000 0x0 0x100>;
  39. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  40. interrupt-names = "isp_mmu";
  41. + clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>;
  42. + clock-names = "aclk", "iface";
  43. #iommu-cells = <0>;
  44. rockchip,disable-mmu-reset;
  45. status = "disabled";
  46. @@ -1040,6 +1044,8 @@
  47. reg = <0x0 0xff930300 0x0 0x100>;
  48. interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  49. interrupt-names = "vopb_mmu";
  50. + clocks = <&cru ACLK_VOP0>, <&cru HCLK_VOP0>;
  51. + clock-names = "aclk", "iface";
  52. power-domains = <&power RK3288_PD_VIO>;
  53. #iommu-cells = <0>;
  54. status = "disabled";
  55. @@ -1088,6 +1094,8 @@
  56. reg = <0x0 0xff940300 0x0 0x100>;
  57. interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
  58. interrupt-names = "vopl_mmu";
  59. + clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>;
  60. + clock-names = "aclk", "iface";
  61. power-domains = <&power RK3288_PD_VIO>;
  62. #iommu-cells = <0>;
  63. status = "disabled";
  64. @@ -1220,6 +1228,8 @@
  65. reg = <0x0 0xff9a0800 0x0 0x100>;
  66. interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
  67. interrupt-names = "vpu_mmu";
  68. + clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
  69. + clock-names = "aclk", "iface";
  70. #iommu-cells = <0>;
  71. status = "disabled";
  72. };
  73. @@ -1250,6 +1260,8 @@
  74. reg = <0x0 0xff9c0440 0x0 0x40>, <0x0 0xff9c0480 0x0 0x40>;
  75. interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
  76. interrupt-names = "hevc_mmu";
  77. + clocks = <&cru ACLK_HEVC>, <&cru HCLK_HEVC>;
  78. + clock-names = "aclk", "iface";
  79. #iommu-cells = <0>;
  80. status = "disabled";
  81. };
  82. --
  83. 2.17.0