raspberrypi,pico-usbd

Vendor: Raspberry Pi Foundation

Note

An implementation of a driver matching this compatible is available in drivers/usb/udc/udc_rpi_pico.c.

Description

These nodes are “usb” bus nodes.

RaspberryPi Pico USB Device Controller.

Example of enabling the controller with vbus detection:

  &pinctrl {
    usb_default: usb_default {
      group1 {
        pinmux = <USB_VBUS_DET_P1>;
        input-enable;
      };
    };
  };

  zephyr_udc0: &usbd {
    status = "okay";
    pinctrl-0 = <&usb_default>;
    pinctrl-names = "default";
  };

Properties

Properties not inherited from the base binding file.

Name

Type

Details

num-bidir-endpoints

int

Number of bi-directional endpoints supported by hardware
(including EP0)

This property is required.

num-in-endpoints

int

Number of IN endpoints supported by hardware
(including EP0 IN)

num-out-endpoints

int

Number of OUT endpoints supported by hardware
(including EP0 OUT)

maximum-speed

string

Configures USB controllers to work up to a specific speed. Valid arguments are "super-speed", "high-speed", "full-speed" and "low-speed". If this is not passed via DT, USB controllers should use their maximum hardware capability.

Legal values: 'low-speed', 'full-speed', 'high-speed', 'super-speed'

vbus-gpios

phandle-array

Control VBUS via GPIO pin.

resets

phandle-array

Reset information

reset-names

string-array

Name of each reset

pinctrl-0

phandles

Pin configuration/s for the first state. Content is specific to the
selected pin controller driver implementation.

pinctrl-1

phandles

Pin configuration/s for the second state. See pinctrl-0.

pinctrl-2

phandles

Pin configuration/s for the third state. See pinctrl-0.

pinctrl-3

phandles

Pin configuration/s for the fourth state. See pinctrl-0.

pinctrl-4

phandles

Pin configuration/s for the fifth state. See pinctrl-0.

pinctrl-names

string-array

Names for the provided states. The number of names needs to match the
number of states.