blob: ce93383a637e759970ad182ddd435aa8cc2d1180 [file] [log] [blame]
xuxinxiongcb3745c2021-10-26 20:16:21 +08001/* SPDX-License-Identifier: GPL-2.0-only */
2
3#ifndef _DP_AUX_H_
4#define _DP_AUX_H_
5
6#include <types.h>
7
8enum {
9 EDID_LENGTH = 128,
10 EDID_I2C_ADDR = 0x50,
11 EDID_EXTENSION_FLAG = 0x7e,
12};
13
14enum i2c_over_aux {
15 I2C_OVER_AUX_WRITE_MOT_0 = 0x0,
16 I2C_OVER_AUX_READ_MOT_0 = 0x1,
17 I2C_OVER_AUX_WRITE_STATUS_UPDATE_0 = 0x2,
18 I2C_OVER_AUX_WRITE_MOT_1 = 0x4,
19 I2C_OVER_AUX_READ_MOT_1 = 0x5,
20 I2C_OVER_AUX_WRITE_STATUS_UPDATE_1 = 0x6,
21 NATIVE_AUX_WRITE = 0x8,
22 NATIVE_AUX_READ = 0x9,
23};
24
25enum aux_request {
26 DPCD_READ,
27 DPCD_WRITE,
28 I2C_RAW_READ,
29 I2C_RAW_WRITE,
30 I2C_RAW_READ_AND_STOP,
31 I2C_RAW_WRITE_AND_STOP,
32};
33
34/* Backlight configuration */
35#define DP_BACKLIGHT_MODE_SET 0x721
36#define DP_BACKLIGHT_CONTROL_MODE_MASK 0x3
37#define DP_BACKLIGHT_CONTROL_MODE_DPCD 0x2
38#define DP_DISPLAY_CONTROL_REGISTER 0x720
39#define DP_BACKLIGHT_ENABLE 0x1
40#define DP_BACKLIGHT_BRIGHTNESS_MSB 0x722
41
42#define DP_AUX_MAX_PAYLOAD_BYTES 16
43
44
45bool dp_aux_request_is_write(enum aux_request request);
46enum i2c_over_aux dp_get_aux_cmd(enum aux_request request, uint32_t remaining_after_this);
47
48#endif