summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWeimin Wu <wuweimin@huaqin.corp-partner.google.com>2023-11-17 22:12:54 +0800
committerFelix Held <felix-coreboot@felixheld.de>2023-11-30 15:02:29 +0000
commitfd1c2f488f4ce0e931db3d944ef5fd1faed98fe1 (patch)
treed9c6366cb9922dbd59c9921ff07ae9336a44370f
parentb667e2795245b4de27d964d8b0d1c90dd7b01a2d (diff)
mb/google/nissa/var/anraggar: Add OV13B10 MIPI camera device
Enable MIPI camera for anraggar project. Sensor: OV13B10-GA5A Driver: DW9714V EEPROM: GT24P64E Ref to SCH, use MIPI 4-lane serial output interface. BUG=b:309518095 TEST=Google Camera app working Checking log with: coreboot log: \_SB.PCI0.I2C2.CAM0: Intel MIPI Camera Device I2C address 036h \_SB.PCI0.I2C2.VCM0: Intel MIPI Camera Device I2C address 0ch \_SB.PCI0.I2C2.NVM0: Intel MIPI Camera Device I2C address 050h kernel log: kernel: [ 6.140429] intel-ipu6-isys intel-ipu6-isys0: bind ov13b10 11-0036 nlanes is 4 port is 1 cros_camera_service[4755]: Read camera eeprom from /sys/bus/i2c/devices/i2c-PRP0001:02/eeprom cros_camera_service[4755]: Probing media device '/dev/media0' cros_camera_service[4755]: Probing sensor 'ov13b10 11-0036' (v4l-subdev17) cros_camera_service[4755]: Found V4L2 sensor subdev on /sys/devices/pci0000:00/0000:00:15.2/i2c_designware.2/i2c-11/i2c-OVTIDB10:00/video4linux/v4l-subdev17 Change-Id: I6a82557c94203f24449588a6005abc53cc29ca76 Signed-off-by: Weimin Wu <wuweimin@huaqin.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79163 Reviewed-by: Eric Lai <ericllai@google.com> Reviewed-by: Paul Menzel <paulepanter@mailbox.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arec Kao <arec.kao@intel.corp-partner.google.com>
-rw-r--r--src/mainboard/google/brya/variants/anraggar/gpio.c4
-rw-r--r--src/mainboard/google/brya/variants/anraggar/overridetree.cb44
2 files changed, 27 insertions, 21 deletions
diff --git a/src/mainboard/google/brya/variants/anraggar/gpio.c b/src/mainboard/google/brya/variants/anraggar/gpio.c
index cdbb72fdaf..b01bc2c674 100644
--- a/src/mainboard/google/brya/variants/anraggar/gpio.c
+++ b/src/mainboard/google/brya/variants/anraggar/gpio.c
@@ -32,7 +32,7 @@ static const struct pad_config override_gpio_table[] = {
/* D8 : SRCCLKREQ3# ==> SD_CLKREQ_ODL ==> NC */
PAD_NC_LOCK(GPP_D8, NONE, LOCK_CONFIG),
/* D13 : NC ==> EN_PP1800_WCAM_X */
- PAD_CFG_GPO_LOCK(GPP_D13, 0, LOCK_CONFIG),
+ PAD_CFG_GPO_LOCK(GPP_D13, 1, LOCK_CONFIG),
/* E20 : DDP2_CTRLCLK ==> HDMI_DDC_SCL ==> NC */
PAD_NC_LOCK(GPP_E20, NONE, LOCK_CONFIG),
@@ -48,7 +48,7 @@ static const struct pad_config override_gpio_table[] = {
PAD_CFG_GPO_LOCK(GPP_F11, 1, LOCK_CONFIG),
/* F12 : GSXDOUT ==> WWAN_RST_L */
PAD_CFG_GPO_LOCK(GPP_F12, 1, LOCK_CONFIG),
- /* F18 : THC1_SPI2_INT# ==> EC_IN_RW_OD ==> EN_PP2800_AVDD*/
+ /* F18 : THC1_SPI2_INT# ==> EN_PP2800_AFVDD */
PAD_CFG_GPO(GPP_F18, 0, DEEP),
/* F23 : V1P05_CTRL ==> V1P05EXT_CTRL ==> NC*/
PAD_NC_LOCK(GPP_F23, NONE, LOCK_CONFIG),
diff --git a/src/mainboard/google/brya/variants/anraggar/overridetree.cb b/src/mainboard/google/brya/variants/anraggar/overridetree.cb
index defb8e6bba..30c3c1b3b0 100644
--- a/src/mainboard/google/brya/variants/anraggar/overridetree.cb
+++ b/src/mainboard/google/brya/variants/anraggar/overridetree.cb
@@ -207,7 +207,7 @@ chip soc/intel/alderlake
register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
register "cio2_num_ports" = "1"
- register "cio2_lanes_used" = "{2}" # 2 CSI Camera lanes are used
+ register "cio2_lanes_used" = "{4}" # 4 CSI Camera lanes are used
register "cio2_lane_endpoint[0]" = ""^I2C2.CAM0""
register "cio2_prt[0]" = "1"
device generic 0 on end
@@ -244,18 +244,17 @@ chip soc/intel/alderlake
end
device ref i2c2 on
chip drivers/intel/mipi_camera
- register "acpi_hid" = ""OVTI5675""
+ register "acpi_hid" = ""OVTIDB10""
register "acpi_uid" = "0"
register "acpi_name" = ""CAM0""
- register "chip_name" = ""Ov 5675 Camera""
+ register "chip_name" = ""Ov 13b10 Camera""
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
- register "ssdb.lanes_used" = "2"
- register "ssdb.link_used" = "1"
+ register "ssdb.lanes_used" = "4"
register "ssdb.vcm_type" = "0x0C"
register "vcm_name" = ""VCM0""
register "num_freq_entries" = "1"
- register "link_freq[0]" = "DEFAULT_LINK_FREQ"
+ register "link_freq[0]" = "560 * MHz"
register "remote_name" = ""IPU0""
register "has_power_resource" = "1"
@@ -263,17 +262,16 @@ chip soc/intel/alderlake
register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
- register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" # EN_PP2800_WCAM_X
- register "gpio_panel.gpio[1].gpio_num" = "GPP_D16" # EN_PP1800_PP1200_WCAM_X
+ register "gpio_panel.gpio[0].gpio_num" = "GPP_F18" # EN_PP2800_WCAM_X
+ register "gpio_panel.gpio[1].gpio_num" = "GPP_D16" # EN_PP1200_WCAM_X
register "gpio_panel.gpio[2].gpio_num" = "GPP_D3" # WCAM_RST_L
#_ON
- register "on_seq.ops_cnt" = "5"
+ register "on_seq.ops_cnt" = "4"
register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
- register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
- register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
+ register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
#_OFF
register "off_seq.ops_cnt" = "4"
@@ -285,30 +283,38 @@ chip soc/intel/alderlake
device i2c 36 on end
end
chip drivers/intel/mipi_camera
- register "acpi_uid" = "3"
+ register "acpi_uid" = "2"
register "acpi_name" = ""VCM0""
- register "chip_name" = ""DW AF DAC""
+ register "chip_name" = ""DW9714 VCM ""
register "device_type" = "INTEL_ACPI_CAMERA_VCM"
- register "pr0" = ""\\_SB.PCI0.I2C2.CAM0.PRIC""
register "vcm_compat" = ""dongwoon,dw9714""
+ register "has_power_resource" = "1"
+ #Controls
+ register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" # EN_PP2800_AFVDD
+
+ #_ON
+ register "on_seq.ops_cnt" = "1"
+ register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
+
+ #_OFF
+ register "off_seq.ops_cnt" = "1"
+ register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
+
device i2c 0C on end
end
chip drivers/intel/mipi_camera
- register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
register "acpi_uid" = "1"
register "acpi_name" = ""NVM0""
- register "chip_name" = ""GT24C08""
+ register "chip_name" = ""GT24P64E""
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
- register "pr0" = ""\\_SB.PCI0.I2C2.CAM0.PRIC""
-
register "nvm_size" = "0x2000"
register "nvm_pagesize" = "1"
register "nvm_readonly" = "1"
register "nvm_width" = "0x10"
- register "nvm_compat" = ""atmel,24c08""
+ register "nvm_compat" = ""atmel,24c64""
device i2c 50 on end
end