mb/{google,intel}: Fix MIPI camera VCM type and address configuration

Many boards were incorrectly using the VCM I2C address (0x0C) as the
SSDB vcm_type field value. These are two separate fields:
- ssdb.vcm_type: Enum identifying the VCM chip model (VCM_DW9714,
  VCM_DW9808, etc.) used by drivers to select appropriate VCM functions
- vcm_address: I2C address of the VCM device (typically 0x0C)

Replace hardcoded "0x0C" values in ssdb.vcm_type with the correct enum
values based on the actual VCM device:
- VCM_DW9714 for boards using DW9714 VCMs
- VCM_DW9808 for boards using DW9768 VCMs (DW9768 doesn't have an enum,
  but DW9808 has compatible register layout)

Add vcm_address = "0x0C" to all affected boards to properly specify
the I2C address separately from the VCM type.

This ensures the Windows and Linux camera drivers receive the correct
VCM type information needed for proper initialization and function
pointer selection.

TEST=tested with rest of patch train

Change-Id: I53a560b0b03a1fe49d35ad8238679cc130327ade
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90197
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-by: Eric Lai <ericllai@google.com>
This commit is contained in:
Matt DeVillier 2025-11-24 14:49:30 -06:00
commit e9ebcb2918
31 changed files with 78 additions and 39 deletions

View file

@ -271,7 +271,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "560 * MHz"

View file

@ -545,7 +545,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "0"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9808"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360 * MHz" # 360 MHz
@ -651,7 +652,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "0"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9808"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360 * MHz" # 360 MHz

View file

@ -482,7 +482,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "2"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "DEFAULT_LINK_FREQ"
@ -530,7 +531,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "2"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "720000000"

View file

@ -266,7 +266,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360000000"

View file

@ -391,7 +391,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "2"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "DEFAULT_LINK_FREQ"

View file

@ -305,7 +305,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360000000"

View file

@ -395,7 +395,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360000000"

View file

@ -347,7 +347,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "2"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "DEFAULT_LINK_FREQ"
@ -395,7 +396,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "2"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "720000000"

View file

@ -544,7 +544,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "0"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9808"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360 * MHz" # 360 MHz
@ -650,7 +651,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "0"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9808"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360 * MHz" # 360 MHz

View file

@ -385,7 +385,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "0"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9808"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360 * MHz" # 360 MHz

View file

@ -288,7 +288,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "560 * MHz"

View file

@ -414,7 +414,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "560 * MHz"

View file

@ -255,7 +255,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360000000"

View file

@ -333,7 +333,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "2"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360000000"

View file

@ -368,7 +368,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360000000"

View file

@ -241,7 +241,8 @@ chip soc/intel/jasperlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_JSL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360000000"

View file

@ -307,7 +307,8 @@ chip soc/intel/jasperlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_JSL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360000000"

View file

@ -216,7 +216,8 @@ chip soc/intel/jasperlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_JSL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360000000"

View file

@ -214,7 +214,8 @@ chip soc/intel/jasperlake
register "ssdb.lanes_used" = "2"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_JSL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "DEFAULT_LINK_FREQ"

View file

@ -348,7 +348,8 @@ chip soc/intel/jasperlake
register "ssdb.lanes_used" = "2"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_JSL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "DEFAULT_LINK_FREQ"
@ -393,7 +394,8 @@ chip soc/intel/jasperlake
register "ssdb.lanes_used" = "2"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_JSL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "720000000"

View file

@ -231,7 +231,8 @@ chip soc/intel/jasperlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_JSL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360000000"

View file

@ -148,7 +148,8 @@ chip soc/intel/jasperlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_JSL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9808"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "2"
register "link_freq[0]" = "360000000"

View file

@ -658,7 +658,8 @@ chip soc/intel/pantherlake
register "chip_name" = ""Ov 13b10 Camera""
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM1""
register "ssdb.lanes_used" = "4"
@ -760,7 +761,8 @@ chip soc/intel/pantherlake
register "chip_name" = ""Ov 13b10 Camera""
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM1""
register "ssdb.lanes_used" = "2"

View file

@ -471,7 +471,8 @@ chip soc/intel/meteorlake
register "ssdb.lanes_used" = "4"
register "ssdb.link_used" = "0"
register "ssdb.platform" = "PLAT_MTL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "560 * MHz" # 560 MHz

View file

@ -355,7 +355,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "2"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "450000000"

View file

@ -289,7 +289,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "2"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "450000000"

View file

@ -297,7 +297,8 @@ chip soc/intel/alderlake
register "ssdb.lanes_used" = "2"
register "ssdb.platform" = "PLAT_ADL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "450000000"

View file

@ -417,7 +417,8 @@ chip soc/intel/jasperlake
register "ssdb.lanes_used" = "2"
register "ssdb.link_used" = "1"
register "ssdb.platform" = "PLAT_JSL"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
register "link_freq[0]" = "DEFAULT_LINK_FREQ"

View file

@ -477,7 +477,8 @@ chip soc/intel/meteorlake
register "chip_name" = ""Ov 13b10 Camera""
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM1""
register "ssdb.lanes_used" = "4"

View file

@ -658,7 +658,8 @@ chip soc/intel/pantherlake
register "chip_name" = ""Ov 13b10 Camera""
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM1""
register "ssdb.lanes_used" = "4"
@ -760,7 +761,8 @@ chip soc/intel/pantherlake
register "chip_name" = ""Ov 13b10 Camera""
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM1""
register "ssdb.lanes_used" = "2"

View file

@ -658,7 +658,8 @@ chip soc/intel/pantherlake
register "chip_name" = ""Ov 13b10 Camera""
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM1""
register "ssdb.lanes_used" = "4"
@ -760,7 +761,8 @@ chip soc/intel/pantherlake
register "chip_name" = ""Ov 13b10 Camera""
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
register "ssdb.vcm_type" = "0x0C"
register "ssdb.vcm_type" = "VCM_DW9714"
register "vcm_address" = "0x0C"
register "vcm_name" = ""VCM1""
register "ssdb.lanes_used" = "2"