Re: [PATCH v4 0/8] usb: misc: onboard_hub: add support for XMOS XVF3500

Alexander Stein
2024-02-20T14:34:55Z

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@linaro.org/

> 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@gmail.com>
> To: Mark Brown <broonie@kernel.org>
> To: Rob Herring <robh+dt@kernel.org>
> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> To: Conor Dooley <conor+dt@kernel.org>
> To: Matthias Kaehlcke <mka@chromium.org>
> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> To: Helen Koike <helen.koike@collabora.com>
> To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> To: Maxime Ripard <mripard@kernel.org>
> To: Thomas Zimmermann <tzimmermann@suse.de>
> To: David Airlie <airlied@gmail.com>
> To: Daniel Vetter <daniel@ffwll.ch>
> To: Catalin Marinas <catalin.marinas@arm.com>
> To: Will Deacon <will@kernel.org>
> To: Russell King <linux@armlinux.org.uk>
> Cc: linux-sound@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-usb@vger.kernel.org
> Cc: dri-devel@lists.freedesktop.org
> Cc: linux-arm-kernel@lists.infradead.org
> Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net>
>
> 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@wolfvision.net
>
> 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@wolfvision.net
>
> 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@wolfvision.net/
>
> ---
> 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