summaryrefslogtreecommitdiff
path: root/src/mainboard/google/reef
diff options
context:
space:
mode:
authorSubrata Banik <subrata.banik@intel.com>2018-05-09 14:55:09 +0530
committerSubrata Banik <subrata.banik@intel.com>2018-06-06 06:23:45 +0000
commitc4986eb7f4eee0f305c6a6f05b45effae152062c (patch)
tree46185566d98e49bbfa60acfdedc60e1e423823d3 /src/mainboard/google/reef
parentf513cebd8b966c15e3c8abcd2d0f540607ea5964 (diff)
downloadcoreboot-c4986eb7f4eee0f305c6a6f05b45effae152062c.tar.xz
soc/intel/common/block: Add common chip config block
Adding common chip config structure which will be used to return data to common code. When common code requires soc data, code used to fetch entire soc config structure. With this change, common code will only get the data/structure which is required by common code and not entire config. For now, adding i2c, gspi and lockdown configuration which will be used by common code. BUG=none BRANCH=b:78109109 TEST=compile code for APL/SKL/CNL. Boot using SKL/APL/CNL and check values are returned properly using common structure. Change-Id: I7f1671e064782397d3ace066a08bf1333192b21a Signed-off-by: Subrata Banik <subrata.banik@intel.com> Signed-off-by: Maulik V Vaghela <maulik.v.vaghela@intel.com> Reviewed-on: https://review.coreboot.org/26189 Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Hannah Williams <hannah.williams@intel.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/google/reef')
-rw-r--r--src/mainboard/google/reef/variants/baseboard/devicetree.cb73
-rw-r--r--src/mainboard/google/reef/variants/coral/devicetree.cb73
-rw-r--r--src/mainboard/google/reef/variants/pyro/devicetree.cb58
-rw-r--r--src/mainboard/google/reef/variants/sand/devicetree.cb71
-rw-r--r--src/mainboard/google/reef/variants/snappy/devicetree.cb71
5 files changed, 181 insertions, 165 deletions
diff --git a/src/mainboard/google/reef/variants/baseboard/devicetree.cb b/src/mainboard/google/reef/variants/baseboard/devicetree.cb
index da47d42d32..da842ba6e6 100644
--- a/src/mainboard/google/reef/variants/baseboard/devicetree.cb
+++ b/src/mainboard/google/reef/variants/baseboard/devicetree.cb
@@ -76,41 +76,44 @@ chip soc/intel/apollolake
register "gpe0_dw2" = "PMC_GPE_N_63_32"
register "gpe0_dw3" = "PMC_GPE_SW_31_0"
- # Enable I2C0 for audio codec at 400kHz
- register "i2c[0]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 104,
- .fall_time_ns = 52,
- }"
-
- # Enable I2C2 bus early for TPM at 400kHz
- register "i2c[2]" = "{
- .early_init = 1,
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 57,
- .fall_time_ns = 28,
- }"
-
- # touchscreen at 400kHz
- register "i2c[3]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 76,
- .fall_time_ns = 164,
- }"
-
- # trackpad at 400kHz
- register "i2c[4]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 114,
- .fall_time_ns = 164,
- .data_hold_time_ns = 350,
- }"
-
- # digitizer at 400kHz
- register "i2c[5]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 152,
- .fall_time_ns = 30,
+ # Intel Common SoC Config
+ #+-------------------+---------------------------+
+ #| Field | Value |
+ #+-------------------+---------------------------+
+ #| I2C0 | Audio |
+ #| I2C2 | TPM |
+ #| I2C3 | Touchscreen |
+ #| I2C4 | Trackpad |
+ #| I2C5 | Digitizer |
+ #+-------------------+---------------------------+
+ register "common_soc_config" = "{
+ .i2c[0] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 104,
+ .fall_time_ns = 52,
+ },
+ .i2c[2] = {
+ .early_init = 1,
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 57,
+ .fall_time_ns = 28,
+ },
+ .i2c[3] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 76,
+ .fall_time_ns = 164,
+ },
+ .i2c[4] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 114,
+ .fall_time_ns = 164,
+ .data_hold_time_ns = 350,
+ },
+ .i2c[5] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 152,
+ .fall_time_ns = 30,
+ },
}"
# Minimum SLP S3 assertion width 28ms.
diff --git a/src/mainboard/google/reef/variants/coral/devicetree.cb b/src/mainboard/google/reef/variants/coral/devicetree.cb
index c1b7067711..1608343d3c 100644
--- a/src/mainboard/google/reef/variants/coral/devicetree.cb
+++ b/src/mainboard/google/reef/variants/coral/devicetree.cb
@@ -76,41 +76,44 @@ chip soc/intel/apollolake
register "gpe0_dw2" = "PMC_GPE_N_63_32"
register "gpe0_dw3" = "PMC_GPE_SW_31_0"
- # Enable I2C0 for audio codec at 400kHz
- register "i2c[0]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 104,
- .fall_time_ns = 52,
- }"
-
- # Enable I2C2 bus early for TPM at 400kHz
- register "i2c[2]" = "{
- .early_init = 1,
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 57,
- .fall_time_ns = 28,
- }"
-
- # touchscreen at 400kHz
- register "i2c[3]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 76,
- .fall_time_ns = 164,
- }"
-
- # trackpad at 400kHz
- register "i2c[4]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 114,
- .fall_time_ns = 164,
- .data_hold_time_ns = 350,
- }"
-
- # digitizer at 400kHz
- register "i2c[5]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 152,
- .fall_time_ns = 30,
+ # Intel Common SoC Config
+ #+-------------------+---------------------------+
+ #| Field | Value |
+ #+-------------------+---------------------------+
+ #| I2C0 | Audio |
+ #| I2C2 | TPM |
+ #| I2C3 | Touchscreen |
+ #| I2C4 | Trackpad |
+ #| I2C5 | Digitizer |
+ #+-------------------+---------------------------+
+ register "common_soc_config" = "{
+ .i2c[0] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 104,
+ .fall_time_ns = 52,
+ },
+ .i2c[2] = {
+ .early_init = 1,
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 57,
+ .fall_time_ns = 28,
+ },
+ .i2c[3] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 76,
+ .fall_time_ns = 164,
+ },
+ .i2c[4] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 114,
+ .fall_time_ns = 164,
+ .data_hold_time_ns = 350,
+ },
+ .i2c[5] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 152,
+ .fall_time_ns = 30,
+ },
}"
# Minimum SLP S3 assertion width 28ms.
diff --git a/src/mainboard/google/reef/variants/pyro/devicetree.cb b/src/mainboard/google/reef/variants/pyro/devicetree.cb
index cb297d9dce..c2d67aa17e 100644
--- a/src/mainboard/google/reef/variants/pyro/devicetree.cb
+++ b/src/mainboard/google/reef/variants/pyro/devicetree.cb
@@ -76,33 +76,37 @@ chip soc/intel/apollolake
register "gpe0_dw2" = "PMC_GPE_N_63_32"
register "gpe0_dw3" = "PMC_GPE_SW_31_0"
- # Enable I2C0 for audio codec at 400kHz
- register "i2c[0]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 104,
- .fall_time_ns = 52,
- }"
-
- # Enable I2C2 bus early for TPM at 400kHz
- register "i2c[2]" = "{
- .early_init = 1,
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 50,
- .fall_time_ns = 23,
- }"
-
- # touchscreen at 400kHz
- register "i2c[3]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 76,
- .fall_time_ns = 164,
- }"
-
- # trackpad at 400kHz
- register "i2c[4]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 90,
- .fall_time_ns = 164,
+ # Intel Common SoC Config
+ #+-------------------+---------------------------+
+ #| Field | Value |
+ #+-------------------+---------------------------+
+ #| I2C0 | Audio |
+ #| I2C2 | TPM |
+ #| I2C3 | Touchscreen |
+ #| I2C4 | Trackpad |
+ #+-------------------+---------------------------+
+ register "common_soc_config" = "{
+ .i2c[0] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 104,
+ .fall_time_ns = 52,
+ },
+ .i2c[2] = {
+ .early_init = 1,
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 50,
+ .fall_time_ns = 23,
+ },
+ .i2c[3] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 76,
+ .fall_time_ns = 164,
+ },
+ .i2c[4] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 90,
+ .fall_time_ns = 164,
+ },
}"
# Minimum SLP S3 assertion width 28ms.
diff --git a/src/mainboard/google/reef/variants/sand/devicetree.cb b/src/mainboard/google/reef/variants/sand/devicetree.cb
index 16889bb8c9..68f33ae074 100644
--- a/src/mainboard/google/reef/variants/sand/devicetree.cb
+++ b/src/mainboard/google/reef/variants/sand/devicetree.cb
@@ -73,40 +73,43 @@ chip soc/intel/apollolake
register "gpe0_dw2" = "PMC_GPE_N_63_32"
register "gpe0_dw3" = "PMC_GPE_SW_31_0"
- # Enable I2C0 for audio codec at 400kHz
- register "i2c[0]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 104,
- .fall_time_ns = 52,
- }"
-
- # Enable I2C2 bus early for TPM at 400kHz
- register "i2c[2]" = "{
- .early_init = 1,
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 57,
- .fall_time_ns = 28,
- }"
-
- # touchscreen at 400kHz
- register "i2c[3]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 76,
- .fall_time_ns = 164,
- }"
-
- # trackpad at 400kHz
- register "i2c[4]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 114,
- .fall_time_ns = 164,
- }"
-
- # digitizer at 400kHz
- register "i2c[5]" = "{
- .speed = I2C_SPEED_FAST,
- .rise_time_ns = 152,
- .fall_time_ns = 30,
+ # Intel Common SoC Config
+ #+-------------------+---------------------------+
+ #| Field | Value |
+ #+-------------------+---------------------------+
+ #| I2C0 | Audio |
+ #| I2C2 | TPM |
+ #| I2C3 | Touchscreen |
+ #| I2C4 | Trackpad |
+ #| I2C5 | Digitizer |
+ #+-------------------+---------------------------+
+ register "common_soc_config" = "{
+ .i2c[0] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 104,
+ .fall_time_ns = 52,
+ },
+ .i2c[2] = {
+ .early_init = 1,
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 57,
+ .fall_time_ns = 28,
+ },
+ .i2c[3] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 76,
+ .fall_time_ns = 164,
+ },
+ .i2c[4] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 114,
+ .fall_time_ns = 164,
+ },
+ .i2c[5] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 152,
+ .fall_time_ns = 30,
+ },
}"
# Minimum SLP S3 assertion width 28ms.
diff --git a/src/mainboard/google/reef/variants/snappy/devicetree.cb b/src/mainboard/google/reef/variants/snappy/devicetree.cb
index 9719368080..aaf61de6ae 100644
--- a/src/mainboard/google/reef/variants/snappy/devicetree.cb
+++ b/src/mainboard/google/reef/variants/snappy/devicetree.cb
@@ -76,40 +76,43 @@ chip soc/intel/apollolake
register "gpe0_dw2" = "PMC_GPE_N_63_32"
register "gpe0_dw3" = "PMC_GPE_SW_31_0"
- # 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,
+ # Intel Common SoC Config
+ #+-------------------+---------------------------+
+ #| Field | Value |
+ #+-------------------+---------------------------+
+ #| I2C0 | Audio |
+ #| I2C2 | TPM |
+ #| I2C3 | Touchscreen |
+ #| I2C4 | Trackpad |
+ #| I2C5 | Digitizer |
+ #+-------------------+---------------------------+
+ register "common_soc_config" = "{
+ .i2c[0] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 44,
+ .fall_time_ns = 22,
+ },
+ .i2c[2] = {
+ .early_init = 1,
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 40,
+ .fall_time_ns = 20,
+ },
+ .i2c[3] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 70,
+ .fall_time_ns = 164,
+ },
+ .i2c[4] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 20,
+ .fall_time_ns = 164,
+ },
+ .i2c[5] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 152,
+ .fall_time_ns = 30,
+ },
}"
# Minimum SLP S3 assertion width 28ms.