[coreboot-gerrit] New patch to review for coreboot: google/pyro: set i2c bus timings by rise/fall times

Kevin Chiu (Kevin.Chiu@quantatw.com) gerrit at coreboot.org
Wed Nov 30 09:34:58 CET 2016


Kevin Chiu (Kevin.Chiu at quantatw.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17652

-gerrit

commit f3b61eaf051bb90f7ade35ae2d94b023fa3d4bc7
Author: Kevin Chiu <Kevin.Chiu at quantatw.com>
Date:   Wed Nov 30 16:30:28 2016 +0800

    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 <Kevin.Chiu at quantatw.com>
---
 .../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 d5745b4..3520add 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 = 57,
+		.fall_time_ns = 28,
 	}"
 
-	# 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.



More information about the coreboot-gerrit mailing list