Hi, Am Dienstag, 20. Februar 2024, 15:05:44 CET schrieb Javier Carrasco: > This series adds support for the XMOS XVF3500 VocalFusion Voice > Processor[1], a low-latency, 32-bit multicore controller for voice > processing. > > The XVF3500 requires a specific power sequence, which consists of > enabling the regulators that control the 3V3 and 1V0 device supplies, > and a reset de-assertion after a delay of at least 100ns. Once in normal > operation, the XVF3500 registers itself as a regular USB device and no > device-specific management is required. While reading this, [1] come into my mind. Best regards, Alexander [1] https://lore.kernel.org/all/20211006035407.1147909-1-dmitry.baryshkov@xxxxxxxxxx/ > The power management provided by onboard_usb_hub is not specific for hubs > and any other USB device with the same power sequence could profit from > that driver, provided that the device does not have any specific > requirements beyond the power management. To account for non-hub devices, > the driver has been renamed and an extra flag has been added to identify > hubs and provide their specific functionality. Support for > device-specific power suply names has been added, keeping generic names > for backwards compatibility and as a fallback mechanism. > > The references to onboard_usb_hub in the core and config files have been > updated as well. > > The diff is way much bulkier than the actual code addition because of the > file renaming, so in order to ease reviews and catch hub-specific code > that might still affect non-hub devices, the complete renaming was moved > to a single commit. > > The device binding has been added to sound/ because it is the subsystem > that covers its functionality (voice processing) during normal > operation. If it should reside under usb/ instead, it will be moved as > required. > > This series has been tested with a Rockchip-based SoC and an XMOS > XVF3500-FB167-C. > > [1] https://www.xmos.com/xvf3500/ > > To: Liam Girdwood <lgirdwood@xxxxxxxxx> > To: Mark Brown <broonie@xxxxxxxxxx> > To: Rob Herring <robh+dt@xxxxxxxxxx> > To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx> > To: Conor Dooley <conor+dt@xxxxxxxxxx> > To: Matthias Kaehlcke <mka@xxxxxxxxxxxx> > To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > To: Helen Koike <helen.koike@xxxxxxxxxxxxx> > To: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > To: Maxime Ripard <mripard@xxxxxxxxxx> > To: Thomas Zimmermann <tzimmermann@xxxxxxx> > To: David Airlie <airlied@xxxxxxxxx> > To: Daniel Vetter <daniel@xxxxxxxx> > To: Catalin Marinas <catalin.marinas@xxxxxxx> > To: Will Deacon <will@xxxxxxxxxx> > To: Russell King <linux@xxxxxxxxxxxxxxx> > Cc: linux-sound@xxxxxxxxxxxxxxx > Cc: devicetree@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Cc: linux-usb@xxxxxxxxxxxxxxx > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Signed-off-by: Javier Carrasco <javier.carrasco@xxxxxxxxxxxxxx> > > Changes in v4: > - General: use device supply names and generics as fallback. > - onbord_usb_dev.c: fix suspend callback for non-hub devices. > - onboard_usb_dev.c: fix typos. > > - Link to v3: https://lore.kernel.org/r/20240206-onboard_xvf3500-v3-0-f85b04116688@xxxxxxxxxxxxxx > > Changes in v3: > - onboard_usb_hub: rename to onboard_usb_dev to include non-hub devices. > - onboard_hub_dev: add flag to identify hubs and provide their extra > functionality. > - dt-bindings: add reference to usb-device.yaml and usb node in the > example. > - dt-bindings: generic node name. > - Link to v2: https://lore.kernel.org/r/20240130-onboard_xvf3500-v1-0-51b5398406cb@xxxxxxxxxxxxxx > > Changes in v2: > - general: add support in onboard_usb_hub instead of using a dedicated > driver. > - dt-bindings: use generic usb-device compatible ("usbVID,PID"). > - Link to v1: https://lore.kernel.org/all/20240115-feature-xvf3500_driver-v1-0-ed9cfb48bb85@xxxxxxxxxxxxxx/ > > --- > Javier Carrasco (8): > usb: misc: onboard_hub: rename to onboard_dev > usb: misc: onboard_dev: add support for non-hub devices > drm: ci: arm64.config: update ONBOARD_USB_HUB to ONBOARD_USB_DEV > arm64: defconfig: update ONBOARD_USB_HUB to ONBOARD_USB_DEV > ARM: multi_v7_defconfig: update ONBOARD_USB_HUB name > usb: misc: onboard_dev: use device supply names > ASoC: dt-bindings: xmos,xvf3500: add XMOS XVF3500 voice processor > usb: misc: onboard_hub: add support for XMOS XVF3500 > > ...-usb-hub => sysfs-bus-platform-onboard-usb-dev} | 4 +- > .../devicetree/bindings/sound/xmos,xvf3500.yaml | 63 +++ > MAINTAINERS | 4 +- > arch/arm/configs/multi_v7_defconfig | 2 +- > arch/arm64/configs/defconfig | 2 +- > drivers/gpu/drm/ci/arm64.config | 4 +- > drivers/usb/core/Makefile | 4 +- > drivers/usb/core/hub.c | 8 +- > drivers/usb/core/hub.h | 2 +- > drivers/usb/misc/Kconfig | 16 +- > drivers/usb/misc/Makefile | 2 +- > drivers/usb/misc/onboard_usb_dev.c | 525 +++++++++++++++++++++ > .../misc/{onboard_usb_hub.h => onboard_usb_dev.h} | 69 ++- > ...ard_usb_hub_pdevs.c => onboard_usb_dev_pdevs.c} | 47 +- > drivers/usb/misc/onboard_usb_hub.c | 501 -------------------- > include/linux/usb/onboard_dev.h | 18 + > include/linux/usb/onboard_hub.h | 18 - > 17 files changed, 709 insertions(+), 580 deletions(-) > --- > base-commit: 41bccc98fb7931d63d03f326a746ac4d429c1dd3 > change-id: 20240130-onboard_xvf3500-6c0e78d11a1b > > Best regards, > -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider http://www.tq-group.com/