From: "Rafał Miłecki" <rafal@milecki.pl>
To: Rob Herring <robh@kernel.org>
Cc: "Mark Rutland" <mark.rutland@arm.com>,
devicetree@vger.kernel.org,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Scott Branden" <sbranden@broadcom.com>,
"Ray Jui" <rjui@broadcom.com>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Rafał Miłecki" <zajec5@gmail.com>,
linux-gpio@vger.kernel.org,
bcm-kernel-feedback-list@broadcom.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH V3 1/2] dt-bindings: pinctrl: document Broadcom Northstar pin mux controller
Date: Mon, 15 Oct 2018 10:56:41 +0200 [thread overview]
Message-ID: <7f08ed7bf11a22163bdfd56ff96a9262@milecki.pl> (raw)
In-Reply-To: <20181011222229.GA7470@bogus>
On 2018-10-12 00:22, Rob Herring wrote:
> On Wed, Sep 26, 2018 at 09:31:02PM +0200, Rafał Miłecki wrote:
>> From: Rafał Miłecki <rafal@milecki.pl>
>>
>> Northstar has mux controller just like Northstar Plus and Northstar2.
>> It's a bit different though (different registers & pins) so it
>> requires
>> its own binding.
>>
>> It's needed to allow other block bindings specify required mux setup.
>>
>> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
>> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
>> ---
>> V2: Use "cru_gpio_control"
>> Add more functions & groups
>> Include Florian's Reviewed-by
>> V3: Use 3 different bindings as available pins depend on the chipset.
>> Strings match
>> Documentation/devicetree/bindings/arm/bcm/brcm,bcm4708.txt
>> ---
>> .../bindings/pinctrl/brcm,bcm4708-pinmux.txt | 42
>> ++++++++++++++++++++++
>> 1 file changed, 42 insertions(+)
>> create mode 100644
>> Documentation/devicetree/bindings/pinctrl/brcm,bcm4708-pinmux.txt
>>
>> diff --git
>> a/Documentation/devicetree/bindings/pinctrl/brcm,bcm4708-pinmux.txt
>> b/Documentation/devicetree/bindings/pinctrl/brcm,bcm4708-pinmux.txt
>> new file mode 100644
>> index 000000000000..af906f196e8c
>> --- /dev/null
>> +++
>> b/Documentation/devicetree/bindings/pinctrl/brcm,bcm4708-pinmux.txt
>> @@ -0,0 +1,42 @@
>> +Broadcom Northstar pins mux controller
>> +
>> +Some of Northstar SoCs's pins can be used for various purposes thanks
>> to the mux
>> +controller. This binding allows describing mux controller and listing
>> available
>> +functions. They can be referenced later by other bindings to let
>> system
>> +configure controller correctly.
>> +
>> +A list of pins varies across chipsets so few bindings are available.
>> +
>> +Required properties:
>> +- compatible: must be one of:
>> + "brcm,bcm4708-pinmux"
>> + "brcm,bcm4709-pinmux"
>> + "brcm,bcm53012-pinmux"
>> +- reg: iomem address range of CRU (Central Resource Unit) pin
>> registers
>
> Perhaps 'cru' in the compatible if that's what the h/w is called?
>
> Also, if this is a sub-block, then it should be a child of the block
> which should be defined here.
It took me some time to do some extra research on the whole CRU thing.
Valuable resources:
[1] bcm5301x_dmu.c (from the SDK)
[2] bcm5301x_pcie.c (from the SDK)
[3] https://patchwork.kernel.org/patch/7888651/
[4] https://patchwork.kernel.org/patch/5051471/
First of all CRU seems to be a sub-block of the DMU (which stands for
"Device Management Unit" according to the [1]). DMU seems to be
independent block at 0x1800c000 with a size of 0x1000.
It isn't actually clear what the CRU stands for. In Broadcom's case:
1. According to the [3] it's "Clock and Reset Unit"
2. According to the [4] it's a "central resource unit"
Other vendors seem to use CRU name for "Clock and Reset Unit".
In any case, you're right Rob, it's a sub-block, a set of random
registers that control SoC.
So I think that:
1) We should have a node for DMU and CRU
2) We should not include "cru" in bindings as pinmuxing seems to be part
of SoC that just happens to be controlled using CRU registers
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2018-10-15 8:56 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-26 19:31 [PATCH V3 1/2] dt-bindings: pinctrl: document Broadcom Northstar pin mux controller Rafał Miłecki
2018-09-26 19:31 ` [PATCH V3 2/2] pinctrl: bcm: add Northstar driver Rafał Miłecki
2018-10-10 7:17 ` Linus Walleij
2018-10-10 7:16 ` [PATCH V3 1/2] dt-bindings: pinctrl: document Broadcom Northstar pin mux controller Linus Walleij
2018-10-11 22:22 ` Rob Herring
2018-10-12 9:13 ` Linus Walleij
2018-10-15 8:56 ` Rafał Miłecki [this message]
2018-10-16 7:41 ` Linus Walleij
2018-10-16 9:06 ` Rafał Miłecki
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=7f08ed7bf11a22163bdfd56ff96a9262@milecki.pl \
--to=rafal@milecki.pl \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=rjui@broadcom.com \
--cc=robh@kernel.org \
--cc=sbranden@broadcom.com \
--cc=zajec5@gmail.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).