tegra124: set MOT bit for I2C-over-AUX
According to DP version 1.2a, The MOT (Middle-of-Transaction) bit must be set when the I2C transaction does not stop with the current AUX transaction. Thus the correct steps for an I2C read shall be: 1. I2C command write with MOT set to 1 2. I2C command read to the same address with MOT set to 0 BUG=chrome-os-partner:27679 TEST=EDID data read from LP140WH8 panel is correct while it's a repeated pattern of the first 16 bytes without this CL BRANCH=none Change-Id: I0526beffb8852fbbe0eb5bb80e370261617a59b8 Signed-off-by: Ken Chang <kenc@nvidia.com> Reviewed-on: https://chromium-review.googlesource.com/194915 Reviewed-by: Tom Warren <twarren@nvidia.com> Reviewed-by: Hung-Te Lin <hungte@chromium.org>
This commit is contained in:
parent
35f03f4f4f
commit
466ab0e007
1 changed files with 1 additions and 1 deletions
|
|
@ -337,7 +337,7 @@ int tegra_dc_i2c_aux_read(struct tegra_dc_dp_data *dp, u32 i2c_addr,
|
|||
|
||||
u32 len = 1;
|
||||
ret = tegra_dc_dpaux_write_chunk(
|
||||
dp, DPAUX_DP_AUXCTL_CMD_I2CWR, i2c_addr,
|
||||
dp, DPAUX_DP_AUXCTL_CMD_MOTWR, i2c_addr,
|
||||
&addr, &len, aux_stat);
|
||||
if (ret) {
|
||||
printk(BIOS_ERR, "%s: error sending address to read.\n",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue