Reland "mb/google/bluey: Configure GPIOs for USB camera"

Additionally, guard USB camera GPIO enablement using dedicated
Kconfig option.

This reverts commit bbbc655b15.

Reason for revert: FW should enable the GPIO_USB_CAM_ENABLE (206).

Change-Id: I7966240939c51a4be7027debb0a66d3e11cb75cc
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/91660
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
This commit is contained in:
Subrata Banik 2026-03-12 17:57:00 +00:00
commit 94168f10bc
3 changed files with 23 additions and 0 deletions

View file

@ -32,6 +32,7 @@ config BOARD_GOOGLE_MODEL_QUENBI
select BOARD_GOOGLE_BASEBOARD_BLUEY
select BOARD_ROMSIZE_KB_32768
select EC_GOOGLE_CHROMEEC_BATTERY_SOC_DYNAMIC
select MAINBOARD_HAS_CAMERA_VIA_USB
select MAINBOARD_HAS_CHROME_EC
select MAINBOARD_HAS_FINGERPRINT_VIA_SPI
select MAINBOARD_HAS_GOOGLE_TPM
@ -42,6 +43,7 @@ config BOARD_GOOGLE_MODEL_QUARTZ
select BOARD_ROMSIZE_KB_32768
select EC_GOOGLE_CHROMEEC_BATTERY_SOC_DYNAMIC
select EC_GOOGLE_CHROMEEC_LED_CONTROL
select MAINBOARD_HAS_CAMERA_VIA_USB
select MAINBOARD_HAS_CHROME_EC
select MAINBOARD_HAS_FINGERPRINT_VIA_SPI
select MAINBOARD_HAS_GOOGLE_TPM
@ -68,6 +70,7 @@ config BOARD_GOOGLE_MODEL_MICA
select BOARD_ROMSIZE_KB_32768
select EC_GOOGLE_CHROMEEC_LED_CONTROL
select EC_GOOGLE_CHROMEEC_BATTERY_SOC_DYNAMIC
select MAINBOARD_HAS_CAMERA_VIA_USB
select MAINBOARD_HAS_CHROME_EC
select MAINBOARD_HAS_FINGERPRINT_VIA_USB
select MAINBOARD_HAS_GOOGLE_TPM
@ -154,6 +157,13 @@ config MAINBOARD_HAS_CHROME_EC
help
Enable this option if your mainboard is equipped with Chrome EC.
config MAINBOARD_HAS_CAMERA_VIA_USB
bool
default n
help
Enable this option if your mainboard's onboard camera
is connected via the USB interface.
config MAINBOARD_VENDOR
string
default "Google"

View file

@ -47,6 +47,10 @@
#define GPIO_SD_CD_L GPIO(71)
#endif
/* USB Camera specific GPIOs */
#define GPIO_USB_CAM_RESET_L GPIO(10)
#define GPIO_USB_CAM_ENABLE GPIO(206)
/* USB-C1 port specific GPIOs */
#define GPIO_USB_C1_EN_PP3300 GPIO(186)
#define GPIO_USB_C1_EN_PP1800 GPIO(175)

View file

@ -76,6 +76,12 @@ static bool is_low_power_boot_with_charger(void)
return ret;
}
static void enable_usb_camera(void)
{
gpio_output(GPIO_USB_CAM_RESET_L, 1);
gpio_output(GPIO_USB_CAM_ENABLE, 1);
}
static void setup_usb_typec(void)
{
gpio_output(GPIO_USB_C1_EN_PP3300, 1);
@ -109,6 +115,9 @@ static void setup_audio(void)
static void setup_usb(void)
{
setup_usb_typec();
if (CONFIG(MAINBOARD_HAS_CAMERA_VIA_USB))
enable_usb_camera();
}
static void setup_usb_late(void *unused)