1 NVIDIA Tegra30 Clock And Reset Controller
3 This binding uses the common clock binding:
4 Documentation/devicetree/bindings/clock/clock-bindings.txt
6 The CAR (Clock And Reset) Controller on Tegra is the HW module responsible
7 for muxing and gating Tegra's clocks, and setting their rates.
10 - compatible : Should be "nvidia,tegra30-car"
11 - reg : Should contain CAR registers location and length
12 - clocks : Should contain phandle and clock specifiers for two clocks:
13 the 32 KHz "32k_in", and the board-specific oscillator "osc".
14 - #clock-cells : Should be 1.
15 In clock consumers, this cell represents the clock ID exposed by the CAR.
17 The first 130 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB
18 registers. These IDs often match those in the CAR's RST_DEVICES registers,
19 but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In
20 this case, those clocks are assigned IDs above 160 in order to highlight
21 this issue. Implementations that interpret these clock IDs as bit values
22 within the CLK_OUT_ENB or RST_DEVICES registers should be careful to
23 explicitly handle these special cases.
25 The balance of the clocks controlled by the CAR are assigned IDs of 160 and
35 7 unassigned (register bit affects uartb and vfir)
38 10 unassigned (register bit affects spdif_in and spdif_out)
48 20 unassigned (register bit affects vi and vi_sensor)
68 39 unassigned (register bit affects fuse and fuse_burn)
78 49 unassigned (register bit affects cve and tvo)
120 90 audio_2x a/k/a audio_2x_sync_clk
209 207 clk_out_1 (extern1)
210 208 clk_out_2 (extern2)
211 209 clk_out_3 (extern3)
222 Example SoC include file:
226 compatible = "nvidia,tegra30-car";
227 reg = <0x60006000 0x1000>;
232 clocks = <&tegra_car 58>; /* usb2 */
240 compatible = "simple-bus";
241 #address-cells = <1>;
245 compatible = "fixed-clock";
248 clock-frequency = <12000000>;
252 compatible = "fixed-clock";
255 clock-frequency = <32768>;
260 clocks = <&clk_32k> <&osc>;