summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Chiu <Kevin.Chiu@quantatw.com>2016-11-09 09:52:55 +0800
committerMartin Roth <martinroth@google.com>2016-11-10 16:50:48 +0100
commit961d6d45a6c5520c7a379c4d9b3002d1e8320e3e (patch)
treeaacea9043917f93f684bdcf41710591f3991fa5f
parent49ef5aa99b567b6d01428c5f43e55f5808712921 (diff)
google/pyro: Tune i2c frequency to 400 Khz
tune i2c devices clk for pyro: I2C0: audio da7219 I2C2: TPM H1 I2C3: wacom touchscreen I2C4: elan touchpad BUG=chrome-os-partner:58881 BRANCH=master TEST=emerge-pyro coreboot chromeos-bootimage Change-Id: If3c92ed260277c27a94d2fcf7883e9441519e40e Signed-off-by: Kevin Chiu <Kevin.Chiu@quantatw.com> Reviewed-on: https://review.coreboot.org/17331 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rw-r--r--src/mainboard/google/reef/variants/pyro/devicetree.cb47
1 files changed, 45 insertions, 2 deletions
diff --git a/src/mainboard/google/reef/variants/pyro/devicetree.cb b/src/mainboard/google/reef/variants/pyro/devicetree.cb
index 0e71398d6a..7405b37edc 100644
--- a/src/mainboard/google/reef/variants/pyro/devicetree.cb
+++ b/src/mainboard/google/reef/variants/pyro/devicetree.cb
@@ -66,8 +66,51 @@ 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"
+ # Limit I2C0 Audio codec da7219 speed to 400kHz with manually tuned values.
+ register "i2c[0]" = "{
+ .speed = I2C_SPEED_FAST,
+ .speed_config[0] = {
+ .speed = I2C_SPEED_FAST,
+ .scl_lcnt = 0xd0,
+ .scl_hcnt = 0x68,
+ .sda_hold = 0x27,
+ }
+ }"
+
+ # Enable I2C2 bus early for TPM access and configure as 400kHz
+ # with manually tuned values.
+ 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,
+ }
+ }"
+
+ # Limit I2C3 WACOM touchscreen speed to 400kHz with manually tuned values.
+ register "i2c[3]" = "{
+ .speed = I2C_SPEED_FAST,
+ .speed_config[0] = {
+ .speed = I2C_SPEED_FAST,
+ .scl_lcnt = 0xd0,
+ .scl_hcnt = 0x68,
+ .sda_hold = 0x27,
+ }
+ }"
+
+ # Limit trackpad speed to 400kHz with manually tuned values.
+ register "i2c[4]" = "{
+ .speed = I2C_SPEED_FAST,
+ .speed_config[0] = {
+ .speed = I2C_SPEED_FAST,
+ .scl_lcnt = 0xd0,
+ .scl_hcnt = 0x68,
+ .sda_hold = 0x27,
+ }
+ }"
# Minimum SLP S3 assertion width 28ms.
register "slp_s3_assertion_width_usecs" = "28000"