Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
 1/* SPDX-License-Identifier: MIT */
 2/*
 3 * Copyright (C) 2017 Google, Inc.
 4 *
 5 * Authors:
 6 * Sean Paul <seanpaul@chromium.org>
 7 */
 8
 9#ifndef _DRM_HDCP_H_INCLUDED_
10#define _DRM_HDCP_H_INCLUDED_
11
12/* Period of hdcp checks (to ensure we're still authenticated) */
13#define DRM_HDCP_CHECK_PERIOD_MS		(128 * 16)
14
15/* Shared lengths/masks between HDMI/DVI/DisplayPort */
16#define DRM_HDCP_AN_LEN				8
17#define DRM_HDCP_BSTATUS_LEN			2
18#define DRM_HDCP_KSV_LEN			5
19#define DRM_HDCP_RI_LEN				2
20#define DRM_HDCP_V_PRIME_PART_LEN		4
21#define DRM_HDCP_V_PRIME_NUM_PARTS		5
22#define DRM_HDCP_NUM_DOWNSTREAM(x)		(x & 0x7f)
23#define DRM_HDCP_MAX_CASCADE_EXCEEDED(x)	(x & BIT(3))
24#define DRM_HDCP_MAX_DEVICE_EXCEEDED(x)		(x & BIT(7))
25
26/* Slave address for the HDCP registers in the receiver */
27#define DRM_HDCP_DDC_ADDR			0x3A
28
29/* HDCP register offsets for HDMI/DVI devices */
30#define DRM_HDCP_DDC_BKSV			0x00
31#define DRM_HDCP_DDC_RI_PRIME			0x08
32#define DRM_HDCP_DDC_AKSV			0x10
33#define DRM_HDCP_DDC_AN				0x18
34#define DRM_HDCP_DDC_V_PRIME(h)			(0x20 + h * 4)
35#define DRM_HDCP_DDC_BCAPS			0x40
36#define  DRM_HDCP_DDC_BCAPS_REPEATER_PRESENT	BIT(6)
37#define  DRM_HDCP_DDC_BCAPS_KSV_FIFO_READY	BIT(5)
38#define DRM_HDCP_DDC_BSTATUS			0x41
39#define DRM_HDCP_DDC_KSV_FIFO			0x43
40
41#endif