linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Aswath Govindraju <a-govindraju@ti.com>, Rob Herring <robh@kernel.org>
Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-usb@vger.kernel.org, Felipe Balbi <balbi@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Roger Quadros <rogerq@kernel.org>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Kishon Vijay Abraham I <kishon@ti.com>
Subject: Re: [PATCH v2 1/2] dt-bindings: usb: Add documentation for AM62 USB Wrapper module
Date: Fri, 1 Apr 2022 09:49:36 +0200	[thread overview]
Message-ID: <5139bdb8-11ee-6efe-6c42-acf2f96d9153@linaro.org> (raw)
In-Reply-To: <1fcac9c3-4b84-6572-ebc6-4d6a50f0132a@ti.com>

On 01/04/2022 07:04, Aswath Govindraju wrote:
> Hi Rob,
> 
> On 01/04/22 05:50, Rob Herring wrote:
>> On Thu, Mar 24, 2022 at 12:53:08PM +0100, Krzysztof Kozlowski wrote:
>>> On 24/03/2022 12:40, Aswath Govindraju wrote:
>>>> Hi Krzysztof,
>>>>
>>>> On 24/03/22 16:37, Krzysztof Kozlowski wrote:
>>>>> On 24/03/2022 08:34, Aswath Govindraju wrote:
>>>>>> Add bindings for the TI's AM62 wrapper module for the Synopsys USBSS-DRD
>>>>>> controller.
>>>>>>
>>>>>> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
>>>>>> ---
>>>>>>
>>>>>> Changes since v1:
>>>>>> - made correction in grammer of clocks property description
>>>>>>   and added maxItems in the interrupts property based on comments
>>>>>>   received from Roger
>>>>>> - corrected the title, fixed the description of
>>>>>>   ti,syscon-phy-pll-refclk, added pattern properties and child node
>>>>>>   in the example based on the comments from Krzysztof.
>>>>>>
>>>>>>  .../devicetree/bindings/usb/ti,am62-usb.yaml  | 117 ++++++++++++++++++
>>>>>>  1 file changed, 117 insertions(+)
>>>>>>  create mode 100644 Documentation/devicetree/bindings/usb/ti,am62-usb.yaml
>>>>>>
>>>>>> diff --git a/Documentation/devicetree/bindings/usb/ti,am62-usb.yaml b/Documentation/devicetree/bindings/usb/ti,am62-usb.yaml
>>>>>> new file mode 100644
>>>>>> index 000000000000..452bfdc6fb09
>>>>>> --- /dev/null
>>>>>> +++ b/Documentation/devicetree/bindings/usb/ti,am62-usb.yaml
>>>>>> @@ -0,0 +1,117 @@
>>>>>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>>>>>> +%YAML 1.2
>>>>>> +---
>>>>>> +$id: http://devicetree.org/schemas/usb/ti,am62-usb.yaml#
>>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>>>> +
>>>>>> +title: TI's AM62 wrapper module for the Synopsys USBSS-DRD controller
>>>>>> +
>>>>>> +maintainers:
>>>>>> +  - Aswath Govindraju <a-govindraju@ti.com>
>>>>>> +
>>>>>> +properties:
>>>>>> +  compatible:
>>>>>> +    const: ti,am62-usb
>>>>>> +
>>>>>> +  reg:
>>>>>> +    maxItems: 1
>>>>>> +
>>>>>> +  ranges: true
>>>>>> +
>>>>>> +  power-domains:
>>>>>> +    description:
>>>>>> +      PM domain provider node and an args specifier containing
>>>>>> +      the USB ISO device id value. See,
>>>>>> +      Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
>>>>>> +    maxItems: 1
>>>>>> +
>>>>>> +  clocks:
>>>>>> +    description: Clock phandle to usb2_refclk
>>>>>> +    maxItems: 1
>>>>>> +
>>>>>> +  clock-names:
>>>>>> +    items:
>>>>>> +      - const: ref
>>>>>> +
>>>>>> +  id-gpio:
>>>>>> +    description:
>>>>>> +      GPIO to be used as ID pin
>>>>>> +    maxItems: 1
>>>>>
>>>>> I have doubts about this. If you USB controller handles the ID pin, then
>>>>> probably this should be moved to usb-connector.yaml. I did not see
>>>>> id-gpio in any other USB controller blocks.
>>>>>
>>>>
>>>> Yes, the USB wrapper handles the ID pin operation only. It also reads
>>>> the status of VBUS by reading a register from its MMR and not using a
>>>> gpio. After evaluating the role the based on the states if id pin and
>>>> VBUS, this role is communicated to the dwc3 core driver using extcon.
>>>> There is no way for the dwc3 driver to detect the role on its own.
>>>>
>>>>
>>>> The usb-connector(drivers/usb/common/usb-conn-gpio.c) driver, seems to
>>>> be implemented for driving the VBUS, based on ID and VBUS pin status.
>>>> However, in case of the above implementation we need to communicate the
>>>> detected role to the dwc3 core driver. Also, the wrapper does not
>>>> control VBUS but it is the dwc3 core driver that drives the VBUS.
>>>> Therefore, I think the usb-connector implementation cannot be used here.
>>>
>>> I don't think about usb-conn-gpio.c but using the binding generic
>>> binding for usb-X-connector and define a connector with ID.
>>>
>>> Actually Rob could help here.
>>>
>>> Rob,
>>> Should the id-gpio be modeled as a property in this glue/wrapper driver
>>> or rather as part of usb-connector child node?
>>
>> That's a simple question. Where does the ID GPIO signal go to? The 
>> connector, so it goes in the connector node.
>>
> 
> Thank you for the clarification. Here ID-gpio is directly read by the
> wrapper and hence, I have modeled it as a property in the wrapper dt
> node. May I know if this wrong and should the modelling be looked at
> differently?

What do you mean here by "read"? If you refer to the driver reading the
pin value, it is less related to the hardware, right?


Best regards,
Krzysztof

  reply	other threads:[~2022-04-01  7:49 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-24  7:34 [PATCH v2 0/2] AM62: Add support for AM62 USB wrapper driver Aswath Govindraju
2022-03-24  7:34 ` [PATCH v2 1/2] dt-bindings: usb: Add documentation for AM62 USB Wrapper module Aswath Govindraju
2022-03-24 11:07   ` Krzysztof Kozlowski
2022-03-24 11:40     ` Aswath Govindraju
2022-03-24 11:53       ` Krzysztof Kozlowski
2022-04-01  0:20         ` Rob Herring
2022-04-01  5:04           ` Aswath Govindraju
2022-04-01  7:49             ` Krzysztof Kozlowski [this message]
2022-04-01  8:05               ` Aswath Govindraju
2022-03-24  7:34 ` [PATCH v2 2/2] drivers: usb: dwc3: Add AM62 USB wrapper driver Aswath Govindraju
2022-04-07  5:32 ` [PATCH v2 0/2] AM62: Add support for " Aswath Govindraju

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5139bdb8-11ee-6efe-6c42-acf2f96d9153@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --cc=a-govindraju@ti.com \
    --cc=balbi@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kishon@ti.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=rogerq@kernel.org \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).