| NVIDIA Tegra20 Clock And Reset Controller |
| |
| This binding uses the common clock binding: |
| Documentation/devicetree/bindings/clock/clock-bindings.txt |
| |
| The CAR (Clock And Reset) Controller on Tegra is the HW module responsible |
| for muxing and gating Tegra's clocks, and setting their rates. |
| |
| Required properties : |
| - compatible : Should be "nvidia,tegra20-car" |
| - reg : Should contain CAR registers location and length |
| - clocks : Should contain phandle and clock specifiers for two clocks: |
| the 32 KHz "32k_in", and the board-specific oscillator "osc". |
| - #clock-cells : Should be 1. |
| In clock consumers, this cell represents the clock ID exposed by the CAR. |
| |
| The first 96 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB |
| registers. These IDs often match those in the CAR's RST_DEVICES registers, |
| but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In |
| this case, those clocks are assigned IDs above 95 in order to highlight |
| this issue. Implementations that interpret these clock IDs as bit values |
| within the CLK_OUT_ENB or RST_DEVICES registers should be careful to |
| explicitly handle these special cases. |
| |
| The balance of the clocks controlled by the CAR are assigned IDs of 96 and |
| above. |
| |
| 0 cpu |
| 1 unassigned |
| 2 unassigned |
| 3 ac97 |
| 4 rtc |
| 5 tmr |
| 6 uart1 |
| 7 unassigned (register bit affects uart2 and vfir) |
| 8 gpio |
| 9 sdmmc2 |
| 10 unassigned (register bit affects spdif_in and spdif_out) |
| 11 i2s1 |
| 12 i2c1 |
| 13 ndflash |
| 14 sdmmc1 |
| 15 sdmmc4 |
| 16 twc |
| 17 pwm |
| 18 i2s2 |
| 19 epp |
| 20 unassigned (register bit affects vi and vi_sensor) |
| 21 2d |
| 22 usbd |
| 23 isp |
| 24 3d |
| 25 ide |
| 26 disp2 |
| 27 disp1 |
| 28 host1x |
| 29 vcp |
| 30 unassigned |
| 31 cache2 |
| |
| 32 mem |
| 33 ahbdma |
| 34 apbdma |
| 35 unassigned |
| 36 kbc |
| 37 stat_mon |
| 38 pmc |
| 39 fuse |
| 40 kfuse |
| 41 sbc1 |
| 42 snor |
| 43 spi1 |
| 44 sbc2 |
| 45 xio |
| 46 sbc3 |
| 47 dvc |
| 48 dsi |
| 49 unassigned (register bit affects tvo and cve) |
| 50 mipi |
| 51 hdmi |
| 52 csi |
| 53 tvdac |
| 54 i2c2 |
| 55 uart3 |
| 56 unassigned |
| 57 emc |
| 58 usb2 |
| 59 usb3 |
| 60 mpe |
| 61 vde |
| 62 bsea |
| 63 bsev |
| |
| 64 speedo |
| 65 uart4 |
| 66 uart5 |
| 67 i2c3 |
| 68 sbc4 |
| 69 sdmmc3 |
| 70 pcie |
| 71 owr |
| 72 afi |
| 73 csite |
| 74 unassigned |
| 75 avpucq |
| 76 la |
| 77 unassigned |
| 78 unassigned |
| 79 unassigned |
| 80 unassigned |
| 81 unassigned |
| 82 unassigned |
| 83 unassigned |
| 84 irama |
| 85 iramb |
| 86 iramc |
| 87 iramd |
| 88 cram2 |
| 89 audio_2x a/k/a audio_2x_sync_clk |
| 90 clk_d |
| 91 unassigned |
| 92 sus |
| 93 cdev1 |
| 94 cdev2 |
| 95 unassigned |
| |
| 96 uart2 |
| 97 vfir |
| 98 spdif_in |
| 99 spdif_out |
| 100 vi |
| 101 vi_sensor |
| 102 tvo |
| 103 cve |
| 104 osc |
| 105 clk_32k a/k/a clk_s |
| 106 clk_m |
| 107 sclk |
| 108 cclk |
| 109 hclk |
| 110 pclk |
| 111 blink |
| 112 pll_a |
| 113 pll_a_out0 |
| 114 pll_c |
| 115 pll_c_out1 |
| 116 pll_d |
| 117 pll_d_out0 |
| 118 pll_e |
| 119 pll_m |
| 120 pll_m_out1 |
| 121 pll_p |
| 122 pll_p_out1 |
| 123 pll_p_out2 |
| 124 pll_p_out3 |
| 125 pll_p_out4 |
| 126 pll_s |
| 127 pll_u |
| 128 pll_x |
| 129 cop a/k/a avp |
| 130 audio a/k/a audio_sync_clk |
| |
| Example SoC include file: |
| |
| / { |
| tegra_car: clock@60006000 { |
| compatible = "nvidia,tegra20-car"; |
| reg = <0x60006000 0x1000>; |
| #clock-cells = <1>; |
| }; |
| |
| usb@c5004000 { |
| clocks = <&tegra_car 58>; /* usb2 */ |
| }; |
| }; |
| |
| Example board file: |
| |
| / { |
| clocks { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| osc: clock { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <12000000>; |
| }; |
| }; |
| |
| i2c@7000d000 { |
| pmic@34 { |
| compatible = "ti,tps6586x"; |
| reg = <0x34>; |
| |
| clk_32k: clock { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <32768>; |
| }; |
| }; |
| }; |
| |
| &tegra_car { |
| clocks = <&clk_32k> <&osc>; |
| }; |
| }; |