linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Rafał Miłecki" <zajec5@gmail.com>
To: Florian Fainelli <f.fainelli@gmail.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Rob Herring <robh+dt@kernel.org>
Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	bcm-kernel-feedback-list@broadcom.com,
	"Rafał Miłecki" <rafal@milecki.pl>
Subject: Re: [PATCH 1/2] dt-bindings: reset: document Broadcom's BCM4908 USB reset binding
Date: Fri, 4 Dec 2020 17:39:14 +0100	[thread overview]
Message-ID: <cb2c0545-a1f6-4b85-6f9f-15813f74e323@gmail.com> (raw)
In-Reply-To: <0cc54a35-7d70-8a2f-0c1f-da124136a66d@gmail.com>

On 04.12.2020 17:32, Florian Fainelli wrote:
> On 12/4/2020 1:37 AM, Rafał Miłecki wrote:
>> From: Rafał Miłecki <rafal@milecki.pl>
>>
>> Document binding of block responsible for initializing USB controllers
>> (OHCI, EHCI, XHCI).
>>
>> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
>> ---
>>   .../reset/brcm,bcm4908-usb-reset.yaml         | 60 +++++++++++++++++++
>>   1 file changed, 60 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/reset/brcm,bcm4908-usb-reset.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/reset/brcm,bcm4908-usb-reset.yaml b/Documentation/devicetree/bindings/reset/brcm,bcm4908-usb-reset.yaml
>> new file mode 100644
>> index 000000000000..31beb1c8f3cd
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/reset/brcm,bcm4908-usb-reset.yaml
>> @@ -0,0 +1,60 @@
>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/reset/brcm,bcm4908-usb-reset.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Broadcom BCM4908 USB host controller reset
>> +
>> +description: >
>> +  BCM4908 has a separated block controlling all USB controllers. It handles the
>> +  whole setup process and takes care of initializing PHYs at the right time
>> +  (state).
>> +
>> +maintainers:
>> +  - Rafał Miłecki <rafal@milecki.pl>
>> +
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - brcm,bcm4908-usb-reset
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  resets:
>> +    $ref: /schemas/types.yaml#/definitions/phandle
>> +
>> +  phys:
>> +    minItems: 2
>> +    maxItems: 2
>> +    $ref: /schemas/types.yaml#/definitions/phandle-array
>> +
>> +  phy-names:
>> +    items:
>> +      - const: usb2
>> +      - const: usb3
>> +
>> +  "#reset-cells":
>> +    const: 0
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - phys
>> +  - phy-names
>> +  - "#reset-cells"
>> +
>> +additionalProperties: true
>> +
>> +examples:
>> +  - |
>> +    reset-controller@8000c200 {
>> +        compatible = "brcm,bcm4908-usb-reset";
>> +        reg = <0x8000c200 0x100>;
>> +
>> +        phys = <&usb2_phy>, <&usb3_phy>;
>> +        phy-names = "usb2", "usb3";
> 
> This looks quite unusual, usually the *HCI controllers would be
> consumers of the PHY and the PHY may be a consumer of the reset controller.
> 
> (still going through my emails have not fully read your separate email
> on the topic, so pardon me if this is being discussed twice).

I agree, it's the the best solution I found for this specific design.

This specific hw block perform various operations before, in the middle and
after PHY initialization. That made me make reset controlller initialize PHYs.

I'm happy to implement a more proper design if someone can just suggest how.
I don't have any better idea :(

  reply	other threads:[~2020-12-04 16:40 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-04  9:37 [PATCH 1/2] dt-bindings: reset: document Broadcom's BCM4908 USB reset binding Rafał Miłecki
2020-12-04  9:37 ` [PATCH 2/2] reset: bcm4908-usb: add driver for BCM4908 USB reset controller Rafał Miłecki
2020-12-04 16:13   ` Philipp Zabel
2020-12-04 16:29     ` Rafał Miłecki
2020-12-04 16:38   ` Florian Fainelli
2020-12-04 16:42     ` Rafał Miłecki
2020-12-04 16:32 ` [PATCH 1/2] dt-bindings: reset: document Broadcom's BCM4908 USB reset binding Florian Fainelli
2020-12-04 16:39   ` Rafał Miłecki [this message]
2020-12-09 23:35     ` Rob Herring
2020-12-10  0:27       ` Florian Fainelli

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=cb2c0545-a1f6-4b85-6f9f-15813f74e323@gmail.com \
    --to=zajec5@gmail.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=rafal@milecki.pl \
    --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).