From 35d7d586cd7a2a350d813697813ff8496edc1353 Mon Sep 17 00:00:00 2001 From: Kevin Chiu Date: Wed, 30 Nov 2016 16:30:28 +0800 Subject: [PATCH] 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 Change-Id: I68be9b96dc731eb0084ee5e15921866818637e73 Signed-off-by: Kevin Chiu Reviewed-on: https://review.coreboot.org/17652 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- .../google/reef/variants/pyro/devicetree.cb | 41 ++++++------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/src/mainboard/google/reef/variants/pyro/devicetree.cb b/src/mainboard/google/reef/variants/pyro/devicetree.cb index 4f17f98a76..b5e050ea4f 100644 --- a/src/mainboard/google/reef/variants/pyro/devicetree.cb +++ b/src/mainboard/google/reef/variants/pyro/devicetree.cb @@ -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.