nvidia,tegra30-car.txt 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. NVIDIA Tegra30 Clock And Reset Controller
  2. This binding uses the common clock binding:
  3. Documentation/devicetree/bindings/clock/clock-bindings.txt
  4. The CAR (Clock And Reset) Controller on Tegra is the HW module responsible
  5. for muxing and gating Tegra's clocks, and setting their rates.
  6. Required properties :
  7. - compatible : Should be "nvidia,tegra30-car"
  8. - reg : Should contain CAR registers location and length
  9. - clocks : Should contain phandle and clock specifiers for two clocks:
  10. the 32 KHz "32k_in", and the board-specific oscillator "osc".
  11. - #clock-cells : Should be 1.
  12. In clock consumers, this cell represents the clock ID exposed by the CAR.
  13. The first 130 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB
  14. registers. These IDs often match those in the CAR's RST_DEVICES registers,
  15. but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In
  16. this case, those clocks are assigned IDs above 160 in order to highlight
  17. this issue. Implementations that interpret these clock IDs as bit values
  18. within the CLK_OUT_ENB or RST_DEVICES registers should be careful to
  19. explicitly handle these special cases.
  20. The balance of the clocks controlled by the CAR are assigned IDs of 160 and
  21. above.
  22. 0 cpu
  23. 1 unassigned
  24. 2 unassigned
  25. 3 unassigned
  26. 4 rtc
  27. 5 timer
  28. 6 uarta
  29. 7 unassigned (register bit affects uartb and vfir)
  30. 8 gpio
  31. 9 sdmmc2
  32. 10 unassigned (register bit affects spdif_in and spdif_out)
  33. 11 i2s1
  34. 12 i2c1
  35. 13 ndflash
  36. 14 sdmmc1
  37. 15 sdmmc4
  38. 16 unassigned
  39. 17 pwm
  40. 18 i2s2
  41. 19 epp
  42. 20 unassigned (register bit affects vi and vi_sensor)
  43. 21 2d
  44. 22 usbd
  45. 23 isp
  46. 24 3d
  47. 25 unassigned
  48. 26 disp2
  49. 27 disp1
  50. 28 host1x
  51. 29 vcp
  52. 30 i2s0
  53. 31 cop_cache
  54. 32 mc
  55. 33 ahbdma
  56. 34 apbdma
  57. 35 unassigned
  58. 36 kbc
  59. 37 statmon
  60. 38 pmc
  61. 39 unassigned (register bit affects fuse and fuse_burn)
  62. 40 kfuse
  63. 41 sbc1
  64. 42 nor
  65. 43 unassigned
  66. 44 sbc2
  67. 45 unassigned
  68. 46 sbc3
  69. 47 i2c5
  70. 48 dsia
  71. 49 unassigned (register bit affects cve and tvo)
  72. 50 mipi
  73. 51 hdmi
  74. 52 csi
  75. 53 tvdac
  76. 54 i2c2
  77. 55 uartc
  78. 56 unassigned
  79. 57 emc
  80. 58 usb2
  81. 59 usb3
  82. 60 mpe
  83. 61 vde
  84. 62 bsea
  85. 63 bsev
  86. 64 speedo
  87. 65 uartd
  88. 66 uarte
  89. 67 i2c3
  90. 68 sbc4
  91. 69 sdmmc3
  92. 70 pcie
  93. 71 owr
  94. 72 afi
  95. 73 csite
  96. 74 pciex
  97. 75 avpucq
  98. 76 la
  99. 77 unassigned
  100. 78 unassigned
  101. 79 dtv
  102. 80 ndspeed
  103. 81 i2cslow
  104. 82 dsib
  105. 83 unassigned
  106. 84 irama
  107. 85 iramb
  108. 86 iramc
  109. 87 iramd
  110. 88 cram2
  111. 89 unassigned
  112. 90 audio_2x a/k/a audio_2x_sync_clk
  113. 91 unassigned
  114. 92 csus
  115. 93 cdev2
  116. 94 cdev1
  117. 95 unassigned
  118. 96 cpu_g
  119. 97 cpu_lp
  120. 98 3d2
  121. 99 mselect
  122. 100 tsensor
  123. 101 i2s3
  124. 102 i2s4
  125. 103 i2c4
  126. 104 sbc5
  127. 105 sbc6
  128. 106 d_audio
  129. 107 apbif
  130. 108 dam0
  131. 109 dam1
  132. 110 dam2
  133. 111 hda2codec_2x
  134. 112 atomics
  135. 113 audio0_2x
  136. 114 audio1_2x
  137. 115 audio2_2x
  138. 116 audio3_2x
  139. 117 audio4_2x
  140. 118 audio5_2x
  141. 119 actmon
  142. 120 extern1
  143. 121 extern2
  144. 122 extern3
  145. 123 sata_oob
  146. 124 sata
  147. 125 hda
  148. 127 se
  149. 128 hda2hdmi
  150. 129 sata_cold
  151. 160 uartb
  152. 161 vfir
  153. 162 spdif_in
  154. 163 spdif_out
  155. 164 vi
  156. 165 vi_sensor
  157. 166 fuse
  158. 167 fuse_burn
  159. 168 cve
  160. 169 tvo
  161. 170 clk_32k
  162. 171 clk_m
  163. 172 clk_m_div2
  164. 173 clk_m_div4
  165. 174 pll_ref
  166. 175 pll_c
  167. 176 pll_c_out1
  168. 177 pll_m
  169. 178 pll_m_out1
  170. 179 pll_p
  171. 180 pll_p_out1
  172. 181 pll_p_out2
  173. 182 pll_p_out3
  174. 183 pll_p_out4
  175. 184 pll_a
  176. 185 pll_a_out0
  177. 186 pll_d
  178. 187 pll_d_out0
  179. 188 pll_d2
  180. 189 pll_d2_out0
  181. 190 pll_u
  182. 191 pll_x
  183. 192 pll_x_out0
  184. 193 pll_e
  185. 194 spdif_in_sync
  186. 195 i2s0_sync
  187. 196 i2s1_sync
  188. 197 i2s2_sync
  189. 198 i2s3_sync
  190. 199 i2s4_sync
  191. 200 vimclk
  192. 201 audio0
  193. 202 audio1
  194. 203 audio2
  195. 204 audio3
  196. 205 audio4
  197. 206 audio5
  198. 207 clk_out_1 (extern1)
  199. 208 clk_out_2 (extern2)
  200. 209 clk_out_3 (extern3)
  201. 210 sclk
  202. 211 blink
  203. 212 cclk_g
  204. 213 cclk_lp
  205. 214 twd
  206. 215 cml0
  207. 216 cml1
  208. 217 hclk
  209. 218 pclk
  210. Example SoC include file:
  211. / {
  212. tegra_car: clock {
  213. compatible = "nvidia,tegra30-car";
  214. reg = <0x60006000 0x1000>;
  215. #clock-cells = <1>;
  216. };
  217. usb@c5004000 {
  218. clocks = <&tegra_car 58>; /* usb2 */
  219. };
  220. };
  221. Example board file:
  222. / {
  223. clocks {
  224. compatible = "simple-bus";
  225. #address-cells = <1>;
  226. #size-cells = <0>;
  227. osc: clock@0 {
  228. compatible = "fixed-clock";
  229. reg = <0>;
  230. #clock-cells = <0>;
  231. clock-frequency = <12000000>;
  232. };
  233. clk_32k: clock@1 {
  234. compatible = "fixed-clock";
  235. reg = <1>;
  236. #clock-cells = <0>;
  237. clock-frequency = <32768>;
  238. };
  239. };
  240. &tegra_car {
  241. clocks = <&clk_32k> <&osc>;
  242. };
  243. };