coreboot/src
Cheng-Yi Chiang c761f28171 drivers/i2c/rt1011: Add a driver for RT1011
RT1011 is a smart amplifier. It needs to know speaker related parameters
including speaker resistor value and temperature when the calibration is
done in order to run Dynamic Speaker Management (DSM) algorithm on chip.
The purpose of DSM is to protect speaker when the volume is large.

The calibration data of speaker is stored in VPD in factory.
This driver is needed to read data from VPD and write to ACPI _DSD when
config CHROMEOS_DSM_CALIB is turned on.

Kernel rt1011 codec driver will read these device properties to set up
codec accordingly on boot.

The reason to prepare these parameters in coreboot is because kernel
codec driver expects to read per-device parameters directly from device
properties. Another benefit is that other OS can also take these
parameters through ACPI _DSD table and take benefit of DSM on RT1011.

The kernel driver device properties of RT1011 are documented at
linux/Documentation/devicetree/bindings/sound/rt1011.txt
It is currently in ASoC maintainer's tree at
https://kernel.googlesource.com/pub/scm/linux/kernel/git/broonie/sound/+/for-next/
and hopefully should be merged to mainline kernel in the next merge window.

BUG=b:140397934
BRANCH=none
TEST=On Helios, with patch series, check realtek,r0_calib and
realtek,temperature_calib are available to rt1011 codec driver.

Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org>
Change-Id: I9550b9890ce2cae787f4f17779a5ade77f619171
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36029
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
2019-10-24 15:45:53 +00:00
..
acpi AUTHORS: Move src/acpi copyrights into AUTHORS file 2019-07-30 11:04:14 +00:00
arch arch/acpi.h: Use of typedef for acpi_vfct 2019-10-24 07:44:53 +00:00
commonlib cbmem: Add IDs for TSEG and BERT table data 2019-10-20 16:46:07 +00:00
console postcar: Fix linking error with disabled postcar console 2019-10-16 11:38:23 +00:00
cpu cpu/intel/common: Enable GetSec leaves for Intel TXT 2019-10-24 07:40:01 +00:00
device arch/acpi.h: Use of typedef for acpi_vfct 2019-10-24 07:44:53 +00:00
drivers drivers/i2c/rt1011: Add a driver for RT1011 2019-10-24 15:45:53 +00:00
ec ec/acpi/ec.c Link EC code in bootblock & verstage 2019-10-12 12:57:04 +00:00
include soc/intel/skylake: search for PME wake event on all root ports 2019-10-24 07:43:11 +00:00
lib fmap: Add get_fmap_flash_offset() 2019-09-27 21:59:44 +00:00
mainboard soc/intel/fsp_baytrail: use designware I2C driver 2019-10-24 07:50:02 +00:00
northbridge acpi: Drop wrong _ADR objects for PCI host bridges 2019-10-24 09:28:28 +00:00
security security/memory: Add x86_64 support 2019-10-20 11:30:47 +00:00
soc acpi: Drop wrong _ADR objects for PCI host bridges 2019-10-24 09:28:28 +00:00
southbridge sb/intel/i82801gx: Set FERR# Mux Enable only on mobile platforms 2019-10-22 20:07:11 +00:00
superio src: Remove unused 'include <string.h>' 2019-10-20 17:19:34 +00:00
vendorcode google/chromeos: Add a library to get DSM calibration data 2019-10-24 15:45:37 +00:00
Kconfig arch/x86: Add a choice for selecting normal/fallback cbfs prefix 2019-10-08 11:40:25 +00:00