devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Harsh Agarwal <quic_harshq@quicinc.com>
To: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Felipe Balbi <balbi@kernel.org>, <linux-usb@vger.kernel.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<quic_pkondeti@quicinc.com>, <quic_ppratap@quicinc.com>
Subject: Re: [RFC 1/2] dt-bindings: usb: dwc3: Add support for multiport related properties
Date: Mon, 23 May 2022 17:24:39 +0530	[thread overview]
Message-ID: <df0fb8cb-79bb-6941-5ce7-baaef2393797@quicinc.com> (raw)
In-Reply-To: <YohW/W3Mk0J0AKVt@ripper>


On 5/21/2022 8:35 AM, Bjorn Andersson wrote:
> On Thu 19 May 05:34 PDT 2022, Harsh Agarwal wrote:
>
>> Added support for multiport, mport, num-ssphy and num-hsphy
>> properties. These properties are used to support devices having
>> a multiport controller.
>>
>> Signed-off-by: Harsh Agarwal <quic_harshq@quicinc.com>
> Please do run dt_binding_check on your bindings, even though they are
> RFCs.
There was some dt_binding package issue so I could not run it.
Thought to check this later since this is RFC.
Sure, I will check this.
>
>> ---
>>   .../devicetree/bindings/usb/snps,dwc3.yaml         | 55 ++++++++++++++++++++++
>>   1 file changed, 55 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
>> index f4471f8..39c61483 100644
>> --- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
>> +++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
>> @@ -341,6 +341,35 @@ properties:
>>         This port is used with the 'usb-role-switch' property  to connect the
>>         dwc3 to type C connector.
>>   
>> +  multiport:
> Why are you inventing an of_graph lookalike here?

Not really an of_graph lookalike, here we just wanted to add "multiport" 
node which would have "mport" nodes for every port that it supports.
We can treat this "multiport" like an object encapsulating other "mport" 
objects.

>
>> +    description:
>> +      If a single USB controller supports multiple ports, then it's referred to as
>> +      a multiport controller. Each port of the multiport controller can support
>> +      either High Speed or Super Speed or both and have their own PHY phandles. Each
>> +      port is represented by "mport" node and all the "mport" nodes are grouped
>> +      together inside the "multiport" node where individual "mport" node defines the
>> +      PHYs supported by that port.
>> +    required:
>> +      - mport
>> +
>> +  num-hsphy:
>> +    description: Total number of HS-PHYs defined by the multiport controller.
>> +    $ref: /schemas/types.yaml#/definitions/uint32
> I'm expecting that you wont' have any superspeed-only ports. As such
> this number would imply be the number of ports listed under the node.

Yes we can say that num_hsphy is equal to the number of "mport" nodes as 
every node will
have a HSPHY.

>
>> +
>> +  num-ssphy:
>> +    description: Total number of SS-PHYs defined by the multiport controller.
>> +    $ref: /schemas/types.yaml#/definitions/uint32
> Can you please explain why it's necessary to specify usb_nop_phy?
> Wouldn't it be possible to omit the phy in the case of a HS-only port?
> In which case this could just be calculated as well.
Yes we can ignore usb_nop_phy. It's not really necessary at places where 
we don't have a proper PHY in place.
>
> Regards,
> Bjorn
>
>> +
>> +  mport:
>> +    description: Each mport node represents one port of the multiport controller.
>> +    patternProperties: "^mport@[0-9a-f]+$"
>> +    oneOf:
>> +       - required:
>> +         - usb-phy
>> +       - required:
>> +          - phys
>> +          - phy-names
>> +
>>   unevaluatedProperties: false
>>   
>>   required:
>> @@ -369,4 +398,30 @@ examples:
>>         snps,dis_u2_susphy_quirk;
>>         snps,dis_enblslpm_quirk;
>>       };
>> +  - |
>> +    usb@4a000000 {
>> +      compatible = "snps,dwc3";
>> +      reg = <0x4a000000 0xcfff>;
>> +      interrupts = <0 92 4>;
>> +
>> +      multiport {
>> +
>> +	MP_1: mport@1 {
>> +          usb-phy = <&usb2_phy0>, <&usb3_phy0>;
>> +	};
>> +
>> +	MP_2: mport@2 {
>> +          usb-phy = <&usb2_phy1>, <&usb3_phy1>;
>> +	};
>> +
>> +	MP_3: mport@3 {
>> +          usb-phy = <&usb2_phy2>, <&usb_nop_phy>;
>> +	};
>> +
>> +	MP_4: mport@4 {
>> +          usb-phy = <&usb2_phy3>, <&usb_nop_phy>;
>> +	};
>> +
>> +      };
>> +    };
>>   ...
>> -- 
>> 2.7.4
>>

  reply	other threads:[~2022-05-23 11:54 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-19 12:34 [RFC 0/2] Add support for multiport controller Harsh Agarwal
2022-05-19 12:34 ` [RFC 1/2] dt-bindings: usb: dwc3: Add support for multiport related properties Harsh Agarwal
2022-05-19 19:23   ` Rob Herring
2022-05-21  3:05   ` Bjorn Andersson
2022-05-23 11:54     ` Harsh Agarwal [this message]
2022-05-21  3:28   ` Pavan Kondeti
2022-05-23 12:25   ` Rob Herring
2022-05-27 11:09     ` Harsh Agarwal
2022-05-19 12:34 ` [RFC 2/2] usb: dwc3: Refactor PHY logic to support Multiport Controller Harsh Agarwal
2022-05-21  3:17   ` Bjorn Andersson
2022-05-23 11:53     ` Harsh Agarwal
2022-05-23  2:59   ` Pavan Kondeti
2022-05-23  7:08   ` Pavan Kondeti
2022-05-23 16:10   ` Brian Masney
2022-05-27 10:56     ` Harsh Agarwal

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=df0fb8cb-79bb-6941-5ce7-baaef2393797@quicinc.com \
    --to=quic_harshq@quicinc.com \
    --cc=balbi@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=quic_pkondeti@quicinc.com \
    --cc=quic_ppratap@quicinc.com \
    --cc=robh+dt@kernel.org \
    /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).