On 6/16/2020 11:10 AM, Álvaro Fernández Rojas wrote: > Hello Florian, > >> El 16 jun 2020, a las 19:17, Florian Fainelli <f.fainelli@xxxxxxxxx> escribió: >> >> >> >> On 6/16/2020 1:34 AM, Álvaro Fernández Rojas wrote: >>> Document BCM63xx USBH PHY bindings. >>> >>> Signed-off-by: Álvaro Fernández Rojas <noltari@xxxxxxxxx> >>> --- >>> .../bindings/phy/brcm,bcm63xx-usbh-phy.yaml | 72 +++++++++++++++++++ >>> 1 file changed, 72 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/phy/brcm,bcm63xx-usbh-phy.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/phy/brcm,bcm63xx-usbh-phy.yaml b/Documentation/devicetree/bindings/phy/brcm,bcm63xx-usbh-phy.yaml >>> new file mode 100644 >>> index 000000000000..3e7c97799b91 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/phy/brcm,bcm63xx-usbh-phy.yaml >>> @@ -0,0 +1,72 @@ >>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>> +%YAML 1.2 >>> +--- >>> +$id: "http://devicetree.org/schemas/phy/brcm,bcm63xx-usbh-phy.yaml#" >>> +$schema: "http://devicetree.org/meta-schemas/core.yaml#" >>> + >>> +title: BCM63xx USBH PHY >>> + >>> +maintainers: >>> + - Álvaro Fernández Rojas <noltari@xxxxxxxxx> >>> + >>> +properties: >>> + compatible: >>> + enum: >>> + - brcm,bcm6318-usbh-phy >>> + - brcm,bcm6328-usbh-phy >>> + - brcm,bcm6358-usbh-phy >>> + - brcm,bcm6362-usbh-phy >>> + - brcm,bcm6368-usbh-phy >>> + - brcm,bcm63268-usbh-phy >>> + >>> + reg: >>> + maxItems: 1 >>> + >>> + clocks: >>> + maxItems: 2 >>> + >>> + clock-names: >>> + items: >>> + - const: usbh >>> + - const: usb_ref >>> + >>> + resets: >>> + maxItems: 1 >>> + >>> + "#phy-cells": >>> + const: 0 >> >> On 6328, the same register space allows the controlling of the USB PHY >> in either host or device mode, so I believe you would need to add a >> #phy-cells = 1 in order to distinguish the consumer (host versus device) >> if we get to the point where drivers/usb/gadget/udc/bcm63xx_udc.c >> becomes DT aware. > > I’m not really sure about how I should do this because there’s no definition for device phy mode in dt-bindings/phy/phy.h: > https://github.com/torvalds/linux/blob/master/include/dt-bindings/phy/phy.h#L13 > > Which value should I use for device mode and which one for host? 0 for the host, which would be equivalent to not specifying the property, and 1 for the device. > Should I support both modes at the same time or are they exclusive? This is an OTG controller so you need to be able to dynamically re-configure the PHY to be in either device or host mode (see comment about bcm63xx_select_phy_mode), but there would not be both at the same time. -- Florian