xuxinxiong | cb3745c | 2021-10-26 20:16:21 +0800 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
| 2 | |
| 3 | #ifndef _DP_AUX_H_ |
| 4 | #define _DP_AUX_H_ |
| 5 | |
| 6 | #include <types.h> |
| 7 | |
| 8 | enum { |
| 9 | EDID_LENGTH = 128, |
| 10 | EDID_I2C_ADDR = 0x50, |
| 11 | EDID_EXTENSION_FLAG = 0x7e, |
| 12 | }; |
| 13 | |
| 14 | enum 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 | |
| 25 | enum 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 | |
| 45 | bool dp_aux_request_is_write(enum aux_request request); |
| 46 | enum i2c_over_aux dp_get_aux_cmd(enum aux_request request, uint32_t remaining_after_this); |
| 47 | |
| 48 | #endif |