diff options
author | Weimin Wu <wuweimin@huaqin.corp-partner.google.com> | 2023-11-17 22:12:54 +0800 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2023-11-30 15:02:29 +0000 |
commit | fd1c2f488f4ce0e931db3d944ef5fd1faed98fe1 (patch) | |
tree | d9c6366cb9922dbd59c9921ff07ae9336a44370f | |
parent | b667e2795245b4de27d964d8b0d1c90dd7b01a2d (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.c | 4 | ||||
-rw-r--r-- | src/mainboard/google/brya/variants/anraggar/overridetree.cb | 44 |
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 |