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 49