From: mturquette@linaro.org (Mike Turquette)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 3/3] Documentation: Add documentation for APM X-Gene clock binding
Date: Thu, 25 Jul 2013 13:59:53 -0700 [thread overview]
Message-ID: <20130725205953.7598.15913@quantum> (raw)
In-Reply-To: <1372269371-22992-4-git-send-email-lho@apm.com>
Quoting Loc Ho (2013-06-26 10:56:11)
> Documentation: Add documentation for APM X-Gene clock binding with PLL and
> device clocks.
>
> Signed-off-by: Loc Ho <lho@apm.com>
> Signed-off-by: Kumar Sankaran <ksankaran@apm.com>
> Signed-off-by: Vinayak Kale <vkale@apm.com>
> Signed-off-by: Feng Kan <fkan@apm.com>
> ---
> Documentation/devicetree/bindings/clock/xgene.txt | 111 +++++++++++++++++++++
> 1 files changed, 111 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/clock/xgene.txt
>
> diff --git a/Documentation/devicetree/bindings/clock/xgene.txt b/Documentation/devicetree/bindings/clock/xgene.txt
> new file mode 100644
> index 0000000..1c4ef77
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/xgene.txt
> @@ -0,0 +1,111 @@
> +Device Tree Clock bindings for APM X-Gene
> +
> +This binding uses the common clock binding[1].
> +
> +[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
> +
> +Required properties:
> +- compatible : shall be one of the following:
> + "apm,xgene-socpll-clock" - for a X-Gene SoC PLL clock
> + "apm,xgene-pcppll-clock" - for a X-Gene PCP PLL clock
> + "apm,xgene-device-clock" - for a X-Gene device clock
> +
> +Required properties for SoC or PCP PLL clocks:
> +- reg : shall be the physical PLL register address for the pll clock.
> +- clocks : shall be the input parent clock phandle for the clock. This should
> + be the reference clock.
> +- #clock-cells : shall be set to 1.
> +- clock-output-names : shall be the name of the PLL referenced by derive
> + clock.
> +Optional properties for PLL clocks:
> +- clock-names : shall be the name of the PLL. If missing, use the device name.
> +
> +Required properties for device clocks:
> +- reg : shall be a list of address and length pairs describing the CSR
> + reset and/or the divider. Either may be omitted, but at least
> + one must be present.
> + - reg-names : shall be a string list describing the reg resource. This
> + may include "csr-reg" and/or "div-reg". If this property
> + is not present, the reg property is assumed to describe
> + only "csr-reg".
Where is reg-names used? I see it used in your DTS but I don't see
clk-xgene.c doing anything with it.
> +- clocks : shall be the input parent clock phandle for the clock.
> +- #clock-cells : shall be set to 1.
> +- clock-output-names : shall be the name of the device referenced.
> +Optional properties for device clocks:
> +- clock-names : shall be the name of the device clock. If missing, use the
> + device name.
> +- csr-offset : Offset to the CSR reset register from the reset address base.
> + Default is 0.
> +- csr-mask : CSR reset mask bit. Default is 0xF.
> +- enable-offset : Offset to the enable register from the reset address base.
> + Default is 0x8.
> +- enable-mask : CSR enable mask bit. Default is 0xF.
> +- divider-offset : Offset to the divider CSR register from the divider base.
> + Default is 0x0.
> +- divider-width : Width of the divider register. Default is 0.
> +- divider-shift : Bit shift of the divider register. Default is 0.
There is a general push to not have register-level details in DT. How
many clocks do you think you'll end up defining in the future? If you
have a lot then this binding could grow fairly large.
Regards,
Mike
> +
> +For example:
> +
> + pcppll: pcppll at 17000100 {
> + compatible = "apm,xgene-pcppll-clock";
> + #clock-cells = <1>;
> + clocks = <&refclk 0>;
> + clock-names = "pcppll";
> + reg = <0x0 0x17000100 0x0 0x1000>;
> + clock-output-names = "pcppll";
> + type = <0>;
> + };
> +
> + socpll: socpll at 17000120 {
> + compatible = "apm,xgene-socpll-clock";
> + #clock-cells = <1>;
> + clocks = <&refclk 0>;
> + clock-names = "socpll";
> + reg = <0x0 0x17000120 0x0 0x1000>;
> + clock-output-names = "socpll";
> + type = <1>;
> + };
> +
> + qmlclk: qmlclk {
> + compatible = "apm,xgene-device-clock";
> + #clock-cells = <1>;
> + clocks = <&socplldiv2 0>;
> + clock-names = "qmlclk";
> + reg = <0x0 0x1703C000 0x0 0x1000>;
> + reg-name = "csr-reg";
> + clock-output-names = "qmlclk";
> + };
> +
> + ethclk: ethclk {
> + compatible = "apm,xgene-device-clock";
> + #clock-cells = <1>;
> + clocks = <&socplldiv2 0>;
> + clock-names = "ethclk";
> + reg = <0x0 0x17000000 0x0 0x1000>;
> + reg-names = "div-reg";
> + divider-offset = <0x238>;
> + divider-width = <0x9>;
> + divider-shift = <0x0>;
> + clock-output-names = "ethclk";
> + };
> +
> + apbclk: apbclk {
> + compatible = "apm,xgene-device-clock";
> + #clock-cells = <1>;
> + clocks = <&ahbclk 0>;
> + clock-names = "apbclk";
> + reg = <0x0 0x1F2AC000 0x0 0x1000
> + 0x0 0x1F2AC000 0x0 0x1000>;
> + reg-names = "csr-reg", "div-reg";
> + csr-offset = <0x0>;
> + csr-mask = <0x200>;
> + enable-offset = <0x8>;
> + enable-mask = <0x200>;
> + divider-offset = <0x10>;
> + divider-width = <0x2>;
> + divider-shift = <0x0>;
> + flags = <0x8>;
> + clock-output-names = "apbclk";
> + };
> +
> --
> 1.5.5
WARNING: multiple messages have this Message-ID (diff)
From: Mike Turquette <mturquette@linaro.org>
To: mark.rutland@arm.com
Cc: fkan@apm.com, Catalin.Marinas@arm.com,
devicetree-discuss@lists.ozlabs.org, Loc Ho <lho@apm.com>,
ksankaran@apm.com, vkale@apm.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v5 3/3] Documentation: Add documentation for APM X-Gene clock binding
Date: Thu, 25 Jul 2013 13:59:53 -0700 [thread overview]
Message-ID: <20130725205953.7598.15913@quantum> (raw)
In-Reply-To: <1372269371-22992-4-git-send-email-lho@apm.com>
Quoting Loc Ho (2013-06-26 10:56:11)
> Documentation: Add documentation for APM X-Gene clock binding with PLL and
> device clocks.
>
> Signed-off-by: Loc Ho <lho@apm.com>
> Signed-off-by: Kumar Sankaran <ksankaran@apm.com>
> Signed-off-by: Vinayak Kale <vkale@apm.com>
> Signed-off-by: Feng Kan <fkan@apm.com>
> ---
> Documentation/devicetree/bindings/clock/xgene.txt | 111 +++++++++++++++++++++
> 1 files changed, 111 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/clock/xgene.txt
>
> diff --git a/Documentation/devicetree/bindings/clock/xgene.txt b/Documentation/devicetree/bindings/clock/xgene.txt
> new file mode 100644
> index 0000000..1c4ef77
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/xgene.txt
> @@ -0,0 +1,111 @@
> +Device Tree Clock bindings for APM X-Gene
> +
> +This binding uses the common clock binding[1].
> +
> +[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
> +
> +Required properties:
> +- compatible : shall be one of the following:
> + "apm,xgene-socpll-clock" - for a X-Gene SoC PLL clock
> + "apm,xgene-pcppll-clock" - for a X-Gene PCP PLL clock
> + "apm,xgene-device-clock" - for a X-Gene device clock
> +
> +Required properties for SoC or PCP PLL clocks:
> +- reg : shall be the physical PLL register address for the pll clock.
> +- clocks : shall be the input parent clock phandle for the clock. This should
> + be the reference clock.
> +- #clock-cells : shall be set to 1.
> +- clock-output-names : shall be the name of the PLL referenced by derive
> + clock.
> +Optional properties for PLL clocks:
> +- clock-names : shall be the name of the PLL. If missing, use the device name.
> +
> +Required properties for device clocks:
> +- reg : shall be a list of address and length pairs describing the CSR
> + reset and/or the divider. Either may be omitted, but at least
> + one must be present.
> + - reg-names : shall be a string list describing the reg resource. This
> + may include "csr-reg" and/or "div-reg". If this property
> + is not present, the reg property is assumed to describe
> + only "csr-reg".
Where is reg-names used? I see it used in your DTS but I don't see
clk-xgene.c doing anything with it.
> +- clocks : shall be the input parent clock phandle for the clock.
> +- #clock-cells : shall be set to 1.
> +- clock-output-names : shall be the name of the device referenced.
> +Optional properties for device clocks:
> +- clock-names : shall be the name of the device clock. If missing, use the
> + device name.
> +- csr-offset : Offset to the CSR reset register from the reset address base.
> + Default is 0.
> +- csr-mask : CSR reset mask bit. Default is 0xF.
> +- enable-offset : Offset to the enable register from the reset address base.
> + Default is 0x8.
> +- enable-mask : CSR enable mask bit. Default is 0xF.
> +- divider-offset : Offset to the divider CSR register from the divider base.
> + Default is 0x0.
> +- divider-width : Width of the divider register. Default is 0.
> +- divider-shift : Bit shift of the divider register. Default is 0.
There is a general push to not have register-level details in DT. How
many clocks do you think you'll end up defining in the future? If you
have a lot then this binding could grow fairly large.
Regards,
Mike
> +
> +For example:
> +
> + pcppll: pcppll@17000100 {
> + compatible = "apm,xgene-pcppll-clock";
> + #clock-cells = <1>;
> + clocks = <&refclk 0>;
> + clock-names = "pcppll";
> + reg = <0x0 0x17000100 0x0 0x1000>;
> + clock-output-names = "pcppll";
> + type = <0>;
> + };
> +
> + socpll: socpll@17000120 {
> + compatible = "apm,xgene-socpll-clock";
> + #clock-cells = <1>;
> + clocks = <&refclk 0>;
> + clock-names = "socpll";
> + reg = <0x0 0x17000120 0x0 0x1000>;
> + clock-output-names = "socpll";
> + type = <1>;
> + };
> +
> + qmlclk: qmlclk {
> + compatible = "apm,xgene-device-clock";
> + #clock-cells = <1>;
> + clocks = <&socplldiv2 0>;
> + clock-names = "qmlclk";
> + reg = <0x0 0x1703C000 0x0 0x1000>;
> + reg-name = "csr-reg";
> + clock-output-names = "qmlclk";
> + };
> +
> + ethclk: ethclk {
> + compatible = "apm,xgene-device-clock";
> + #clock-cells = <1>;
> + clocks = <&socplldiv2 0>;
> + clock-names = "ethclk";
> + reg = <0x0 0x17000000 0x0 0x1000>;
> + reg-names = "div-reg";
> + divider-offset = <0x238>;
> + divider-width = <0x9>;
> + divider-shift = <0x0>;
> + clock-output-names = "ethclk";
> + };
> +
> + apbclk: apbclk {
> + compatible = "apm,xgene-device-clock";
> + #clock-cells = <1>;
> + clocks = <&ahbclk 0>;
> + clock-names = "apbclk";
> + reg = <0x0 0x1F2AC000 0x0 0x1000
> + 0x0 0x1F2AC000 0x0 0x1000>;
> + reg-names = "csr-reg", "div-reg";
> + csr-offset = <0x0>;
> + csr-mask = <0x200>;
> + enable-offset = <0x8>;
> + enable-mask = <0x200>;
> + divider-offset = <0x10>;
> + divider-width = <0x2>;
> + divider-shift = <0x0>;
> + flags = <0x8>;
> + clock-output-names = "apbclk";
> + };
> +
> --
> 1.5.5
next prev parent reply other threads:[~2013-07-25 20:59 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-26 17:56 [PATCH v5 0/3] clk: Add APM X-Gene SoC clock driver Loc Ho
2013-06-26 17:56 ` Loc Ho
2013-06-26 17:56 ` [PATCH v5 1/3] " Loc Ho
2013-06-26 17:56 ` Loc Ho
2013-06-26 17:56 ` [PATCH v5 2/3] clk: arm64: Add DTS clock entry for APM X-Gene Storm SoC Loc Ho
2013-06-26 17:56 ` Loc Ho
2013-06-26 17:56 ` [PATCH v5 3/3] Documentation: Add documentation for APM X-Gene clock binding Loc Ho
2013-06-26 17:56 ` Loc Ho
2013-07-25 20:59 ` Mike Turquette [this message]
2013-07-25 20:59 ` Mike Turquette
[not found] ` <CAPw-ZT=8TL2bJABd6_76JyZcDS+NTk+vJzj0YCGNNujKx+JqOA@mail.gmail.com>
2013-10-07 7:58 ` Mike Turquette
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=20130725205953.7598.15913@quantum \
--to=mturquette@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.