Message ID | 20240130-onboard_xvf3500-v1-0-51b5398406cb@wolfvision.net |
---|---|
Headers | show |
Series | usb: misc: onboard_usb_hub: add support for XMOS XVF3500 | expand |
On Tue, Jan 30, 2024 at 01:26:56PM +0100, Javier Carrasco wrote: > The XMOS XVF3500 VocalFusion Voice Processor[1] is a low-latency, 32-bit > multicore controller for voice processing. > > Add new bindings to define the device properties. > > [1] https://www.xmos.com/xvf3500/ > > Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net> > --- > .../devicetree/bindings/sound/xmos,xvf3500.yaml | 51 ++++++++++++++++++++++ > 1 file changed, 51 insertions(+) > > diff --git a/Documentation/devicetree/bindings/sound/xmos,xvf3500.yaml b/Documentation/devicetree/bindings/sound/xmos,xvf3500.yaml > new file mode 100644 > index 000000000000..d7d5bda23b1b > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/xmos,xvf3500.yaml > @@ -0,0 +1,51 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/xmos,xvf3500.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: XMOS XVF3500 VocalFusion Voice Processor > + > +maintainers: > + - Javier Carrasco <javier.carrasco@wolfvision.net> > + > +description: > + The XMOS XVF3500 VocalFusion Voice Processor is a low-latency, 32-bit > + multicore controller for voice processing. > + https://www.xmos.com/xvf3500/ > + > +properties: > + compatible: > + const: usb20b1,0013 > + > + reset-gpios: > + maxItems: 1 > + > + vdd-supply: > + description: > + Regulator for the 1V0 supply. > + > + vdd2-supply: > + description: > + Regulator for the 3V3 supply. > + > +required: > + - compatible > + - reset-gpios > + - vdd-supply > + - vdd2-supply > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + > + xvf3500 { > + compatible = "usb20b1,0013"; > + reset-gpios = <&gpio 5 GPIO_ACTIVE_LOW>; > + vdd-supply = <&vcc1v0>; > + vdd2-supply = <&vcc3v3>; > + }; A USB device should hang off a USB hub (or root hub). Looks like you just have a random node here. You should also have a $ref to usb-device.yaml. You'll see you need a reg property for example. Rob
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. During a previous attempt to add a specific driver for this device, its addition to the existing onboard_hub driver was suggested as (possibly) the simplest solution[2]. The power management provided by onboard_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. 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/ [2] https://lore.kernel.org/all/aeeb0dfb-87e2-4024-9d4a-0b9529477315@linaro.org/ Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net> --- Javier Carrasco (2): ASoC: dt-bindings: xmos,xvf3500: add XMOS XVF3500 voice processor usb: misc: onboard_hub: add support for XMOS XVF3500 .../devicetree/bindings/sound/xmos,xvf3500.yaml | 51 ++++++++++++++++++++++ drivers/usb/misc/onboard_usb_hub.c | 2 + drivers/usb/misc/onboard_usb_hub.h | 6 +++ 3 files changed, 59 insertions(+) --- base-commit: 41bccc98fb7931d63d03f326a746ac4d429c1dd3 change-id: 20240130-onboard_xvf3500-6c0e78d11a1b Best regards,