omap34xx.dtsi 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Device Tree Source for OMAP34xx/OMAP35xx SoC
  4. *
  5. * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
  6. */
  7. #include <dt-bindings/bus/ti-sysc.h>
  8. #include <dt-bindings/media/omap3-isp.h>
  9. #include "omap3.dtsi"
  10. / {
  11. cpus {
  12. cpu: cpu@0 {
  13. /* OMAP343x/OMAP35xx variants OPP1-6 */
  14. operating-points-v2 = <&cpu0_opp_table>;
  15. clock-latency = <300000>; /* From legacy driver */
  16. #cooling-cells = <2>;
  17. };
  18. };
  19. cpu0_opp_table: opp-table {
  20. compatible = "operating-points-v2-ti-cpu";
  21. syscon = <&scm_conf>;
  22. opp1-125000000 {
  23. opp-hz = /bits/ 64 <125000000>;
  24. /*
  25. * we currently only select the max voltage from table
  26. * Table 3-3 of the omap3530 Data sheet (SPRS507F).
  27. * Format is: <target min max>
  28. */
  29. opp-microvolt = <975000 975000 975000>;
  30. /*
  31. * first value is silicon revision bit mask
  32. * second one 720MHz Device Identification bit mask
  33. */
  34. opp-supported-hw = <0xffffffff 3>;
  35. };
  36. opp2-250000000 {
  37. opp-hz = /bits/ 64 <250000000>;
  38. opp-microvolt = <1075000 1075000 1075000>;
  39. opp-supported-hw = <0xffffffff 3>;
  40. opp-suspend;
  41. };
  42. opp3-500000000 {
  43. opp-hz = /bits/ 64 <500000000>;
  44. opp-microvolt = <1200000 1200000 1200000>;
  45. opp-supported-hw = <0xffffffff 3>;
  46. };
  47. opp4-550000000 {
  48. opp-hz = /bits/ 64 <550000000>;
  49. opp-microvolt = <1275000 1275000 1275000>;
  50. opp-supported-hw = <0xffffffff 3>;
  51. };
  52. opp5-600000000 {
  53. opp-hz = /bits/ 64 <600000000>;
  54. opp-microvolt = <1350000 1350000 1350000>;
  55. opp-supported-hw = <0xffffffff 3>;
  56. };
  57. opp6-720000000 {
  58. opp-hz = /bits/ 64 <720000000>;
  59. opp-microvolt = <1350000 1350000 1350000>;
  60. /* only high-speed grade omap3530 devices */
  61. opp-supported-hw = <0xffffffff 2>;
  62. turbo-mode;
  63. };
  64. };
  65. ocp@68000000 {
  66. omap3_pmx_core2: pinmux@480025d8 {
  67. compatible = "ti,omap3-padconf", "pinctrl-single";
  68. reg = <0x480025d8 0x24>;
  69. #address-cells = <1>;
  70. #size-cells = <0>;
  71. #pinctrl-cells = <1>;
  72. #interrupt-cells = <1>;
  73. interrupt-controller;
  74. pinctrl-single,register-width = <16>;
  75. pinctrl-single,function-mask = <0xff1f>;
  76. };
  77. isp: isp@480bc000 {
  78. compatible = "ti,omap3-isp";
  79. reg = <0x480bc000 0x12fc
  80. 0x480bd800 0x017c>;
  81. interrupts = <24>;
  82. iommus = <&mmu_isp>;
  83. syscon = <&scm_conf 0x6c>;
  84. ti,phy-type = <OMAP3ISP_PHY_TYPE_COMPLEX_IO>;
  85. #clock-cells = <1>;
  86. ports {
  87. #address-cells = <1>;
  88. #size-cells = <0>;
  89. };
  90. };
  91. bandgap: bandgap@48002524 {
  92. reg = <0x48002524 0x4>;
  93. compatible = "ti,omap34xx-bandgap";
  94. #thermal-sensor-cells = <0>;
  95. };
  96. target-module@480cb000 {
  97. compatible = "ti,sysc-omap3430-sr", "ti,sysc";
  98. ti,hwmods = "smartreflex_core";
  99. reg = <0x480cb024 0x4>;
  100. reg-names = "sysc";
  101. ti,sysc-mask = <SYSC_OMAP2_CLOCKACTIVITY>;
  102. clocks = <&sr2_fck>;
  103. clock-names = "fck";
  104. #address-cells = <1>;
  105. #size-cells = <1>;
  106. ranges = <0 0x480cb000 0x001000>;
  107. smartreflex_core: smartreflex@0 {
  108. compatible = "ti,omap3-smartreflex-core";
  109. reg = <0 0x400>;
  110. interrupts = <19>;
  111. };
  112. };
  113. target-module@480c9000 {
  114. compatible = "ti,sysc-omap3430-sr", "ti,sysc";
  115. ti,hwmods = "smartreflex_mpu_iva";
  116. reg = <0x480c9024 0x4>;
  117. reg-names = "sysc";
  118. ti,sysc-mask = <SYSC_OMAP2_CLOCKACTIVITY>;
  119. clocks = <&sr1_fck>;
  120. clock-names = "fck";
  121. #address-cells = <1>;
  122. #size-cells = <1>;
  123. ranges = <0 0x480c9000 0x001000>;
  124. smartreflex_mpu_iva: smartreflex@480c9000 {
  125. compatible = "ti,omap3-smartreflex-mpu-iva";
  126. reg = <0 0x400>;
  127. interrupts = <18>;
  128. };
  129. };
  130. /*
  131. * On omap34xx the OCP registers do not seem to be accessible
  132. * at all unlike on 36xx. Maybe SGX is permanently set to
  133. * "OCP bypass mode", or maybe there is OCP_SYSCONFIG that is
  134. * write-only at 0x50000e10. We detect SGX based on the SGX
  135. * revision register instead of the unreadable OCP revision
  136. * register. Also note that on early 34xx es1 revision there
  137. * are also different clocks, but we do not have any dts users
  138. * for it.
  139. */
  140. sgx_module: target-module@50000000 {
  141. compatible = "ti,sysc-omap2", "ti,sysc";
  142. reg = <0x50000014 0x4>;
  143. reg-names = "rev";
  144. clocks = <&sgx_fck>, <&sgx_ick>;
  145. clock-names = "fck", "ick";
  146. #address-cells = <1>;
  147. #size-cells = <1>;
  148. ranges = <0 0x50000000 0x4000>;
  149. /*
  150. * Closed source PowerVR driver, no child device
  151. * binding or driver in mainline
  152. */
  153. };
  154. };
  155. thermal_zones: thermal-zones {
  156. #include "omap3-cpu-thermal.dtsi"
  157. };
  158. };
  159. &ssi {
  160. status = "okay";
  161. clocks = <&ssi_ssr_fck>,
  162. <&ssi_sst_fck>,
  163. <&ssi_ick>;
  164. clock-names = "ssi_ssr_fck",
  165. "ssi_sst_fck",
  166. "ssi_ick";
  167. };
  168. /include/ "omap34xx-omap36xx-clocks.dtsi"
  169. /include/ "omap36xx-omap3430es2plus-clocks.dtsi"
  170. /include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"