Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: misc: onboard_usb_dev: Add Bison Electronics Inc. Integrated Camera

The Camera is built into the Thinkbook 16 G7 QOY and directly attached on the
usb_2 controller (dwc3 USB2 only). It has a separate power supply that needs
to be controlled for PM.

Add the support for this device for the power supply.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Link: https://lore.kernel.org/r/20250629-tb16-dt-v7-2-35276341338f@oldschoolsolutions.biz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Jens Glathe and committed by
Greg Kroah-Hartman
f63f7aec e35a5d81

+10
+2
drivers/usb/misc/onboard_usb_dev.c
··· 564 564 565 565 /************************** USB driver **************************/ 566 566 567 + #define VENDOR_ID_BISON 0x5986 567 568 #define VENDOR_ID_CYPRESS 0x04b4 568 569 #define VENDOR_ID_GENESYS 0x05e3 569 570 #define VENDOR_ID_MICROCHIP 0x0424 ··· 648 647 } 649 648 650 649 static const struct usb_device_id onboard_dev_id_table[] = { 650 + { USB_DEVICE(VENDOR_ID_BISON, 0x1198) }, /* Bison Electronics Inc. Integrated Camera */ 651 651 { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6500) }, /* CYUSB330x 3.0 HUB */ 652 652 { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6502) }, /* CYUSB330x 2.0 HUB */ 653 653 { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6503) }, /* CYUSB33{0,1}x 2.0 HUB, Vendor Mode */
+8
drivers/usb/misc/onboard_usb_dev.h
··· 73 73 .is_hub = true, 74 74 }; 75 75 76 + static const struct onboard_dev_pdata bison_intcamera_data = { 77 + .reset_us = 1000, 78 + .num_supplies = 1, 79 + .supply_names = { "vdd" }, 80 + .is_hub = false, 81 + }; 82 + 76 83 static const struct onboard_dev_pdata cypress_hx3_data = { 77 84 .reset_us = 10000, 78 85 .num_supplies = 2, ··· 151 144 { .compatible = "usb2109,817", .data = &vialab_vl817_data, }, 152 145 { .compatible = "usb2109,2817", .data = &vialab_vl817_data, }, 153 146 { .compatible = "usb20b1,0013", .data = &xmos_xvf3500_data, }, 147 + { .compatible = "usb5986,1198", .data = &bison_intcamera_data, }, 154 148 {} 155 149 }; 156 150