This patchset adds usb5744 SMBus support in onboard usb driver. Changes for v6: - Return -ENODEV in _i2c_init() if I2C_CONFIG is not defined. Changes for v5: - Drop Kconfig I2C_CONFIG dependency and instead put the _i2c_init() implementation inside IS_ENABLED(CONFIG_I2C) check. Changes for v4: - Fix error: implicit declaration of function 'i2c_smbus_*' APIs by introducing a kconfig dependency on I2C_CONFIG. This error is reported by kernel test on v3 series and usb:usb-testing 20/25 branch. https://lore.kernel.org/all/2024082503-uncoated-chaperone-7f70@gregkh Changes for v3: - Modified power_on_delay_us comment. - Add comment for UDC suspend sequence. - Drop USB5744_CREG_MEM_NBYTES and USB5744_CREG_NBYTES and replace it with literal + comment. - Move microchip defines to source file. Changes in v2: - Fix subsystem "usb: misc: onboard_usb_dev:..." - Change implementation from introducing onboard_dev_i2c_init func pointer and do i2c initialization based on compatible string. This is to make onboard_dev_5744_i2c_init() as static. - Use #define for different register bits instead of magic values. - Use err_power_off label name. - Modified commit description to be in sync with v2 changes. - Move power on reset delay to separate patch. Radhey Shyam Pandey (2): usb: misc: onboard_dev: extend platform data to add power on delay field usb: misc: onboard_usb_dev: add Microchip usb5744 SMBus programming support drivers/usb/misc/onboard_usb_dev.c | 78 ++++++++++++++++++++++++++++++ drivers/usb/misc/onboard_usb_dev.h | 2 + 2 files changed, 80 insertions(+) -- 2.34.1