mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
UPSTREAM: google/pyro: set i2c bus timings by rise/fall times
Provide the rise and fall times for the i2c buses and let the library perform the necessary calculations for the i2c controller registers instead of manually tuning the values. BUG=chrome-os-partner:58112 BRANCH=master TEST=emerge-pyro coreboot Signed-off-by: Kevin Chiu <Kevin.Chiu@quantatw.com> Reviewed-on: https://review.coreboot.org/17652 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org> Change-Id: I68be9b96dc731eb0084ee5e15921866818637e73 Reviewed-on: https://chromium-review.googlesource.com/416166 Commit-Ready: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
34d5165c90
commit
f6c4a544a0
1 changed files with 12 additions and 29 deletions
|
@ -71,50 +71,33 @@ chip soc/intel/apollolake
|
|||
register "gpe0_dw2" = "PMC_GPE_N_63_32"
|
||||
register "gpe0_dw3" = "PMC_GPE_SW_31_0"
|
||||
|
||||
# Limit I2C0 Audio codec da7219 speed to 400kHz with manually tuned values.
|
||||
# Enable I2C0 for audio codec at 400kHz
|
||||
register "i2c[0]" = "{
|
||||
.speed = I2C_SPEED_FAST,
|
||||
.speed_config[0] = {
|
||||
.speed = I2C_SPEED_FAST,
|
||||
.scl_lcnt = 0xd0,
|
||||
.scl_hcnt = 0x68,
|
||||
.sda_hold = 0x27,
|
||||
}
|
||||
.rise_time_ns = 104,
|
||||
.fall_time_ns = 52,
|
||||
}"
|
||||
|
||||
# Enable I2C2 bus early for TPM access and configure as 400kHz
|
||||
# with manually tuned values.
|
||||
# Enable I2C2 bus early for TPM at 400kHz
|
||||
register "i2c[2]" = "{
|
||||
.early_init = 1,
|
||||
.speed = I2C_SPEED_FAST,
|
||||
.speed_config[0] = {
|
||||
.speed = I2C_SPEED_FAST,
|
||||
.scl_lcnt = 0xd0,
|
||||
.scl_hcnt = 0x68,
|
||||
.sda_hold = 0x27,
|
||||
}
|
||||
.rise_time_ns = 50,
|
||||
.fall_time_ns = 23,
|
||||
}"
|
||||
|
||||
# Limit I2C3 WACOM touchscreen speed to 400kHz with manually tuned values.
|
||||
# touchscreen at 400kHz
|
||||
register "i2c[3]" = "{
|
||||
.speed = I2C_SPEED_FAST,
|
||||
.speed_config[0] = {
|
||||
.speed = I2C_SPEED_FAST,
|
||||
.scl_lcnt = 0xd0,
|
||||
.scl_hcnt = 0x68,
|
||||
.sda_hold = 0x27,
|
||||
}
|
||||
.rise_time_ns = 76,
|
||||
.fall_time_ns = 164,
|
||||
}"
|
||||
|
||||
# Limit trackpad speed to 400kHz with manually tuned values.
|
||||
# trackpad at 400kHz
|
||||
register "i2c[4]" = "{
|
||||
.speed = I2C_SPEED_FAST,
|
||||
.speed_config[0] = {
|
||||
.speed = I2C_SPEED_FAST,
|
||||
.scl_lcnt = 0xd0,
|
||||
.scl_hcnt = 0x68,
|
||||
.sda_hold = 0x27,
|
||||
}
|
||||
.rise_time_ns = 90,
|
||||
.fall_time_ns = 164,
|
||||
}"
|
||||
|
||||
# Minimum SLP S3 assertion width 28ms.
|
||||
|
|
Loading…
Add table
Reference in a new issue