[PATCH] drm/cec: Add CEC over Aux register definitions
clinton.a.taylor at intel.com
clinton.a.taylor at intel.com
Wed Apr 19 16:17:02 UTC 2017
From: Clint Taylor <clinton.a.taylor at intel.com>
Adding DPCD register definitions from the DP 1.3 specification for CEC
over AUX support.
Signed-off-by: Clint Taylor <clinton.a.taylor at intel.com>
---
include/drm/drm_dp_helper.h | 59 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index c0bd0d7..d188aff 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -603,6 +603,9 @@
#define DP_DEVICE_SERVICE_IRQ_VECTOR_ESI0 0x2003 /* 1.2 */
#define DP_DEVICE_SERVICE_IRQ_VECTOR_ESI1 0x2004 /* 1.2 */
+# define RX_GTC_MSTR_REQ_STATUS_CHANGE (1 << 0)
+# define LOCK_ACQUISITION_REQUEST (1 << 1)
+# define CEC_IRQ (1 << 2)
#define DP_LINK_SERVICE_IRQ_VECTOR_ESI0 0x2005 /* 1.2 */
@@ -636,6 +639,62 @@
# define DP_VSC_EXT_CEA_SDP_SUPPORTED (1 << 6) /* DP 1.4 */
# define DP_VSC_EXT_CEA_SDP_CHAINING_SUPPORTED (1 << 7) /* DP 1.4 */
+/* HDMI CEC tunneling over AUX DP 1.3 section 5.3.3.3.1 DPCD 1.4+ */
+#define CEC_TUNNELING_CAPABILITY 0x3000
+# define CEC_TUNNELING_CAPABLE (1 << 0)
+# define CEC_SNOOPING_CAPABLE (1 << 1)
+# define CEC_MULTIPLE_LA_CAPABLE (1 << 2)
+
+#define CEC_TUNNELING_CONTROL 0x3001
+# define CEC_TUNNELING_ENABLE (1 << 0)
+# define CEC_SNOOPING_ENABLE (1 << 1)
+
+#define CEC_RX_MESSAGE_INFO 0x3002
+# define CEC_RX_MESSAGE_LEN_MASK (0xf << 0)
+# define CEC_RX_MESSAGE_LEN_SHIFT 0
+# define CEC_RX_MESSAGE_HPD_STATE (1 << 4)
+# define CEC_RX_MESSAGE_HPD_LOST (1 << 5)
+# define CEC_RX_MESSAGE_ACKED (1 << 6)
+# define CEC_RX_MESSAGE_ENDED (1 << 7)
+
+#define CEC_TX_MESSAGE_INFO 0x3003
+# define CEC_TX_MESSAGE_LEN_MASK (0xf << 0)
+# define CEC_TX_MESSAGE_LEN_SHIFT 0
+# define CEC_TX_RETRY_COUNT_MASK (0x7 << 4)
+# define CEC_TX_RETRY_COUNT_SHIFT 4
+# define CEC_TX_MESSAGE_SEND (1 << 7)
+
+#define CEC_TUNNELING_IRQ_FLAGS 0x3004
+# define CEC_RX_MESSAGE_INFO_VALID (1 << 0)
+# define CEC_RX_MESSAGE_OVERFLOW (1 << 1)
+# define CEC_TX_MESSAGE_SENT (1 << 4)
+# define CEC_TX_LINE_ERROR (1 << 5)
+# define CEC_TX_ADDRESS_NACK_ERROR (1 << 6)
+# define CEC_TX_DATA_NACK_ERROR (1 << 7)
+
+#define CEC_LOGICAL_ADDRESS_MASK 0x300E /* 0x300F word */
+# define CEC_LOGICAL_ADDRESS_0 (1 << 0)
+# define CEC_LOGICAL_ADDRESS_1 (1 << 1)
+# define CEC_LOGICAL_ADDRESS_2 (1 << 2)
+# define CEC_LOGICAL_ADDRESS_3 (1 << 3)
+# define CEC_LOGICAL_ADDRESS_4 (1 << 4)
+# define CEC_LOGICAL_ADDRESS_5 (1 << 5)
+# define CEC_LOGICAL_ADDRESS_6 (1 << 6)
+# define CEC_LOGICAL_ADDRESS_7 (1 << 7)
+#define CEC_LOGICAL_ADDRESS_MASK_2 0x300F /* 0x300E word */
+# define CEC_LOGICAL_ADDRESS_8 (1 << 0)
+# define CEC_LOGICAL_ADDRESS_9 (1 << 1)
+# define CEC_LOGICAL_ADDRESS_10 (1 << 2)
+# define CEC_LOGICAL_ADDRESS_11 (1 << 3)
+# define CEC_LOGICAL_ADDRESS_12 (1 << 4)
+# define CEC_LOGICAL_ADDRESS_13 (1 << 5)
+# define CEC_LOGICAL_ADDRESS_14 (1 << 6)
+# define CEC_LOGICAL_ADDRESS_15 (1 << 7)
+
+#define CEC_RX_MESSAGE_BUFFER 0x3010
+#define CEC_TX_MESSAGE_BUFFER 0x3020
+#define CEC_MESSAGE_BUFFER_LENGTH 0x10
+
/* DP 1.2 Sideband message defines */
/* peer device type - DP 1.2a Table 2-92 */
#define DP_PEER_DEVICE_NONE 0x0
--
1.7.9.5
More information about the dri-devel
mailing list