RE: [PATCH v1 2/7] dt-bindings: usb: hpe,gxp-udc: Add binding for gxp gadget

From: Yu, Richard
Date: Mon Nov 07 2022 - 15:17:05 EST


Hi Mr. Kozlowski,

> > +
> > + vdevnum:
> > + description:
> > + virtual device number.

> That's unusual property... Why numbering devices is part of DT (hardware description)?

In HPE GXP virtual EHCI controller chipset, it can support up to 8 virtual devices(gadgets). Each device/gadget will be represented by a bit in 8 bits register. For example, the interrupt register bit 0 indicates the interrupt from device 0, bit 1 for device 1 ... so on. When a user defines a device/gadget, he/she can define the device number as between 0 and 7. Thus, the driver can look up to the bit position. That is why we have numbering devices as part of DT.

> > +
> > + fepnum:
> > + description:
> > + number of the flexible end-points this device is needed.

> Similar question.

In HPE GXP virtual EHCI Controller chipset, there is a flexible End-Point(EP) pool. Each flexible EP has its own mapping register. The mapping register bit 0 to 3 is for device number (vdevnum) and bit 4 to 7 is for EP number inside the device. The device driver configures the mapping register to assign a flexible EP to a specific device. Here, "fepnum" is the input letting the driver know how many EPs are needed for this device/gadget.

Thanks

Richard.