coreboot/src
Duncan Laurie 222381e390 skylake: Generate ACPI timing values for I2C devices
Have the Skylake SOC generate ACPI timing values for the enabled I2C
controllers instead of passing it in the DSDT with static timings.

The timing values are generated from the controller clock speed and
are more accurate than the hardcoded values that were in the ASL which
were originally copied from Broadwell where the controller is running
at a different clock speed...

Additionally it is now possible for a board to override the values
using devicetree.cb.  If zero is passed in for SCL HCNT or LCNT then
the kernel will generate its own timing using the same forumla, but if
the SDA hold time value is zero the kernel will NOT generate a correct
value and the SDA hold time may be incorrect.

This was tested on the Chell platform to ensure all the I2C devices on
the board are still operational with these new timing values.

Change-Id: I4feb3df9e083592792f8fadd7105e081a984a906
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://review.coreboot.org/15291
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2016-07-01 18:51:51 +02:00
..
acpi
arch riscv/bootblock.S: Register machine-mode, not supervisor-mode trap handler 2016-06-28 18:54:02 +02:00
commonlib region: Add writeat and eraseat support 2016-06-24 20:48:12 +02:00
console console/post: be explicit about conditional cmos_post_log() compiling 2016-05-25 18:04:11 +02:00
cpu AMD k8 fam10: Refactor S3 recovery 2016-06-29 07:33:58 +02:00
device device: i2c: Add support for I2C bus operations 2016-06-09 17:05:40 +02:00
drivers intel romstage: Use run_ramstage() 2016-06-29 07:32:43 +02:00
ec ec/google: Add support for the EC 'get time' function 2016-06-24 20:22:52 +02:00
include lib/nhlt: drop nhlt_soc_add_endpoint() 2016-06-29 23:15:37 +02:00
lib lib/nhlt: add helper functions for adding endpoints 2016-06-29 23:13:54 +02:00
mainboard mainboard/google/reef: Configure DDI0, DDI1 HPD GPIO lines 2016-07-01 03:52:57 +02:00
northbridge intel/i945: Use common ACPI S3 recovery 2016-06-26 14:03:02 +02:00
soc skylake: Generate ACPI timing values for I2C devices 2016-07-01 18:51:51 +02:00
southbridge intel romstage: Use run_ramstage() 2016-06-29 07:32:43 +02:00
superio sio/winbond/w83667hg-a: Add pinmux defines for UART B 2016-05-29 19:34:54 +02:00
vendorcode vbnv: Do not initialize vbnv_copy in vbnv layer 2016-06-30 20:54:04 +02:00
Kconfig kconfig: allow various tpm type and interface permutations 2016-06-23 17:11:48 +02:00