diff options
author | Mikko Perttunen <mperttunen@nvidia.com> | 2013-09-30 10:54:47 -0400 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2013-10-31 04:55:42 -0400 |
commit | 7d1d28aca08b974963feac19c05e0084e04db946 (patch) | |
tree | 6c4376a2802b9393b9ef808c90ea02dde2bb3c0c | |
parent | 59af0595f4827e006f7f7804cc8656599a7772fe (diff) |
drm/tegra: Add Tegra114 HDMI support
Tegra114 TMDS configuration requires a new peak_current field and the
driver current override bit has changed position.
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r-- | drivers/gpu/drm/tegra/drm.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/tegra/hdmi.c | 98 | ||||
-rw-r--r-- | drivers/gpu/drm/tegra/hdmi.h | 151 |
3 files changed, 250 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 96dea0a83139..2d8f925899de 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c | |||
@@ -489,6 +489,7 @@ static const struct of_device_id host1x_drm_subdevs[] = { | |||
489 | { .compatible = "nvidia,tegra30-dc", }, | 489 | { .compatible = "nvidia,tegra30-dc", }, |
490 | { .compatible = "nvidia,tegra30-hdmi", }, | 490 | { .compatible = "nvidia,tegra30-hdmi", }, |
491 | { .compatible = "nvidia,tegra30-gr2d", }, | 491 | { .compatible = "nvidia,tegra30-gr2d", }, |
492 | { .compatible = "nvidia,tegra114-hdmi", }, | ||
492 | { /* sentinel */ } | 493 | { /* sentinel */ } |
493 | }; | 494 | }; |
494 | 495 | ||
diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c index 745eec4e8fb8..ce32bfb7f86d 100644 --- a/drivers/gpu/drm/tegra/hdmi.c +++ b/drivers/gpu/drm/tegra/hdmi.c | |||
@@ -23,6 +23,7 @@ struct tmds_config { | |||
23 | u32 pll1; | 23 | u32 pll1; |
24 | u32 pe_current; | 24 | u32 pe_current; |
25 | u32 drive_current; | 25 | u32 drive_current; |
26 | u32 peak_current; | ||
26 | }; | 27 | }; |
27 | 28 | ||
28 | struct tegra_hdmi_config { | 29 | struct tegra_hdmi_config { |
@@ -31,6 +32,8 @@ struct tegra_hdmi_config { | |||
31 | 32 | ||
32 | unsigned long fuse_override_offset; | 33 | unsigned long fuse_override_offset; |
33 | unsigned long fuse_override_value; | 34 | unsigned long fuse_override_value; |
35 | |||
36 | bool has_sor_io_peak_current; | ||
34 | }; | 37 | }; |
35 | 38 | ||
36 | struct tegra_hdmi { | 39 | struct tegra_hdmi { |
@@ -233,6 +236,85 @@ static const struct tmds_config tegra30_tmds_config[] = { | |||
233 | }, | 236 | }, |
234 | }; | 237 | }; |
235 | 238 | ||
239 | static const struct tmds_config tegra114_tmds_config[] = { | ||
240 | { /* 480p/576p / 25.2MHz/27MHz modes */ | ||
241 | .pclk = 27000000, | ||
242 | .pll0 = SOR_PLL_ICHPMP(1) | SOR_PLL_BG_V17_S(3) | | ||
243 | SOR_PLL_VCOCAP(0) | SOR_PLL_RESISTORSEL, | ||
244 | .pll1 = SOR_PLL_LOADADJ(3) | SOR_PLL_TMDS_TERMADJ(0), | ||
245 | .pe_current = PE_CURRENT0(PE_CURRENT_0_mA_T114) | | ||
246 | PE_CURRENT1(PE_CURRENT_0_mA_T114) | | ||
247 | PE_CURRENT2(PE_CURRENT_0_mA_T114) | | ||
248 | PE_CURRENT3(PE_CURRENT_0_mA_T114), | ||
249 | .drive_current = | ||
250 | DRIVE_CURRENT_LANE0_T114(DRIVE_CURRENT_10_400_mA_T114) | | ||
251 | DRIVE_CURRENT_LANE1_T114(DRIVE_CURRENT_10_400_mA_T114) | | ||
252 | DRIVE_CURRENT_LANE2_T114(DRIVE_CURRENT_10_400_mA_T114) | | ||
253 | DRIVE_CURRENT_LANE3_T114(DRIVE_CURRENT_10_400_mA_T114), | ||
254 | .peak_current = PEAK_CURRENT_LANE0(PEAK_CURRENT_0_000_mA) | | ||
255 | PEAK_CURRENT_LANE1(PEAK_CURRENT_0_000_mA) | | ||
256 | PEAK_CURRENT_LANE2(PEAK_CURRENT_0_000_mA) | | ||
257 | PEAK_CURRENT_LANE3(PEAK_CURRENT_0_000_mA), | ||
258 | }, { /* 720p / 74.25MHz modes */ | ||
259 | .pclk = 74250000, | ||
260 | .pll0 = SOR_PLL_ICHPMP(1) | SOR_PLL_BG_V17_S(3) | | ||
261 | SOR_PLL_VCOCAP(1) | SOR_PLL_RESISTORSEL, | ||
262 | .pll1 = SOR_PLL_PE_EN | SOR_PLL_LOADADJ(3) | | ||
263 | SOR_PLL_TMDS_TERMADJ(0), | ||
264 | .pe_current = PE_CURRENT0(PE_CURRENT_15_mA_T114) | | ||
265 | PE_CURRENT1(PE_CURRENT_15_mA_T114) | | ||
266 | PE_CURRENT2(PE_CURRENT_15_mA_T114) | | ||
267 | PE_CURRENT3(PE_CURRENT_15_mA_T114), | ||
268 | .drive_current = | ||
269 | DRIVE_CURRENT_LANE0_T114(DRIVE_CURRENT_10_400_mA_T114) | | ||
270 | DRIVE_CURRENT_LANE1_T114(DRIVE_CURRENT_10_400_mA_T114) | | ||
271 | DRIVE_CURRENT_LANE2_T114(DRIVE_CURRENT_10_400_mA_T114) | | ||
272 | DRIVE_CURRENT_LANE3_T114(DRIVE_CURRENT_10_400_mA_T114), | ||
273 | .peak_current = PEAK_CURRENT_LANE0(PEAK_CURRENT_0_000_mA) | | ||
274 | PEAK_CURRENT_LANE1(PEAK_CURRENT_0_000_mA) | | ||
275 | PEAK_CURRENT_LANE2(PEAK_CURRENT_0_000_mA) | | ||
276 | PEAK_CURRENT_LANE3(PEAK_CURRENT_0_000_mA), | ||
277 | }, { /* 1080p / 148.5MHz modes */ | ||
278 | .pclk = 148500000, | ||
279 | .pll0 = SOR_PLL_ICHPMP(1) | SOR_PLL_BG_V17_S(3) | | ||
280 | SOR_PLL_VCOCAP(3) | SOR_PLL_RESISTORSEL, | ||
281 | .pll1 = SOR_PLL_PE_EN | SOR_PLL_LOADADJ(3) | | ||
282 | SOR_PLL_TMDS_TERMADJ(0), | ||
283 | .pe_current = PE_CURRENT0(PE_CURRENT_10_mA_T114) | | ||
284 | PE_CURRENT1(PE_CURRENT_10_mA_T114) | | ||
285 | PE_CURRENT2(PE_CURRENT_10_mA_T114) | | ||
286 | PE_CURRENT3(PE_CURRENT_10_mA_T114), | ||
287 | .drive_current = | ||
288 | DRIVE_CURRENT_LANE0_T114(DRIVE_CURRENT_12_400_mA_T114) | | ||
289 | DRIVE_CURRENT_LANE1_T114(DRIVE_CURRENT_12_400_mA_T114) | | ||
290 | DRIVE_CURRENT_LANE2_T114(DRIVE_CURRENT_12_400_mA_T114) | | ||
291 | DRIVE_CURRENT_LANE3_T114(DRIVE_CURRENT_12_400_mA_T114), | ||
292 | .peak_current = PEAK_CURRENT_LANE0(PEAK_CURRENT_0_000_mA) | | ||
293 | PEAK_CURRENT_LANE1(PEAK_CURRENT_0_000_mA) | | ||
294 | PEAK_CURRENT_LANE2(PEAK_CURRENT_0_000_mA) | | ||
295 | PEAK_CURRENT_LANE3(PEAK_CURRENT_0_000_mA), | ||
296 | }, { /* 225/297MHz modes */ | ||
297 | .pclk = UINT_MAX, | ||
298 | .pll0 = SOR_PLL_ICHPMP(1) | SOR_PLL_BG_V17_S(3) | | ||
299 | SOR_PLL_VCOCAP(0xf) | SOR_PLL_RESISTORSEL, | ||
300 | .pll1 = SOR_PLL_LOADADJ(3) | SOR_PLL_TMDS_TERMADJ(7) | ||
301 | | SOR_PLL_TMDS_TERM_ENABLE, | ||
302 | .pe_current = PE_CURRENT0(PE_CURRENT_0_mA_T114) | | ||
303 | PE_CURRENT1(PE_CURRENT_0_mA_T114) | | ||
304 | PE_CURRENT2(PE_CURRENT_0_mA_T114) | | ||
305 | PE_CURRENT3(PE_CURRENT_0_mA_T114), | ||
306 | .drive_current = | ||
307 | DRIVE_CURRENT_LANE0_T114(DRIVE_CURRENT_25_200_mA_T114) | | ||
308 | DRIVE_CURRENT_LANE1_T114(DRIVE_CURRENT_25_200_mA_T114) | | ||
309 | DRIVE_CURRENT_LANE2_T114(DRIVE_CURRENT_25_200_mA_T114) | | ||
310 | DRIVE_CURRENT_LANE3_T114(DRIVE_CURRENT_19_200_mA_T114), | ||
311 | .peak_current = PEAK_CURRENT_LANE0(PEAK_CURRENT_3_000_mA) | | ||
312 | PEAK_CURRENT_LANE1(PEAK_CURRENT_3_000_mA) | | ||
313 | PEAK_CURRENT_LANE2(PEAK_CURRENT_3_000_mA) | | ||
314 | PEAK_CURRENT_LANE3(PEAK_CURRENT_0_800_mA), | ||
315 | }, | ||
316 | }; | ||
317 | |||
236 | static const struct tegra_hdmi_audio_config * | 318 | static const struct tegra_hdmi_audio_config * |
237 | tegra_hdmi_get_audio_config(unsigned int audio_freq, unsigned int pclk) | 319 | tegra_hdmi_get_audio_config(unsigned int audio_freq, unsigned int pclk) |
238 | { | 320 | { |
@@ -586,6 +668,10 @@ static void tegra_hdmi_setup_tmds(struct tegra_hdmi *hdmi, | |||
586 | value = tegra_hdmi_readl(hdmi, hdmi->config->fuse_override_offset); | 668 | value = tegra_hdmi_readl(hdmi, hdmi->config->fuse_override_offset); |
587 | value |= hdmi->config->fuse_override_value; | 669 | value |= hdmi->config->fuse_override_value; |
588 | tegra_hdmi_writel(hdmi, value, hdmi->config->fuse_override_offset); | 670 | tegra_hdmi_writel(hdmi, value, hdmi->config->fuse_override_offset); |
671 | |||
672 | if (hdmi->config->has_sor_io_peak_current) | ||
673 | tegra_hdmi_writel(hdmi, tmds->peak_current, | ||
674 | HDMI_NV_PDISP_SOR_IO_PEAK_CURRENT); | ||
589 | } | 675 | } |
590 | 676 | ||
591 | static int tegra_output_hdmi_enable(struct tegra_output *output) | 677 | static int tegra_output_hdmi_enable(struct tegra_output *output) |
@@ -1052,6 +1138,7 @@ static int tegra_hdmi_show_regs(struct seq_file *s, void *data) | |||
1052 | DUMP_REG(HDMI_NV_PDISP_SOR_AUDIO_CNTRL0); | 1138 | DUMP_REG(HDMI_NV_PDISP_SOR_AUDIO_CNTRL0); |
1053 | DUMP_REG(HDMI_NV_PDISP_SOR_AUDIO_HDA_ELD_BUFWR); | 1139 | DUMP_REG(HDMI_NV_PDISP_SOR_AUDIO_HDA_ELD_BUFWR); |
1054 | DUMP_REG(HDMI_NV_PDISP_SOR_AUDIO_HDA_PRESENSE); | 1140 | DUMP_REG(HDMI_NV_PDISP_SOR_AUDIO_HDA_PRESENSE); |
1141 | DUMP_REG(HDMI_NV_PDISP_SOR_IO_PEAK_CURRENT); | ||
1055 | 1142 | ||
1056 | #undef DUMP_REG | 1143 | #undef DUMP_REG |
1057 | 1144 | ||
@@ -1181,6 +1268,7 @@ static const struct tegra_hdmi_config tegra20_hdmi_config = { | |||
1181 | .num_tmds = ARRAY_SIZE(tegra20_tmds_config), | 1268 | .num_tmds = ARRAY_SIZE(tegra20_tmds_config), |
1182 | .fuse_override_offset = HDMI_NV_PDISP_SOR_LANE_DRIVE_CURRENT, | 1269 | .fuse_override_offset = HDMI_NV_PDISP_SOR_LANE_DRIVE_CURRENT, |
1183 | .fuse_override_value = 1 << 31, | 1270 | .fuse_override_value = 1 << 31, |
1271 | .has_sor_io_peak_current = false, | ||
1184 | }; | 1272 | }; |
1185 | 1273 | ||
1186 | static const struct tegra_hdmi_config tegra30_hdmi_config = { | 1274 | static const struct tegra_hdmi_config tegra30_hdmi_config = { |
@@ -1188,9 +1276,19 @@ static const struct tegra_hdmi_config tegra30_hdmi_config = { | |||
1188 | .num_tmds = ARRAY_SIZE(tegra30_tmds_config), | 1276 | .num_tmds = ARRAY_SIZE(tegra30_tmds_config), |
1189 | .fuse_override_offset = HDMI_NV_PDISP_SOR_LANE_DRIVE_CURRENT, | 1277 | .fuse_override_offset = HDMI_NV_PDISP_SOR_LANE_DRIVE_CURRENT, |
1190 | .fuse_override_value = 1 << 31, | 1278 | .fuse_override_value = 1 << 31, |
1279 | .has_sor_io_peak_current = false, | ||
1280 | }; | ||
1281 | |||
1282 | static const struct tegra_hdmi_config tegra114_hdmi_config = { | ||
1283 | .tmds = tegra114_tmds_config, | ||
1284 | .num_tmds = ARRAY_SIZE(tegra114_tmds_config), | ||
1285 | .fuse_override_offset = HDMI_NV_PDISP_SOR_PAD_CTLS0, | ||
1286 | .fuse_override_value = 1 << 31, | ||
1287 | .has_sor_io_peak_current = true, | ||
1191 | }; | 1288 | }; |
1192 | 1289 | ||
1193 | static const struct of_device_id tegra_hdmi_of_match[] = { | 1290 | static const struct of_device_id tegra_hdmi_of_match[] = { |
1291 | { .compatible = "nvidia,tegra114-hdmi", .data = &tegra114_hdmi_config }, | ||
1194 | { .compatible = "nvidia,tegra30-hdmi", .data = &tegra30_hdmi_config }, | 1292 | { .compatible = "nvidia,tegra30-hdmi", .data = &tegra30_hdmi_config }, |
1195 | { .compatible = "nvidia,tegra20-hdmi", .data = &tegra20_hdmi_config }, | 1293 | { .compatible = "nvidia,tegra20-hdmi", .data = &tegra20_hdmi_config }, |
1196 | { }, | 1294 | { }, |
diff --git a/drivers/gpu/drm/tegra/hdmi.h b/drivers/gpu/drm/tegra/hdmi.h index baf3cf343d71..0aebc485f7fa 100644 --- a/drivers/gpu/drm/tegra/hdmi.h +++ b/drivers/gpu/drm/tegra/hdmi.h | |||
@@ -233,6 +233,10 @@ | |||
233 | #define DRIVE_CURRENT_LANE1(x) (((x) & 0x3f) << 8) | 233 | #define DRIVE_CURRENT_LANE1(x) (((x) & 0x3f) << 8) |
234 | #define DRIVE_CURRENT_LANE2(x) (((x) & 0x3f) << 16) | 234 | #define DRIVE_CURRENT_LANE2(x) (((x) & 0x3f) << 16) |
235 | #define DRIVE_CURRENT_LANE3(x) (((x) & 0x3f) << 24) | 235 | #define DRIVE_CURRENT_LANE3(x) (((x) & 0x3f) << 24) |
236 | #define DRIVE_CURRENT_LANE0_T114(x) (((x) & 0x7f) << 0) | ||
237 | #define DRIVE_CURRENT_LANE1_T114(x) (((x) & 0x7f) << 8) | ||
238 | #define DRIVE_CURRENT_LANE2_T114(x) (((x) & 0x7f) << 16) | ||
239 | #define DRIVE_CURRENT_LANE3_T114(x) (((x) & 0x7f) << 24) | ||
236 | 240 | ||
237 | #define DRIVE_CURRENT_1_500_mA 0x00 | 241 | #define DRIVE_CURRENT_1_500_mA 0x00 |
238 | #define DRIVE_CURRENT_1_875_mA 0x01 | 242 | #define DRIVE_CURRENT_1_875_mA 0x01 |
@@ -298,6 +302,79 @@ | |||
298 | #define DRIVE_CURRENT_24_375_mA 0x3d | 302 | #define DRIVE_CURRENT_24_375_mA 0x3d |
299 | #define DRIVE_CURRENT_24_750_mA 0x3e | 303 | #define DRIVE_CURRENT_24_750_mA 0x3e |
300 | 304 | ||
305 | #define DRIVE_CURRENT_0_000_mA_T114 0x00 | ||
306 | #define DRIVE_CURRENT_0_400_mA_T114 0x01 | ||
307 | #define DRIVE_CURRENT_0_800_mA_T114 0x02 | ||
308 | #define DRIVE_CURRENT_1_200_mA_T114 0x03 | ||
309 | #define DRIVE_CURRENT_1_600_mA_T114 0x04 | ||
310 | #define DRIVE_CURRENT_2_000_mA_T114 0x05 | ||
311 | #define DRIVE_CURRENT_2_400_mA_T114 0x06 | ||
312 | #define DRIVE_CURRENT_2_800_mA_T114 0x07 | ||
313 | #define DRIVE_CURRENT_3_200_mA_T114 0x08 | ||
314 | #define DRIVE_CURRENT_3_600_mA_T114 0x09 | ||
315 | #define DRIVE_CURRENT_4_000_mA_T114 0x0a | ||
316 | #define DRIVE_CURRENT_4_400_mA_T114 0x0b | ||
317 | #define DRIVE_CURRENT_4_800_mA_T114 0x0c | ||
318 | #define DRIVE_CURRENT_5_200_mA_T114 0x0d | ||
319 | #define DRIVE_CURRENT_5_600_mA_T114 0x0e | ||
320 | #define DRIVE_CURRENT_6_000_mA_T114 0x0f | ||
321 | #define DRIVE_CURRENT_6_400_mA_T114 0x10 | ||
322 | #define DRIVE_CURRENT_6_800_mA_T114 0x11 | ||
323 | #define DRIVE_CURRENT_7_200_mA_T114 0x12 | ||
324 | #define DRIVE_CURRENT_7_600_mA_T114 0x13 | ||
325 | #define DRIVE_CURRENT_8_000_mA_T114 0x14 | ||
326 | #define DRIVE_CURRENT_8_400_mA_T114 0x15 | ||
327 | #define DRIVE_CURRENT_8_800_mA_T114 0x16 | ||
328 | #define DRIVE_CURRENT_9_200_mA_T114 0x17 | ||
329 | #define DRIVE_CURRENT_9_600_mA_T114 0x18 | ||
330 | #define DRIVE_CURRENT_10_000_mA_T114 0x19 | ||
331 | #define DRIVE_CURRENT_10_400_mA_T114 0x1a | ||
332 | #define DRIVE_CURRENT_10_800_mA_T114 0x1b | ||
333 | #define DRIVE_CURRENT_11_200_mA_T114 0x1c | ||
334 | #define DRIVE_CURRENT_11_600_mA_T114 0x1d | ||
335 | #define DRIVE_CURRENT_12_000_mA_T114 0x1e | ||
336 | #define DRIVE_CURRENT_12_400_mA_T114 0x1f | ||
337 | #define DRIVE_CURRENT_12_800_mA_T114 0x20 | ||
338 | #define DRIVE_CURRENT_13_200_mA_T114 0x21 | ||
339 | #define DRIVE_CURRENT_13_600_mA_T114 0x22 | ||
340 | #define DRIVE_CURRENT_14_000_mA_T114 0x23 | ||
341 | #define DRIVE_CURRENT_14_400_mA_T114 0x24 | ||
342 | #define DRIVE_CURRENT_14_800_mA_T114 0x25 | ||
343 | #define DRIVE_CURRENT_15_200_mA_T114 0x26 | ||
344 | #define DRIVE_CURRENT_15_600_mA_T114 0x27 | ||
345 | #define DRIVE_CURRENT_16_000_mA_T114 0x28 | ||
346 | #define DRIVE_CURRENT_16_400_mA_T114 0x29 | ||
347 | #define DRIVE_CURRENT_16_800_mA_T114 0x2a | ||
348 | #define DRIVE_CURRENT_17_200_mA_T114 0x2b | ||
349 | #define DRIVE_CURRENT_17_600_mA_T114 0x2c | ||
350 | #define DRIVE_CURRENT_18_000_mA_T114 0x2d | ||
351 | #define DRIVE_CURRENT_18_400_mA_T114 0x2e | ||
352 | #define DRIVE_CURRENT_18_800_mA_T114 0x2f | ||
353 | #define DRIVE_CURRENT_19_200_mA_T114 0x30 | ||
354 | #define DRIVE_CURRENT_19_600_mA_T114 0x31 | ||
355 | #define DRIVE_CURRENT_20_000_mA_T114 0x32 | ||
356 | #define DRIVE_CURRENT_20_400_mA_T114 0x33 | ||
357 | #define DRIVE_CURRENT_20_800_mA_T114 0x34 | ||
358 | #define DRIVE_CURRENT_21_200_mA_T114 0x35 | ||
359 | #define DRIVE_CURRENT_21_600_mA_T114 0x36 | ||
360 | #define DRIVE_CURRENT_22_000_mA_T114 0x37 | ||
361 | #define DRIVE_CURRENT_22_400_mA_T114 0x38 | ||
362 | #define DRIVE_CURRENT_22_800_mA_T114 0x39 | ||
363 | #define DRIVE_CURRENT_23_200_mA_T114 0x3a | ||
364 | #define DRIVE_CURRENT_23_600_mA_T114 0x3b | ||
365 | #define DRIVE_CURRENT_24_000_mA_T114 0x3c | ||
366 | #define DRIVE_CURRENT_24_400_mA_T114 0x3d | ||
367 | #define DRIVE_CURRENT_24_800_mA_T114 0x3e | ||
368 | #define DRIVE_CURRENT_25_200_mA_T114 0x3f | ||
369 | #define DRIVE_CURRENT_25_400_mA_T114 0x40 | ||
370 | #define DRIVE_CURRENT_25_800_mA_T114 0x41 | ||
371 | #define DRIVE_CURRENT_26_200_mA_T114 0x42 | ||
372 | #define DRIVE_CURRENT_26_600_mA_T114 0x43 | ||
373 | #define DRIVE_CURRENT_27_000_mA_T114 0x44 | ||
374 | #define DRIVE_CURRENT_27_400_mA_T114 0x45 | ||
375 | #define DRIVE_CURRENT_27_800_mA_T114 0x46 | ||
376 | #define DRIVE_CURRENT_28_200_mA_T114 0x47 | ||
377 | |||
301 | #define HDMI_NV_PDISP_AUDIO_DEBUG0 0x7f | 378 | #define HDMI_NV_PDISP_AUDIO_DEBUG0 0x7f |
302 | #define HDMI_NV_PDISP_AUDIO_DEBUG1 0x80 | 379 | #define HDMI_NV_PDISP_AUDIO_DEBUG1 0x80 |
303 | #define HDMI_NV_PDISP_AUDIO_DEBUG2 0x81 | 380 | #define HDMI_NV_PDISP_AUDIO_DEBUG2 0x81 |
@@ -357,6 +434,23 @@ | |||
357 | #define PE_CURRENT_7_0_mA 0xe | 434 | #define PE_CURRENT_7_0_mA 0xe |
358 | #define PE_CURRENT_7_5_mA 0xf | 435 | #define PE_CURRENT_7_5_mA 0xf |
359 | 436 | ||
437 | #define PE_CURRENT_0_mA_T114 0x0 | ||
438 | #define PE_CURRENT_1_mA_T114 0x1 | ||
439 | #define PE_CURRENT_2_mA_T114 0x2 | ||
440 | #define PE_CURRENT_3_mA_T114 0x3 | ||
441 | #define PE_CURRENT_4_mA_T114 0x4 | ||
442 | #define PE_CURRENT_5_mA_T114 0x5 | ||
443 | #define PE_CURRENT_6_mA_T114 0x6 | ||
444 | #define PE_CURRENT_7_mA_T114 0x7 | ||
445 | #define PE_CURRENT_8_mA_T114 0x8 | ||
446 | #define PE_CURRENT_9_mA_T114 0x9 | ||
447 | #define PE_CURRENT_10_mA_T114 0xa | ||
448 | #define PE_CURRENT_11_mA_T114 0xb | ||
449 | #define PE_CURRENT_12_mA_T114 0xc | ||
450 | #define PE_CURRENT_13_mA_T114 0xd | ||
451 | #define PE_CURRENT_14_mA_T114 0xe | ||
452 | #define PE_CURRENT_15_mA_T114 0xf | ||
453 | |||
360 | #define HDMI_NV_PDISP_KEY_CTRL 0x9a | 454 | #define HDMI_NV_PDISP_KEY_CTRL 0x9a |
361 | #define HDMI_NV_PDISP_KEY_DEBUG0 0x9b | 455 | #define HDMI_NV_PDISP_KEY_DEBUG0 0x9b |
362 | #define HDMI_NV_PDISP_KEY_DEBUG1 0x9c | 456 | #define HDMI_NV_PDISP_KEY_DEBUG1 0x9c |
@@ -382,4 +476,61 @@ | |||
382 | #define HDMI_NV_PDISP_SOR_AUDIO_AVAL_1920 0xc5 | 476 | #define HDMI_NV_PDISP_SOR_AUDIO_AVAL_1920 0xc5 |
383 | #define HDMI_NV_PDISP_SOR_AUDIO_AVAL_DEFAULT 0xc5 | 477 | #define HDMI_NV_PDISP_SOR_AUDIO_AVAL_DEFAULT 0xc5 |
384 | 478 | ||
479 | #define HDMI_NV_PDISP_SOR_IO_PEAK_CURRENT 0xd1 | ||
480 | #define PEAK_CURRENT_LANE0(x) (((x) & 0x7f) << 0) | ||
481 | #define PEAK_CURRENT_LANE1(x) (((x) & 0x7f) << 8) | ||
482 | #define PEAK_CURRENT_LANE2(x) (((x) & 0x7f) << 16) | ||
483 | #define PEAK_CURRENT_LANE3(x) (((x) & 0x7f) << 24) | ||
484 | |||
485 | #define PEAK_CURRENT_0_000_mA 0x00 | ||
486 | #define PEAK_CURRENT_0_200_mA 0x01 | ||
487 | #define PEAK_CURRENT_0_400_mA 0x02 | ||
488 | #define PEAK_CURRENT_0_600_mA 0x03 | ||
489 | #define PEAK_CURRENT_0_800_mA 0x04 | ||
490 | #define PEAK_CURRENT_1_000_mA 0x05 | ||
491 | #define PEAK_CURRENT_1_200_mA 0x06 | ||
492 | #define PEAK_CURRENT_1_400_mA 0x07 | ||
493 | #define PEAK_CURRENT_1_600_mA 0x08 | ||
494 | #define PEAK_CURRENT_1_800_mA 0x09 | ||
495 | #define PEAK_CURRENT_2_000_mA 0x0a | ||
496 | #define PEAK_CURRENT_2_200_mA 0x0b | ||
497 | #define PEAK_CURRENT_2_400_mA 0x0c | ||
498 | #define PEAK_CURRENT_2_600_mA 0x0d | ||
499 | #define PEAK_CURRENT_2_800_mA 0x0e | ||
500 | #define PEAK_CURRENT_3_000_mA 0x0f | ||
501 | #define PEAK_CURRENT_3_200_mA 0x10 | ||
502 | #define PEAK_CURRENT_3_400_mA 0x11 | ||
503 | #define PEAK_CURRENT_3_600_mA 0x12 | ||
504 | #define PEAK_CURRENT_3_800_mA 0x13 | ||
505 | #define PEAK_CURRENT_4_000_mA 0x14 | ||
506 | #define PEAK_CURRENT_4_200_mA 0x15 | ||
507 | #define PEAK_CURRENT_4_400_mA 0x16 | ||
508 | #define PEAK_CURRENT_4_600_mA 0x17 | ||
509 | #define PEAK_CURRENT_4_800_mA 0x18 | ||
510 | #define PEAK_CURRENT_5_000_mA 0x19 | ||
511 | #define PEAK_CURRENT_5_200_mA 0x1a | ||
512 | #define PEAK_CURRENT_5_400_mA 0x1b | ||
513 | #define PEAK_CURRENT_5_600_mA 0x1c | ||
514 | #define PEAK_CURRENT_5_800_mA 0x1d | ||
515 | #define PEAK_CURRENT_6_000_mA 0x1e | ||
516 | #define PEAK_CURRENT_6_200_mA 0x1f | ||
517 | #define PEAK_CURRENT_6_400_mA 0x20 | ||
518 | #define PEAK_CURRENT_6_600_mA 0x21 | ||
519 | #define PEAK_CURRENT_6_800_mA 0x22 | ||
520 | #define PEAK_CURRENT_7_000_mA 0x23 | ||
521 | #define PEAK_CURRENT_7_200_mA 0x24 | ||
522 | #define PEAK_CURRENT_7_400_mA 0x25 | ||
523 | #define PEAK_CURRENT_7_600_mA 0x26 | ||
524 | #define PEAK_CURRENT_7_800_mA 0x27 | ||
525 | #define PEAK_CURRENT_8_000_mA 0x28 | ||
526 | #define PEAK_CURRENT_8_200_mA 0x29 | ||
527 | #define PEAK_CURRENT_8_400_mA 0x2a | ||
528 | #define PEAK_CURRENT_8_600_mA 0x2b | ||
529 | #define PEAK_CURRENT_8_800_mA 0x2c | ||
530 | #define PEAK_CURRENT_9_000_mA 0x2d | ||
531 | #define PEAK_CURRENT_9_200_mA 0x2e | ||
532 | #define PEAK_CURRENT_9_400_mA 0x2f | ||
533 | |||
534 | #define HDMI_NV_PDISP_SOR_PAD_CTLS0 0xd2 | ||
535 | |||
385 | #endif /* TEGRA_HDMI_H */ | 536 | #endif /* TEGRA_HDMI_H */ |