diff options
author | xuxinxiong <xuxinxiong@huaqin.corp-partner.google.com> | 2021-10-26 20:16:21 +0800 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2021-11-02 08:17:21 +0000 |
commit | cb3745c407f0c19bfcab06b05549ad20948efff9 (patch) | |
tree | 7894248656ee79559c49bc9cdad7b27a99d9a2ec /src/lib | |
parent | 73161c644e61e7a6e18ebe0cbb04c573545d1e64 (diff) |
google/trogdor: Add backlight support for Parade ps8640
Add backlight support in ps8640 through the AUX channel using eDP
DPCD registers.
BUG=b:202966352
BRANCH=trogdor
TEST=verified firmware screen works on homestar rev4
Change-Id: Ief1bf56c89c8215427dcbddfc67e8bcd4c3607d2
Signed-off-by: xuxinxiong <xuxinxiong@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/58624
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/Makefile.inc | 1 | ||||
-rw-r--r-- | src/lib/dp_aux.c | 41 |
2 files changed, 42 insertions, 0 deletions
diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc index 693a526b66..0f96aebd7e 100644 --- a/src/lib/Makefile.inc +++ b/src/lib/Makefile.inc @@ -147,6 +147,7 @@ ramstage-$(CONFIG_BOOTSPLASH) += bootsplash.c ramstage-$(CONFIG_BOOTSPLASH) += jpeg.c ramstage-$(CONFIG_COLLECT_TIMESTAMPS) += timestamp.c ramstage-$(CONFIG_COVERAGE) += libgcov.c +ramstage-y += dp_aux.c ramstage-y += edid.c ramstage-y += edid_fill_fb.c ramstage-y += memrange.c diff --git a/src/lib/dp_aux.c b/src/lib/dp_aux.c new file mode 100644 index 0000000000..ee3ac8ab00 --- /dev/null +++ b/src/lib/dp_aux.c @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <delay.h> +#include <dp_aux.h> +#include <console/console.h> +#include <timer.h> + +bool dp_aux_request_is_write(enum aux_request request) +{ + switch (request) { + case I2C_RAW_WRITE_AND_STOP: + case I2C_RAW_WRITE: + case DPCD_WRITE: + return true; + default: + return false; + } +} + +enum i2c_over_aux dp_get_aux_cmd(enum aux_request request, uint32_t remaining_after_this) +{ + switch (request) { + case I2C_RAW_WRITE_AND_STOP: + if (!remaining_after_this) + return I2C_OVER_AUX_WRITE_MOT_0; + /* fallthrough */ + case I2C_RAW_WRITE: + return I2C_OVER_AUX_WRITE_MOT_1; + case I2C_RAW_READ_AND_STOP: + if (!remaining_after_this) + return I2C_OVER_AUX_READ_MOT_0; + /* fallthrough */ + case I2C_RAW_READ: + return I2C_OVER_AUX_READ_MOT_1; + case DPCD_WRITE: + return NATIVE_AUX_WRITE; + case DPCD_READ: + default: + return NATIVE_AUX_READ; + } +} |