mb/starlabs/starlite_adl: Make I2C speed configurable

Make the I2C speed user configurable from CMOS. Both the touchscreen
and accelerometer support running at 100MHz or 400MHz. They perform
better at 400MHz but use more power - this patch lets the user choose.

Change-Id: Ia1b08d7ec6212418bb95d0a52077f01c930f8830
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83882
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Maxim Polyakov <max.senia.poliak@gmail.com>
This commit is contained in:
Sean Rhodes 2024-08-12 10:19:34 +01:00
commit 4094ae369d
2 changed files with 6 additions and 9 deletions

View file

@ -1,13 +1,4 @@
chip soc/intel/alderlake
register "common_soc_config" = "{
.i2c[0] = {
.speed = I2C_SPEED_FAST,
},
.i2c[2] = {
.speed = I2C_SPEED_FAST,
},
}"
# FSP UPDs
register "cnvi_bt_audio_offload" = "true"
register "cnvi_bt_core" = "true"

View file

@ -63,4 +63,10 @@ void devtree_update(void)
/* Enable/Disable Accelerometer based on CMOS settings */
if (get_uint_option("accelerometer", 1) == 0)
accelerometer_dev->enabled = 0;
/* Set I2C devices speed to fast based on CMOS settings */
if (get_uint_option("i2c_speed_fast", 0) == 1) {
common_config->i2c[0].speed = I2C_SPEED_FAST;
common_config->i2c[2].speed = I2C_SPEED_FAST;
}
}