| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (C) 2013 NVIDIA Corporation |
|---|
| 3 | | - * |
|---|
| 4 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 5 | | - * it under the terms of the GNU General Public License version 2 as |
|---|
| 6 | | - * published by the Free Software Foundation. |
|---|
| 7 | 4 | */ |
|---|
| 8 | 5 | |
|---|
| 9 | 6 | #ifndef DRM_TEGRA_SOR_H |
|---|
| .. | .. |
|---|
| 42 | 39 | #define SOR_STATE_ASY_CRC_MODE_NON_ACTIVE (0x2 << 6) |
|---|
| 43 | 40 | #define SOR_STATE_ASY_CRC_MODE_COMPLETE (0x1 << 6) |
|---|
| 44 | 41 | #define SOR_STATE_ASY_CRC_MODE_ACTIVE (0x0 << 6) |
|---|
| 42 | +#define SOR_STATE_ASY_SUBOWNER_MASK (0x3 << 4) |
|---|
| 45 | 43 | #define SOR_STATE_ASY_OWNER_MASK 0xf |
|---|
| 46 | 44 | #define SOR_STATE_ASY_OWNER(x) (((x) & 0xf) << 0) |
|---|
| 47 | 45 | |
|---|
| .. | .. |
|---|
| 286 | 284 | #define SOR_DP_PADCTL_CM_TXD_2 (1 << 6) |
|---|
| 287 | 285 | #define SOR_DP_PADCTL_CM_TXD_1 (1 << 5) |
|---|
| 288 | 286 | #define SOR_DP_PADCTL_CM_TXD_0 (1 << 4) |
|---|
| 287 | +#define SOR_DP_PADCTL_CM_TXD(x) (1 << (4 + (x))) |
|---|
| 289 | 288 | #define SOR_DP_PADCTL_PD_TXD_3 (1 << 3) |
|---|
| 290 | 289 | #define SOR_DP_PADCTL_PD_TXD_0 (1 << 2) |
|---|
| 291 | 290 | #define SOR_DP_PADCTL_PD_TXD_1 (1 << 1) |
|---|
| 292 | 291 | #define SOR_DP_PADCTL_PD_TXD_2 (1 << 0) |
|---|
| 292 | +#define SOR_DP_PADCTL_PD_TXD(x) (1 << (0 + (x))) |
|---|
| 293 | 293 | |
|---|
| 294 | 294 | #define SOR_DP_PADCTL1 0x5d |
|---|
| 295 | 295 | |
|---|
| .. | .. |
|---|
| 364 | 364 | #define INFOFRAME_HEADER_VERSION(x) (((x) & 0xff) << 8) |
|---|
| 365 | 365 | #define INFOFRAME_HEADER_TYPE(x) (((x) & 0xff) << 0) |
|---|
| 366 | 366 | |
|---|
| 367 | +#define SOR_HDMI_ACR_CTRL 0xb1 |
|---|
| 368 | + |
|---|
| 369 | +#define SOR_HDMI_ACR_0320_SUBPACK_LOW 0xb2 |
|---|
| 370 | +#define SOR_HDMI_ACR_SUBPACK_LOW_SB1(x) (((x) & 0xff) << 24) |
|---|
| 371 | + |
|---|
| 372 | +#define SOR_HDMI_ACR_0320_SUBPACK_HIGH 0xb3 |
|---|
| 373 | +#define SOR_HDMI_ACR_SUBPACK_HIGH_ENABLE (1 << 31) |
|---|
| 374 | + |
|---|
| 375 | +#define SOR_HDMI_ACR_0441_SUBPACK_LOW 0xb4 |
|---|
| 376 | +#define SOR_HDMI_ACR_0441_SUBPACK_HIGH 0xb5 |
|---|
| 377 | + |
|---|
| 367 | 378 | #define SOR_HDMI_CTRL 0xc0 |
|---|
| 368 | 379 | #define SOR_HDMI_CTRL_ENABLE (1 << 30) |
|---|
| 369 | 380 | #define SOR_HDMI_CTRL_MAX_AC_PACKET(x) (((x) & 0x1f) << 16) |
|---|
| 370 | 381 | #define SOR_HDMI_CTRL_AUDIO_LAYOUT (1 << 10) |
|---|
| 371 | 382 | #define SOR_HDMI_CTRL_REKEY(x) (((x) & 0x7f) << 0) |
|---|
| 383 | + |
|---|
| 384 | +#define SOR_HDMI_SPARE 0xcb |
|---|
| 385 | +#define SOR_HDMI_SPARE_ACR_PRIORITY_HIGH (1 << 31) |
|---|
| 386 | +#define SOR_HDMI_SPARE_CTS_RESET(x) (((x) & 0x7) << 16) |
|---|
| 387 | +#define SOR_HDMI_SPARE_HW_CTS_ENABLE (1 << 0) |
|---|
| 372 | 388 | |
|---|
| 373 | 389 | #define SOR_REFCLK 0xe6 |
|---|
| 374 | 390 | #define SOR_REFCLK_DIV_INT(x) ((((x) >> 2) & 0xff) << 8) |
|---|
| .. | .. |
|---|
| 378 | 394 | #define SOR_INPUT_CONTROL_ARM_VIDEO_RANGE_LIMITED (1 << 1) |
|---|
| 379 | 395 | #define SOR_INPUT_CONTROL_HDMI_SRC_SELECT(x) (((x) & 0x1) << 0) |
|---|
| 380 | 396 | |
|---|
| 397 | +#define SOR_AUDIO_CNTRL 0xfc |
|---|
| 398 | +#define SOR_AUDIO_CNTRL_INJECT_NULLSMPL (1 << 29) |
|---|
| 399 | +#define SOR_AUDIO_CNTRL_SOURCE_SELECT(x) (((x) & 0x3) << 20) |
|---|
| 400 | +#define SOURCE_SELECT_MASK 0x3 |
|---|
| 401 | +#define SOURCE_SELECT_HDA 0x2 |
|---|
| 402 | +#define SOURCE_SELECT_SPDIF 0x1 |
|---|
| 403 | +#define SOURCE_SELECT_AUTO 0x0 |
|---|
| 404 | +#define SOR_AUDIO_CNTRL_AFIFO_FLUSH (1 << 12) |
|---|
| 405 | + |
|---|
| 406 | +#define SOR_AUDIO_SPARE 0xfe |
|---|
| 407 | +#define SOR_AUDIO_SPARE_HBR_ENABLE (1 << 27) |
|---|
| 408 | + |
|---|
| 409 | +#define SOR_AUDIO_NVAL_0320 0xff |
|---|
| 410 | +#define SOR_AUDIO_NVAL_0441 0x100 |
|---|
| 411 | +#define SOR_AUDIO_NVAL_0882 0x101 |
|---|
| 412 | +#define SOR_AUDIO_NVAL_1764 0x102 |
|---|
| 413 | +#define SOR_AUDIO_NVAL_0480 0x103 |
|---|
| 414 | +#define SOR_AUDIO_NVAL_0960 0x104 |
|---|
| 415 | +#define SOR_AUDIO_NVAL_1920 0x105 |
|---|
| 416 | + |
|---|
| 417 | +#define SOR_AUDIO_HDA_CODEC_SCRATCH0 0x10a |
|---|
| 418 | +#define SOR_AUDIO_HDA_CODEC_SCRATCH0_VALID (1 << 30) |
|---|
| 419 | +#define SOR_AUDIO_HDA_CODEC_SCRATCH0_FMT_MASK 0xffff |
|---|
| 420 | + |
|---|
| 421 | +#define SOR_AUDIO_HDA_ELD_BUFWR 0x10c |
|---|
| 422 | +#define SOR_AUDIO_HDA_ELD_BUFWR_INDEX(x) (((x) & 0xff) << 8) |
|---|
| 423 | +#define SOR_AUDIO_HDA_ELD_BUFWR_DATA(x) (((x) & 0xff) << 0) |
|---|
| 424 | + |
|---|
| 425 | +#define SOR_AUDIO_HDA_PRESENSE 0x10d |
|---|
| 426 | +#define SOR_AUDIO_HDA_PRESENSE_ELDV (1 << 1) |
|---|
| 427 | +#define SOR_AUDIO_HDA_PRESENSE_PD (1 << 0) |
|---|
| 428 | + |
|---|
| 429 | +#define SOR_AUDIO_AVAL_0320 0x10f |
|---|
| 430 | +#define SOR_AUDIO_AVAL_0441 0x110 |
|---|
| 431 | +#define SOR_AUDIO_AVAL_0882 0x111 |
|---|
| 432 | +#define SOR_AUDIO_AVAL_1764 0x112 |
|---|
| 433 | +#define SOR_AUDIO_AVAL_0480 0x113 |
|---|
| 434 | +#define SOR_AUDIO_AVAL_0960 0x114 |
|---|
| 435 | +#define SOR_AUDIO_AVAL_1920 0x115 |
|---|
| 436 | + |
|---|
| 437 | +#define SOR_INT_STATUS 0x11c |
|---|
| 438 | +#define SOR_INT_CODEC_CP_REQUEST (1 << 2) |
|---|
| 439 | +#define SOR_INT_CODEC_SCRATCH1 (1 << 1) |
|---|
| 440 | +#define SOR_INT_CODEC_SCRATCH0 (1 << 0) |
|---|
| 441 | + |
|---|
| 442 | +#define SOR_INT_MASK 0x11d |
|---|
| 443 | +#define SOR_INT_ENABLE 0x11e |
|---|
| 444 | + |
|---|
| 381 | 445 | #define SOR_HDMI_VSI_INFOFRAME_CTRL 0x123 |
|---|
| 382 | 446 | #define SOR_HDMI_VSI_INFOFRAME_STATUS 0x124 |
|---|
| 383 | 447 | #define SOR_HDMI_VSI_INFOFRAME_HEADER 0x125 |
|---|
| 384 | 448 | |
|---|
| 449 | +#define SOR_HDMI_AUDIO_N 0x13c |
|---|
| 450 | +#define SOR_HDMI_AUDIO_N_LOOKUP (1 << 28) |
|---|
| 451 | +#define SOR_HDMI_AUDIO_N_RESET (1 << 20) |
|---|
| 452 | + |
|---|
| 385 | 453 | #define SOR_HDMI2_CTRL 0x13e |
|---|
| 386 | 454 | #define SOR_HDMI2_CTRL_CLOCK_MODE_DIV_BY_4 (1 << 1) |
|---|
| 387 | 455 | #define SOR_HDMI2_CTRL_SCRAMBLE (1 << 0) |
|---|