Message ID | 20250607-tb16-dt-v6-2-61a31914ee72@oldschoolsolutions.biz |
---|---|
State | Superseded |
Headers | show |
Series | arm64: dts: qcom: Add Lenovo ThinkBook 16 device tree | expand |
On Sat, Jun 07, 2025 at 09:19:37PM +0200, Jens Glathe via B4 Relay wrote: > From: Jens Glathe <jens.glathe@oldschoolsolutions.biz> > > 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. > > Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz> > --- > drivers/usb/misc/onboard_usb_dev.c | 2 ++ > drivers/usb/misc/onboard_usb_dev.h | 8 ++++++++ > 2 files changed, 10 insertions(+) > > @@ -127,6 +134,7 @@ static const struct of_device_id onboard_dev_match[] = { > { .compatible = "usb451,8142", .data = &ti_tusb8041_data, }, > { .compatible = "usb451,8440", .data = &ti_tusb8041_data, }, > { .compatible = "usb451,8442", .data = &ti_tusb8041_data, }, > + { .compatible = "usb5986,1198", .data = &bison_intcamera_data, }, The list is sorted, so this should be the last entry. With that fixed: Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > { .compatible = "usb4b4,6504", .data = &cypress_hx3_data, }, > { .compatible = "usb4b4,6506", .data = &cypress_hx3_data, }, > { .compatible = "usb4b4,6570", .data = &cypress_hx2vl_data, }, > > -- > 2.48.1 > >
diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c index 5b481876af1b2c10ce625fcf0fb8bfbe8905aa8c..41360a7591e56b2b1fe973ff1c42e68707fff54d 100644 --- a/drivers/usb/misc/onboard_usb_dev.c +++ b/drivers/usb/misc/onboard_usb_dev.c @@ -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 */ diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h index e017b8e22f936be66da73789abb4f620e6af4d6a..b95ac757868e7cd3f23eb4b80eb595a2c18e9613 100644 --- a/drivers/usb/misc/onboard_usb_dev.h +++ b/drivers/usb/misc/onboard_usb_dev.h @@ -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, @@ -127,6 +134,7 @@ static const struct of_device_id onboard_dev_match[] = { { .compatible = "usb451,8142", .data = &ti_tusb8041_data, }, { .compatible = "usb451,8440", .data = &ti_tusb8041_data, }, { .compatible = "usb451,8442", .data = &ti_tusb8041_data, }, + { .compatible = "usb5986,1198", .data = &bison_intcamera_data, }, { .compatible = "usb4b4,6504", .data = &cypress_hx3_data, }, { .compatible = "usb4b4,6506", .data = &cypress_hx3_data, }, { .compatible = "usb4b4,6570", .data = &cypress_hx2vl_data, },