[coreboot-gerrit] New patch to review for coreboot: mainboard/google/snappy: Tune i2c frequency to 400 Khz

Wisley Chen (wisley.chen@quantatw.com) gerrit at coreboot.org
Tue Nov 29 04:58:27 CET 2016


Wisley Chen (wisley.chen at quantatw.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17634

-gerrit

commit 8d4f27af90d3aaffc5a677ec50b6eef12393d2ed
Author: Wisley Chen <wisley.chen at quantatw.com>
Date:   Sun Nov 27 16:56:30 2016 +0800

    mainboard/google/snappy: Tune i2c frequency to 400 Khz
    
    tune i2c devices clk for snappy:
    I2C0: audio
    I2C2: TPM H1
    I2C3: elan touchscreen
    I2C4: elan touchpad
    I2C5: wacom digitizer
    
    BUG=chrome-os-partner:59034
    BRANCH=master
    TEST=emerge-snappy coreboot chromeos-bootimage, and measured on EVT.
    audio:
      Freq. 393.7kHz
      Rise Time 58.8ns
      Fall time 12.11ns
    TPM H1:
      Freq. 398.8kHz
      Rise Time 31.71ns
      Fall time 13.28ns
    elan touchscreen:
      Freq. 390.5kHz
      Rise Time 235.7ns
      Fall time 37.64ns
    elan touchpad:
      Freq. 393.7kHz
      Rise Time 288.8ns
      Fall time 51.67ns
    wacom digitizer:
      Freq. 388.8kHz
      Rise Time 124.1ns
      Fall time 21.10ns
    
    Change-Id: Ib2be9e1575d4962476423eafa80f9bb10ba40e17
    Signed-off-by: Wisley Chen <wisley.chen at quantatw.com>
---
 .../google/reef/variants/snappy/devicetree.cb      | 37 ++++++++++++++++++++--
 1 file changed, 35 insertions(+), 2 deletions(-)

diff --git a/src/mainboard/google/reef/variants/snappy/devicetree.cb b/src/mainboard/google/reef/variants/snappy/devicetree.cb
index 00df9bd..91e2e96 100644
--- a/src/mainboard/google/reef/variants/snappy/devicetree.cb
+++ b/src/mainboard/google/reef/variants/snappy/devicetree.cb
@@ -71,8 +71,41 @@ chip soc/intel/apollolake
 	register "gpe0_dw2" = "PMC_GPE_N_63_32"
 	register "gpe0_dw3" = "PMC_GPE_SW_31_0"
 
-	# Enable I2C2 bus early for TPM access
-	register "i2c[2].early_init" = "1"
+	# Enable I2C0 for audio codec at 400kHz
+	register "i2c[0]" = "{
+		.speed = I2C_SPEED_FAST,
+		.rise_time_ns = 44,
+		.fall_time_ns = 22,
+	}"
+
+	# Enable I2C2 bus early for TPM at 400kHz
+	register "i2c[2]" = "{
+		.early_init = 1,
+		.speed = I2C_SPEED_FAST,
+		.rise_time_ns = 40,
+		.fall_time_ns = 20,
+	}"
+
+	# touchscreen at 400kHz
+	register "i2c[3]" = "{
+		.speed = I2C_SPEED_FAST,
+		.rise_time_ns = 70,
+		.fall_time_ns = 164,
+	}"
+
+	# trackpad at 400kHz
+	register "i2c[4]" = "{
+		.speed = I2C_SPEED_FAST,
+		.rise_time_ns = 20,
+		.fall_time_ns = 164,
+	}"
+
+	# digitizer at 400kHz
+	register "i2c[5]" = "{
+		.speed = I2C_SPEED_FAST,
+		.rise_time_ns = 152,
+		.fall_time_ns = 30,
+	}"
 
 	# Minimum SLP S3 assertion width 28ms.
 	register "slp_s3_assertion_width_usecs" = "28000"



More information about the coreboot-gerrit mailing list