nvidia,tegra114-car.txt 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. NVIDIA Tegra114 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,tegra114-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 160 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 unassigned
  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 unassigned
  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 unassigned
  54. 32 unassigned
  55. 33 unassigned
  56. 34 apbdma
  57. 35 unassigned
  58. 36 kbc
  59. 37 unassigned
  60. 38 unassigned
  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
  72. 50 mipi
  73. 51 hdmi
  74. 52 csi
  75. 53 unassigned
  76. 54 i2c2
  77. 55 uartc
  78. 56 mipi-cal
  79. 57 emc
  80. 58 usb2
  81. 59 usb3
  82. 60 msenc
  83. 61 vde
  84. 62 bsea
  85. 63 bsev
  86. 64 unassigned
  87. 65 uartd
  88. 66 unassigned
  89. 67 i2c3
  90. 68 sbc4
  91. 69 sdmmc3
  92. 70 unassigned
  93. 71 owr
  94. 72 afi
  95. 73 csite
  96. 74 unassigned
  97. 75 unassigned
  98. 76 la
  99. 77 trace
  100. 78 soc_therm
  101. 79 dtv
  102. 80 ndspeed
  103. 81 i2cslow
  104. 82 dsib
  105. 83 tsec
  106. 84 unassigned
  107. 85 unassigned
  108. 86 unassigned
  109. 87 unassigned
  110. 88 unassigned
  111. 89 xusb_host
  112. 90 unassigned
  113. 91 msenc
  114. 92 csus
  115. 93 unassigned
  116. 94 unassigned
  117. 95 unassigned (bit affects xusb_dev and xusb_dev_src)
  118. 96 unassigned
  119. 97 unassigned
  120. 98 unassigned
  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 unassigned
  135. 113 audio0_2x
  136. 114 audio1_2x
  137. 115 audio2_2x
  138. 116 audio3_2x
  139. 117 audio4_2x
  140. 118 spdif_2x
  141. 119 actmon
  142. 120 extern1
  143. 121 extern2
  144. 122 extern3
  145. 123 unassigned
  146. 124 unassigned
  147. 125 hda
  148. 126 unassigned
  149. 127 se
  150. 128 hda2hdmi
  151. 129 unassigned
  152. 130 unassigned
  153. 131 unassigned
  154. 132 unassigned
  155. 133 unassigned
  156. 134 unassigned
  157. 135 unassigned
  158. 136 unassigned
  159. 137 unassigned
  160. 138 unassigned
  161. 139 unassigned
  162. 140 unassigned
  163. 141 unassigned
  164. 142 unassigned
  165. 143 unassigned (bit affects xusb_falcon_src, xusb_fs_src,
  166. xusb_host_src and xusb_ss_src)
  167. 144 cilab
  168. 145 cilcd
  169. 146 cile
  170. 147 dsialp
  171. 148 dsiblp
  172. 149 unassigned
  173. 150 dds
  174. 151 unassigned
  175. 152 dp2
  176. 153 amx
  177. 154 adx
  178. 155 unassigned (bit affects dfll_ref and dfll_soc)
  179. 156 xusb_ss
  180. 192 uartb
  181. 193 vfir
  182. 194 spdif_in
  183. 195 spdif_out
  184. 196 vi
  185. 197 vi_sensor
  186. 198 fuse
  187. 199 fuse_burn
  188. 200 clk_32k
  189. 201 clk_m
  190. 202 clk_m_div2
  191. 203 clk_m_div4
  192. 204 pll_ref
  193. 205 pll_c
  194. 206 pll_c_out1
  195. 207 pll_c2
  196. 208 pll_c3
  197. 209 pll_m
  198. 210 pll_m_out1
  199. 211 pll_p
  200. 212 pll_p_out1
  201. 213 pll_p_out2
  202. 214 pll_p_out3
  203. 215 pll_p_out4
  204. 216 pll_a
  205. 217 pll_a_out0
  206. 218 pll_d
  207. 219 pll_d_out0
  208. 220 pll_d2
  209. 221 pll_d2_out0
  210. 222 pll_u
  211. 223 pll_u_480M
  212. 224 pll_u_60M
  213. 225 pll_u_48M
  214. 226 pll_u_12M
  215. 227 pll_x
  216. 228 pll_x_out0
  217. 229 pll_re_vco
  218. 230 pll_re_out
  219. 231 pll_e_out0
  220. 232 spdif_in_sync
  221. 233 i2s0_sync
  222. 234 i2s1_sync
  223. 235 i2s2_sync
  224. 236 i2s3_sync
  225. 237 i2s4_sync
  226. 238 vimclk_sync
  227. 239 audio0
  228. 240 audio1
  229. 241 audio2
  230. 242 audio3
  231. 243 audio4
  232. 244 spdif
  233. 245 clk_out_1
  234. 246 clk_out_2
  235. 247 clk_out_3
  236. 248 blink
  237. 252 xusb_host_src
  238. 253 xusb_falcon_src
  239. 254 xusb_fs_src
  240. 255 xusb_ss_src
  241. 256 xusb_dev_src
  242. 257 xusb_dev
  243. 258 xusb_hs_src
  244. 259 sclk
  245. 260 hclk
  246. 261 pclk
  247. 262 cclk_g
  248. 263 cclk_lp
  249. 264 dfll_ref
  250. 265 dfll_soc
  251. Example SoC include file:
  252. / {
  253. tegra_car: clock {
  254. compatible = "nvidia,tegra114-car";
  255. reg = <0x60006000 0x1000>;
  256. #clock-cells = <1>;
  257. };
  258. usb@c5004000 {
  259. clocks = <&tegra_car 58>; /* usb2 */
  260. };
  261. };
  262. Example board file:
  263. / {
  264. clocks {
  265. compatible = "simple-bus";
  266. #address-cells = <1>;
  267. #size-cells = <0>;
  268. osc: clock@0 {
  269. compatible = "fixed-clock";
  270. reg = <0>;
  271. #clock-cells = <0>;
  272. clock-frequency = <12000000>;
  273. };
  274. clk_32k: clock@1 {
  275. compatible = "fixed-clock";
  276. reg = <1>;
  277. #clock-cells = <0>;
  278. clock-frequency = <32768>;
  279. };
  280. };
  281. &tegra_car {
  282. clocks = <&clk_32k> <&osc>;
  283. };
  284. };