summaryrefslogtreecommitdiff
path: root/src/vendorcode
diff options
context:
space:
mode:
Diffstat (limited to 'src/vendorcode')
-rw-r--r--src/vendorcode/google/Kconfig19
-rw-r--r--src/vendorcode/google/Makefile.inc1
-rw-r--r--src/vendorcode/google/chromeos/Kconfig17
-rw-r--r--src/vendorcode/google/chromeos/Makefile.inc1
-rw-r--r--src/vendorcode/google/chromeos/chromeos.h10
-rw-r--r--src/vendorcode/google/dsm_calib.c (renamed from src/vendorcode/google/chromeos/dsm_calib.c)2
-rw-r--r--src/vendorcode/google/dsm_calib.h20
7 files changed, 41 insertions, 29 deletions
diff --git a/src/vendorcode/google/Kconfig b/src/vendorcode/google/Kconfig
index 60c0c228a7..796f8b4089 100644
--- a/src/vendorcode/google/Kconfig
+++ b/src/vendorcode/google/Kconfig
@@ -9,3 +9,22 @@ config GOOGLE_SMBIOS_MAINBOARD_VERSION
help
Provide a common implementation for mainboard version,
which returns a formatted 'rev%d' board_id() string.
+
+config GOOGLE_DSM_CALIB
+ bool
+ default n
+ depends on VPD
+ help
+ On some boards, there are calibrated parameters for Dynamic Speaker Management(DSM)
+ stored in VPD. Enable this config to read and parse these VPD values and write them
+ to ACPI DSD table in device driver. These parameters will be applied by kernel driver
+ through device property at boot.
+
+config GOOGLE_DSM_PARAM_FILE_NAME
+ bool
+ default n
+ depends on GOOGLE_DSM_CALIB
+ help
+ On some boards, there are different dsm parameter files for Dynamic Speaker
+ Management (DSM). Enable this config to assign dsm parameters file name in ACPI
+ SSDT table. Kernel driver uses this to load the DSM parameter file.
diff --git a/src/vendorcode/google/Makefile.inc b/src/vendorcode/google/Makefile.inc
index c67ea20268..c9e83897ff 100644
--- a/src/vendorcode/google/Makefile.inc
+++ b/src/vendorcode/google/Makefile.inc
@@ -2,4 +2,5 @@
subdirs-$(CONFIG_CHROMEOS) += chromeos
+ramstage-$(CONFIG_GOOGLE_DSM_CALIB) += dsm_calib.c
ramstage-$(CONFIG_GOOGLE_SMBIOS_MAINBOARD_VERSION) += smbios.c
diff --git a/src/vendorcode/google/chromeos/Kconfig b/src/vendorcode/google/chromeos/Kconfig
index 868492062e..09796527a1 100644
--- a/src/vendorcode/google/chromeos/Kconfig
+++ b/src/vendorcode/google/chromeos/Kconfig
@@ -57,23 +57,6 @@ config CHROMEOS_USE_EC_WATCHDOG_FLAG
help
Use the AP watchdog flag stored in EC.
-config CHROMEOS_DSM_CALIB
- bool
- default n
- help
- On some boards, there are calibrated parameters for Dynamic Speaker Management(DSM)
- stored in VPD. Enable this config to read and parse these VPD values and write them
- to ACPI DSD table in device driver. These parameters will be applied by kernel driver
- through device property at boot.
-
-config CHROMEOS_DSM_PARAM_FILE_NAME
- bool
- default n
- help
- On some boards, there are different dsm parameter files for Dynamic Speaker
- Management (DSM). Enable this config to assign dsm parameters file name in ACPI
- SSDT table. Kernel driver uses this to load the DSM parameter file.
-
config CHROMEOS_CSE_BOARD_RESET_OVERRIDE
bool
default n
diff --git a/src/vendorcode/google/chromeos/Makefile.inc b/src/vendorcode/google/chromeos/Makefile.inc
index ce77194070..fbfd7a4e2f 100644
--- a/src/vendorcode/google/chromeos/Makefile.inc
+++ b/src/vendorcode/google/chromeos/Makefile.inc
@@ -8,7 +8,6 @@ ramstage-y += vpd_mac.c vpd_serialno.c vpd_calibration.c
ramstage-$(CONFIG_CHROMEOS_DISABLE_PLATFORM_HIERARCHY_ON_RESUME) += tpm2.c
ramstage-$(CONFIG_HAVE_REGULATORY_DOMAIN) += wrdd.c
ramstage-$(CONFIG_USE_SAR) += sar.c
-ramstage-$(CONFIG_CHROMEOS_DSM_CALIB) += dsm_calib.c
ramstage-$(CONFIG_TPM_GOOGLE) += cr50_enable_update.c
romstage-$(CONFIG_CHROMEOS_CSE_BOARD_RESET_OVERRIDE) += cse_board_reset.c
diff --git a/src/vendorcode/google/chromeos/chromeos.h b/src/vendorcode/google/chromeos/chromeos.h
index 98aa4faf9b..cab855d34e 100644
--- a/src/vendorcode/google/chromeos/chromeos.h
+++ b/src/vendorcode/google/chromeos/chromeos.h
@@ -27,16 +27,6 @@ void cbmem_add_vpd_calibration_data(void);
void chromeos_set_me_hash(u32*, int);
void chromeos_set_ramoops(void *ram_oops, size_t size);
-/**
- * get_dsm_calibration_from_key - Gets value related to DSM calibration from VPD
- * @key: The key in RO_VPD. The valid prefix is "dsm_calib_". The valid keys are
- * documented in https://chromeos.google.com/partner/dlm/docs/factory/vpd.html.
- * @value: Output value. The value read from VPD parsed into uint64_t integer.
- *
- * Returns CB_SUCCESS on success or CB_ERR on failure.
- */
-enum cb_err get_dsm_calibration_from_key(const char *key, uint64_t *value);
-
/*
* Declaration for mainboards to use to generate ACPI-specific ChromeOS needs.
*/
diff --git a/src/vendorcode/google/chromeos/dsm_calib.c b/src/vendorcode/google/dsm_calib.c
index ad4291d776..a245b80403 100644
--- a/src/vendorcode/google/chromeos/dsm_calib.c
+++ b/src/vendorcode/google/dsm_calib.c
@@ -5,7 +5,7 @@
#include <stdint.h>
#include <string.h>
#include <types.h>
-#include <vendorcode/google/chromeos/chromeos.h>
+#include "dsm_calib.h"
#define DSM_BUF_LEN 128
#define DSM_PREFIX "dsm_calib_"
diff --git a/src/vendorcode/google/dsm_calib.h b/src/vendorcode/google/dsm_calib.h
new file mode 100644
index 0000000000..efbfe045c1
--- /dev/null
+++ b/src/vendorcode/google/dsm_calib.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __DSM_CALIB_H__
+#define __DSM_CALIB_H__
+
+#include <stddef.h>
+#include <stdint.h>
+#include <types.h>
+
+/**
+ * get_dsm_calibration_from_key - Gets value related to DSM calibration from VPD
+ * @key: The key in RO_VPD. The valid prefix is "dsm_calib_". The valid keys are
+ * documented in https://chromeos.google.com/partner/dlm/docs/factory/vpd.html.
+ * @value: Output value. The value read from VPD parsed into uint64_t integer.
+ *
+ * Returns CB_SUCCESS on success or CB_ERR on failure.
+ */
+enum cb_err get_dsm_calibration_from_key(const char *key, uint64_t *value);
+
+#endif /* __DSM_CALIB_H__ */