diff options
| author | Michael Turquette <mturquette@baylibre.com> | 2017-04-12 12:51:01 -0400 |
|---|---|---|
| committer | Michael Turquette <mturquette@baylibre.com> | 2017-04-12 12:51:01 -0400 |
| commit | 72be2d5f4aa4134ae284108d319adf42f1739816 (patch) | |
| tree | c9cae918b467dc5740dfff3e718595db632bc65c /include | |
| parent | 1f9dfd7ac787ab8caa19a7bf463f617d97c9f66c (diff) | |
| parent | 1116d5a7aff205b6d9879a6458788cac20d0cdf3 (diff) | |
Merge tag 'tegra-for-4.12-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into clk-next
Pull Tegra clk driver updates from Thierry Reding:
This contains a bunch of fixes and cleanups, mostly to the Tegra210
clock driver.
* tag 'tegra-for-4.12-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (24 commits)
clk: tegra: Don't reset PLL-CX if it is already enabled
clk: tegra: Add missing Tegra210 clocks
clk: tegra: Propagate clk_out_x rate to parent
clk: tegra: Fix build warnings on Tegra20/Tegra30
clk: tegra: Mark TEGRA210_CLK_DBGAPB as always on
clk: tegra: Add SATA seq input control
clk: tegra: Add Tegra210 special resets
clk: tegra: Rework pll_u
clk: tegra: Implement reset control reset
clk: tegra: Fix disable unused for clocks sharing enable bit
clk: tegra: Handle UTMIPLL IDDQ
clk: tegra: Add aclk
clk: tegra: Add super clock mux/divider
clk: tegra: Define Tegra210 DMIC clocks
clk: tegra: Fix constness for peripheral clocks
clk: tegra: Define Tegra210 DMIC sync clocks
clk: tegra: Add CEC clock
clk: tegra: Fix type for m field
clk: tegra: Correct tegra210_pll_fixed_mdiv_cfg rate calculation
clk: tegra: Don't warn for PLL defaults unnecessarily
...
Diffstat (limited to 'include')
| -rw-r--r-- | include/dt-bindings/clock/tegra114-car.h | 2 | ||||
| -rw-r--r-- | include/dt-bindings/clock/tegra124-car-common.h | 2 | ||||
| -rw-r--r-- | include/dt-bindings/clock/tegra210-car.h | 33 | ||||
| -rw-r--r-- | include/dt-bindings/clock/tegra30-car.h | 2 | ||||
| -rw-r--r-- | include/dt-bindings/reset/tegra210-car.h | 13 | ||||
| -rw-r--r-- | include/linux/clk/tegra.h | 3 |
6 files changed, 40 insertions, 15 deletions
diff --git a/include/dt-bindings/clock/tegra114-car.h b/include/dt-bindings/clock/tegra114-car.h index 534c03f8ad72..ed5ca218c857 100644 --- a/include/dt-bindings/clock/tegra114-car.h +++ b/include/dt-bindings/clock/tegra114-car.h | |||
| @@ -156,7 +156,7 @@ | |||
| 156 | /* 133 */ | 156 | /* 133 */ |
| 157 | /* 134 */ | 157 | /* 134 */ |
| 158 | /* 135 */ | 158 | /* 135 */ |
| 159 | /* 136 */ | 159 | #define TEGRA114_CLK_CEC 136 |
| 160 | /* 137 */ | 160 | /* 137 */ |
| 161 | /* 138 */ | 161 | /* 138 */ |
| 162 | /* 139 */ | 162 | /* 139 */ |
diff --git a/include/dt-bindings/clock/tegra124-car-common.h b/include/dt-bindings/clock/tegra124-car-common.h index a2156090563f..9352c7e2ce0b 100644 --- a/include/dt-bindings/clock/tegra124-car-common.h +++ b/include/dt-bindings/clock/tegra124-car-common.h | |||
| @@ -156,7 +156,7 @@ | |||
| 156 | /* 133 */ | 156 | /* 133 */ |
| 157 | /* 134 */ | 157 | /* 134 */ |
| 158 | /* 135 */ | 158 | /* 135 */ |
| 159 | /* 136 */ | 159 | #define TEGRA124_CLK_CEC 136 |
| 160 | /* 137 */ | 160 | /* 137 */ |
| 161 | /* 138 */ | 161 | /* 138 */ |
| 162 | /* 139 */ | 162 | /* 139 */ |
diff --git a/include/dt-bindings/clock/tegra210-car.h b/include/dt-bindings/clock/tegra210-car.h index 35288b20f2c9..46689cd3750b 100644 --- a/include/dt-bindings/clock/tegra210-car.h +++ b/include/dt-bindings/clock/tegra210-car.h | |||
| @@ -39,7 +39,7 @@ | |||
| 39 | /* 20 (register bit affects vi and vi_sensor) */ | 39 | /* 20 (register bit affects vi and vi_sensor) */ |
| 40 | /* 21 */ | 40 | /* 21 */ |
| 41 | #define TEGRA210_CLK_USBD 22 | 41 | #define TEGRA210_CLK_USBD 22 |
| 42 | #define TEGRA210_CLK_ISP 23 | 42 | #define TEGRA210_CLK_ISPA 23 |
| 43 | /* 24 */ | 43 | /* 24 */ |
| 44 | /* 25 */ | 44 | /* 25 */ |
| 45 | #define TEGRA210_CLK_DISP2 26 | 45 | #define TEGRA210_CLK_DISP2 26 |
| @@ -156,7 +156,7 @@ | |||
| 156 | /* 133 */ | 156 | /* 133 */ |
| 157 | /* 134 */ | 157 | /* 134 */ |
| 158 | /* 135 */ | 158 | /* 135 */ |
| 159 | /* 136 */ | 159 | #define TEGRA210_CLK_CEC 136 |
| 160 | /* 137 */ | 160 | /* 137 */ |
| 161 | /* 138 */ | 161 | /* 138 */ |
| 162 | /* 139 */ | 162 | /* 139 */ |
| @@ -173,7 +173,7 @@ | |||
| 173 | #define TEGRA210_CLK_ENTROPY 149 | 173 | #define TEGRA210_CLK_ENTROPY 149 |
| 174 | /* 150 */ | 174 | /* 150 */ |
| 175 | /* 151 */ | 175 | /* 151 */ |
| 176 | /* 152 */ | 176 | #define TEGRA210_CLK_DP2 152 |
| 177 | /* 153 */ | 177 | /* 153 */ |
| 178 | /* 154 */ | 178 | /* 154 */ |
| 179 | /* 155 (bit affects dfll_ref and dfll_soc) */ | 179 | /* 155 (bit affects dfll_ref and dfll_soc) */ |
| @@ -210,7 +210,7 @@ | |||
| 210 | #define TEGRA210_CLK_DBGAPB 185 | 210 | #define TEGRA210_CLK_DBGAPB 185 |
| 211 | /* 186 */ | 211 | /* 186 */ |
| 212 | #define TEGRA210_CLK_PLL_P_OUT_ADSP 187 | 212 | #define TEGRA210_CLK_PLL_P_OUT_ADSP 187 |
| 213 | /* 188 */ | 213 | /* 188 ((bit affects pll_a_out_adsp and pll_a_out0_out_adsp)*/ |
| 214 | #define TEGRA210_CLK_PLL_G_REF 189 | 214 | #define TEGRA210_CLK_PLL_G_REF 189 |
| 215 | /* 190 */ | 215 | /* 190 */ |
| 216 | /* 191 */ | 216 | /* 191 */ |
| @@ -222,7 +222,7 @@ | |||
| 222 | /* 196 */ | 222 | /* 196 */ |
| 223 | #define TEGRA210_CLK_DMIC3 197 | 223 | #define TEGRA210_CLK_DMIC3 197 |
| 224 | #define TEGRA210_CLK_APE 198 | 224 | #define TEGRA210_CLK_APE 198 |
| 225 | /* 199 */ | 225 | #define TEGRA210_CLK_ADSP 199 |
| 226 | /* 200 */ | 226 | /* 200 */ |
| 227 | /* 201 */ | 227 | /* 201 */ |
| 228 | #define TEGRA210_CLK_MAUD 202 | 228 | #define TEGRA210_CLK_MAUD 202 |
| @@ -241,10 +241,10 @@ | |||
| 241 | /* 215 */ | 241 | /* 215 */ |
| 242 | /* 216 */ | 242 | /* 216 */ |
| 243 | /* 217 */ | 243 | /* 217 */ |
| 244 | /* 218 */ | 244 | #define TEGRA210_CLK_ADSP_NEON 218 |
| 245 | #define TEGRA210_CLK_NVENC 219 | 245 | #define TEGRA210_CLK_NVENC 219 |
| 246 | /* 220 */ | 246 | #define TEGRA210_CLK_IQC2 220 |
| 247 | /* 221 */ | 247 | #define TEGRA210_CLK_IQC1 221 |
| 248 | #define TEGRA210_CLK_SOR_SAFE 222 | 248 | #define TEGRA210_CLK_SOR_SAFE 222 |
| 249 | #define TEGRA210_CLK_PLL_P_OUT_CPU 223 | 249 | #define TEGRA210_CLK_PLL_P_OUT_CPU 223 |
| 250 | 250 | ||
| @@ -349,9 +349,9 @@ | |||
| 349 | #define TEGRA210_CLK_PLL_RE_OUT1 319 | 349 | #define TEGRA210_CLK_PLL_RE_OUT1 319 |
| 350 | /* 320 */ | 350 | /* 320 */ |
| 351 | /* 321 */ | 351 | /* 321 */ |
| 352 | /* 322 */ | 352 | #define TEGRA210_CLK_ISP 322 |
| 353 | /* 323 */ | 353 | #define TEGRA210_CLK_PLL_A_OUT_ADSP 323 |
| 354 | /* 324 */ | 354 | #define TEGRA210_CLK_PLL_A_OUT0_OUT_ADSP 324 |
| 355 | /* 325 */ | 355 | /* 325 */ |
| 356 | /* 326 */ | 356 | /* 326 */ |
| 357 | /* 327 */ | 357 | /* 327 */ |
| @@ -396,6 +396,15 @@ | |||
| 396 | #define TEGRA210_CLK_PLL_C_UD 364 | 396 | #define TEGRA210_CLK_PLL_C_UD 364 |
| 397 | #define TEGRA210_CLK_SCLK_MUX 365 | 397 | #define TEGRA210_CLK_SCLK_MUX 365 |
| 398 | 398 | ||
| 399 | #define TEGRA210_CLK_CLK_MAX 366 | 399 | #define TEGRA210_CLK_ACLK 370 |
| 400 | |||
| 401 | #define TEGRA210_CLK_DMIC1_SYNC_CLK 388 | ||
| 402 | #define TEGRA210_CLK_DMIC1_SYNC_CLK_MUX 389 | ||
| 403 | #define TEGRA210_CLK_DMIC2_SYNC_CLK 390 | ||
| 404 | #define TEGRA210_CLK_DMIC2_SYNC_CLK_MUX 391 | ||
| 405 | #define TEGRA210_CLK_DMIC3_SYNC_CLK 392 | ||
| 406 | #define TEGRA210_CLK_DMIC3_SYNC_CLK_MUX 393 | ||
| 407 | |||
| 408 | #define TEGRA210_CLK_CLK_MAX 394 | ||
| 400 | 409 | ||
| 401 | #endif /* _DT_BINDINGS_CLOCK_TEGRA210_CAR_H */ | 410 | #endif /* _DT_BINDINGS_CLOCK_TEGRA210_CAR_H */ |
diff --git a/include/dt-bindings/clock/tegra30-car.h b/include/dt-bindings/clock/tegra30-car.h index 889e49ba0aa3..7213354b9652 100644 --- a/include/dt-bindings/clock/tegra30-car.h +++ b/include/dt-bindings/clock/tegra30-car.h | |||
| @@ -156,7 +156,7 @@ | |||
| 156 | /* 133 */ | 156 | /* 133 */ |
| 157 | /* 134 */ | 157 | /* 134 */ |
| 158 | /* 135 */ | 158 | /* 135 */ |
| 159 | /* 136 */ | 159 | #define TEGRA30_CLK_CEC 136 |
| 160 | /* 137 */ | 160 | /* 137 */ |
| 161 | /* 138 */ | 161 | /* 138 */ |
| 162 | /* 139 */ | 162 | /* 139 */ |
diff --git a/include/dt-bindings/reset/tegra210-car.h b/include/dt-bindings/reset/tegra210-car.h new file mode 100644 index 000000000000..296ec6e3f8c0 --- /dev/null +++ b/include/dt-bindings/reset/tegra210-car.h | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | /* | ||
| 2 | * This header provides Tegra210-specific constants for binding | ||
| 3 | * nvidia,tegra210-car. | ||
| 4 | */ | ||
| 5 | |||
| 6 | #ifndef _DT_BINDINGS_RESET_TEGRA210_CAR_H | ||
| 7 | #define _DT_BINDINGS_RESET_TEGRA210_CAR_H | ||
| 8 | |||
| 9 | #define TEGRA210_RESET(x) (7 * 32 + (x)) | ||
| 10 | #define TEGRA210_RST_DFLL_DVCO TEGRA210_RESET(0) | ||
| 11 | #define TEGRA210_RST_ADSP TEGRA210_RESET(1) | ||
| 12 | |||
| 13 | #endif /* _DT_BINDINGS_RESET_TEGRA210_CAR_H */ | ||
diff --git a/include/linux/clk/tegra.h b/include/linux/clk/tegra.h index 7007a5f48080..d23c9cf26993 100644 --- a/include/linux/clk/tegra.h +++ b/include/linux/clk/tegra.h | |||
| @@ -125,5 +125,8 @@ extern void tegra210_xusb_pll_hw_control_enable(void); | |||
| 125 | extern void tegra210_xusb_pll_hw_sequence_start(void); | 125 | extern void tegra210_xusb_pll_hw_sequence_start(void); |
| 126 | extern void tegra210_sata_pll_hw_control_enable(void); | 126 | extern void tegra210_sata_pll_hw_control_enable(void); |
| 127 | extern void tegra210_sata_pll_hw_sequence_start(void); | 127 | extern void tegra210_sata_pll_hw_sequence_start(void); |
| 128 | extern void tegra210_set_sata_pll_seq_sw(bool state); | ||
| 129 | extern void tegra210_put_utmipll_in_iddq(void); | ||
| 130 | extern void tegra210_put_utmipll_out_iddq(void); | ||
| 128 | 131 | ||
| 129 | #endif /* __LINUX_CLK_TEGRA_H_ */ | 132 | #endif /* __LINUX_CLK_TEGRA_H_ */ |
