Re: [PATCH 1/2] dt-bindings: phy: add bcm63xx-usbh bindings

Florian Fainelli
2020-06-16T18:21:09Z

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@gmail.com> 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@gmail.com>
>>> ---
>>> .../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@gmail.com>
>>> +
>>> +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