summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWisley Chen <wisley.chen@quantatw.com>2016-11-27 16:56:30 +0800
committerMartin Roth <martinroth@google.com>2016-11-30 16:53:02 +0100
commit1612cef81f20cb955d591f3cebcf864d784856ac (patch)
tree7cd5c7153f568f4ed0f67d18dfc85097d4bae189
parent96e9ff168ca52f3bb06606b65fb07ba5e4e7bb50 (diff)
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@quantatw.com> Reviewed-on: https://review.coreboot.org/17634 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins)
-rw-r--r--src/mainboard/google/reef/variants/snappy/devicetree.cb37
1 files 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 b024682aae..e46483e3b0 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"