mb/siemens/mc_apl{1,2,3,5,6}: Provide I2C timings for 400 kHz

The I2C bus at which the external RTC is attached to is operated at
standard speed (100 kHz) at coreboot runtime. The OS can choose to run it
at fast speed since it uses its own driver and controller setup.

Report additional bus timings for fast mode so that OS can do it right.

Change-Id: I82e11e5dde8ad1047713f105c5a6d020eebf1ffd
Signed-off-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55089
Reviewed-by: Mario Scheithauer <mario.scheithauer@siemens.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Werner Zeh 2021-05-31 07:15:36 +02:00 committed by Patrick Georgi
parent 1e02ad3f5a
commit a67bda339e
5 changed files with 35 additions and 5 deletions

View File

@ -49,7 +49,13 @@ chip soc/intel/apollolake
.speed = I2C_SPEED_STANDARD,
.rise_time_ns = 160,
.fall_time_ns = 110,
.data_hold_time_ns = 300
.data_hold_time_ns = 300,
.speed_config[0] = {
.speed = I2C_SPEED_FAST,
.scl_hcnt = 0x58,
.scl_lcnt = 0xcf,
.sda_hold = 0x28
},
},
}"

View File

@ -47,7 +47,13 @@ chip soc/intel/apollolake
.speed = I2C_SPEED_STANDARD,
.rise_time_ns = 60,
.fall_time_ns = 20,
.data_hold_time_ns = 300
.data_hold_time_ns = 300,
.speed_config[0] = {
.speed = I2C_SPEED_FAST,
.scl_hcnt = 0x68,
.scl_lcnt = 0xd4,
.sda_hold = 0x28
},
},
}"

View File

@ -44,7 +44,13 @@ chip soc/intel/apollolake
.speed = I2C_SPEED_STANDARD,
.rise_time_ns = 40,
.fall_time_ns = 10,
.data_hold_time_ns = 300
.data_hold_time_ns = 300,
.speed_config[0] = {
.speed = I2C_SPEED_FAST,
.scl_hcnt = 0x68,
.scl_lcnt = 0xd1,
.sda_hold = 0x28
},
},
}"

View File

@ -47,7 +47,13 @@ chip soc/intel/apollolake
.speed = I2C_SPEED_STANDARD,
.rise_time_ns = 160,
.fall_time_ns = 110,
.data_hold_time_ns = 300
.data_hold_time_ns = 300,
.speed_config[0] = {
.speed = I2C_SPEED_FAST,
.scl_hcnt = 0x5b,
.scl_lcnt = 0xce,
.sda_hold = 0x28
},
},
}"

View File

@ -18,7 +18,13 @@ chip soc/intel/apollolake
.speed = I2C_SPEED_STANDARD,
.rise_time_ns = 40,
.fall_time_ns = 10,
.data_hold_time_ns = 300
.data_hold_time_ns = 300,
.speed_config[0] = {
.speed = I2C_SPEED_FAST,
.scl_hcnt = 0x68,
.scl_lcnt = 0xd1,
.sda_hold = 0x28
},
}
}"