]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
usb: misc: onboard_usb_dev: Add Bison Electronics Inc. Integrated Camera
authorJens Glathe <jens.glathe@oldschoolsolutions.biz>
Sun, 29 Jun 2025 17:25:23 +0000 (19:25 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Jun 2025 13:42:16 +0000 (15:42 +0200)
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>
drivers/usb/misc/onboard_usb_dev.c
drivers/usb/misc/onboard_usb_dev.h

index 5b481876af1b2c10ce625fcf0fb8bfbe8905aa8c..41360a7591e56b2b1fe973ff1c42e68707fff54d 100644 (file)
@@ -564,6 +564,7 @@ static struct platform_driver onboard_dev_driver = {
 
 /************************** USB driver **************************/
 
+#define VENDOR_ID_BISON                0x5986
 #define VENDOR_ID_CYPRESS      0x04b4
 #define VENDOR_ID_GENESYS      0x05e3
 #define VENDOR_ID_MICROCHIP    0x0424
@@ -647,6 +648,7 @@ static void onboard_dev_usbdev_disconnect(struct usb_device *udev)
 }
 
 static const struct usb_device_id onboard_dev_id_table[] = {
+       { USB_DEVICE(VENDOR_ID_BISON, 0x1198) }, /* Bison Electronics Inc. Integrated Camera */
        { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6500) }, /* CYUSB330x 3.0 HUB */
        { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6502) }, /* CYUSB330x 2.0 HUB */
        { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6503) }, /* CYUSB33{0,1}x 2.0 HUB, Vendor Mode */
index e017b8e22f936be66da73789abb4f620e6af4d6a..c1462be5526d5c15de2493742d27155e6d1ad8ee 100644 (file)
@@ -73,6 +73,13 @@ static const struct onboard_dev_pdata ti_tusb8041_data = {
        .is_hub = true,
 };
 
+static const struct onboard_dev_pdata bison_intcamera_data = {
+       .reset_us = 1000,
+       .num_supplies = 1,
+       .supply_names = { "vdd" },
+       .is_hub = false,
+};
+
 static const struct onboard_dev_pdata cypress_hx3_data = {
        .reset_us = 10000,
        .num_supplies = 2,
@@ -144,6 +151,7 @@ static const struct of_device_id onboard_dev_match[] = {
        { .compatible = "usb2109,817", .data = &vialab_vl817_data, },
        { .compatible = "usb2109,2817", .data = &vialab_vl817_data, },
        { .compatible = "usb20b1,0013", .data = &xmos_xvf3500_data, },
+       { .compatible = "usb5986,1198", .data = &bison_intcamera_data, },
        {}
 };