From: Michael Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Yoshinori Sato <ysato-Rn4VEauK+AKRv+LV9MX5uooqe+aC9MnS@public.gmane.org>
Subject: Re: [PATCH v12 17/21] h8300: clock driver
Date: Fri, 07 Aug 2015 17:43:49 -0700 [thread overview]
Message-ID: <20150808004349.2416.18161@quantum> (raw)
In-Reply-To: <1431325600-12333-18-git-send-email-ysato-Rn4VEauK+AKRv+LV9MX5uooqe+aC9MnS@public.gmane.org>
Hello Sato-san,
Unfortunately this patch did not Cc myself, Stephen Boyd or the
linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org mailing list. As such Stephen and I did not
have a chance to review it. Even more unfortunate was that it was ninja
merged by maintainers without our ack. :-/
Quoting Yoshinori Sato (2015-05-10 23:26:36)
> Signed-off-by: Yoshinori Sato <ysato-Rn4VEauK+AKRv+LV9MX5uooqe+aC9MnS@public.gmane.org>
> ---
> .../bindings/clock/renesas,h8300-div-clock.txt | 24 ++++
> .../bindings/clock/renesas,h8s2678-pll-clock.txt | 23 ++++
> drivers/clk/Makefile | 1 +
> drivers/clk/h8300/Makefile | 2 +
> drivers/clk/h8300/clk-div.c | 53 ++++++++
> drivers/clk/h8300/clk-h8s2678.c | 147 +++++++++++++++++++++
> 6 files changed, 250 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/renesas,h8300-div-clock.txt
> create mode 100644 Documentation/devicetree/bindings/clock/renesas,h8s2678-pll-clock.txt
> create mode 100644 drivers/clk/h8300/Makefile
> create mode 100644 drivers/clk/h8300/clk-div.c
> create mode 100644 drivers/clk/h8300/clk-h8s2678.c
>
> diff --git a/Documentation/devicetree/bindings/clock/renesas,h8300-div-clock.txt b/Documentation/devicetree/bindings/clock/renesas,h8300-div-clock.txt
> new file mode 100644
> index 0000000..36c2b52
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/renesas,h8300-div-clock.txt
> @@ -0,0 +1,24 @@
> +* Renesas H8/300 divider clock
> +
> +Required Properties:
> +
> + - compatible: Must be "renesas,sh73a0-h8300-div-clock"
> +
> + - clocks: Reference to the parent clocks ("extal1" and "extal2")
> +
> + - #clock-cells: Must be 1
> +
> + - reg: Base address and length of the divide rate selector
> +
> + - renesas,width: bit width of selector
> +
> +Example
> +-------
> +
> + cclk: cclk {
> + compatible = "renesas,h8300-div-clock";
> + clocks = <&xclk>;
> + #clock-cells = <0>;
> + reg = <0xfee01b 2>;
> + renesas,width = <2>;
> + };
I could not find any info on this clock in the H8S/2678 reference
manual[0]. Could you point me to the right documentation?
> diff --git a/Documentation/devicetree/bindings/clock/renesas,h8s2678-pll-clock.txt b/Documentation/devicetree/bindings/clock/renesas,h8s2678-pll-clock.txt
> new file mode 100644
> index 0000000..500cdadb
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/renesas,h8s2678-pll-clock.txt
> @@ -0,0 +1,23 @@
> +Renesas H8S2678 PLL clock
> +
> +This device is Clock multiplyer
> +
> +Required Properties:
> +
> + - compatible: Must be "renesas,h8s2678-pll-clock"
> +
> + - clocks: Reference to the parent clocks
> +
> + - #clock-cells: Must be 0
> +
> + - reg: Two rate selector (Multiply / Divide) register address
> +
> +Example
> +-------
> +
> + pllclk: pllclk {
> + compatible = "renesas,h8s2678-pll-clock";
> + clocks = <&xclk>;
> + #clock-cells = <0>;
> + reg = <0xfee03b 2>, <0xfee045 2>;
> + };
Is there really only one clock output? According to figure 21.1 there is
the "System clock to φ pin" output and the "Internal clock to peripheral
modules" output.
I am wondering if clock-cells should be 1 instead of zero and support
both of these output signals?
As a nitpick, I think it would have been better to name the node "cpg"
as it is listed in Section 21. pllclk is only one of the two registers
that make up the cpg. Something like:
cpg: clock-controller@fee03b
If you do decide to have clock-cells greater than zero, you might find
the following threads helpful. They describe how to craft a
clock-controller style binding:
http://lkml.kernel.org/r/<20150411001231.18916.93186@quantum>
http://lkml.kernel.org/r/<20150724034229.642.88156@quantum>
As an additional thought, it looks like the module stop registers are
mixed in with the clock registers. When you decide to write a reset
driver for these platforms you might want to re-use this existing dt
binding description and put the reset code into your clock provider
driver. Grep for reset.h in the drivers/clk/ directory for some
examples.
[0] http://documentation.renesas.com/doc/products/mpumcu/rej09b0283_2678hm.pdf
Regards,
Mike
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Michael Turquette <mturquette@linaro.org>
To: Yoshinori Sato <ysato@users.sourceforge.jp>,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v12 17/21] h8300: clock driver
Date: Fri, 07 Aug 2015 17:43:49 -0700 [thread overview]
Message-ID: <20150808004349.2416.18161@quantum> (raw)
Message-ID: <20150808004349.WBzReMMLhSbNuFEe95VsptRI2MKvU3kb_sOcA2l4yAo@z> (raw)
In-Reply-To: <1431325600-12333-18-git-send-email-ysato@users.sourceforge.jp>
Hello Sato-san,
Unfortunately this patch did not Cc myself, Stephen Boyd or the
linux-clk@vger.kernel.org mailing list. As such Stephen and I did not
have a chance to review it. Even more unfortunate was that it was ninja
merged by maintainers without our ack. :-/
Quoting Yoshinori Sato (2015-05-10 23:26:36)
> Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
> ---
> .../bindings/clock/renesas,h8300-div-clock.txt | 24 ++++
> .../bindings/clock/renesas,h8s2678-pll-clock.txt | 23 ++++
> drivers/clk/Makefile | 1 +
> drivers/clk/h8300/Makefile | 2 +
> drivers/clk/h8300/clk-div.c | 53 ++++++++
> drivers/clk/h8300/clk-h8s2678.c | 147 +++++++++++++++++++++
> 6 files changed, 250 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/renesas,h8300-div-clock.txt
> create mode 100644 Documentation/devicetree/bindings/clock/renesas,h8s2678-pll-clock.txt
> create mode 100644 drivers/clk/h8300/Makefile
> create mode 100644 drivers/clk/h8300/clk-div.c
> create mode 100644 drivers/clk/h8300/clk-h8s2678.c
>
> diff --git a/Documentation/devicetree/bindings/clock/renesas,h8300-div-clock.txt b/Documentation/devicetree/bindings/clock/renesas,h8300-div-clock.txt
> new file mode 100644
> index 0000000..36c2b52
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/renesas,h8300-div-clock.txt
> @@ -0,0 +1,24 @@
> +* Renesas H8/300 divider clock
> +
> +Required Properties:
> +
> + - compatible: Must be "renesas,sh73a0-h8300-div-clock"
> +
> + - clocks: Reference to the parent clocks ("extal1" and "extal2")
> +
> + - #clock-cells: Must be 1
> +
> + - reg: Base address and length of the divide rate selector
> +
> + - renesas,width: bit width of selector
> +
> +Example
> +-------
> +
> + cclk: cclk {
> + compatible = "renesas,h8300-div-clock";
> + clocks = <&xclk>;
> + #clock-cells = <0>;
> + reg = <0xfee01b 2>;
> + renesas,width = <2>;
> + };
I could not find any info on this clock in the H8S/2678 reference
manual[0]. Could you point me to the right documentation?
> diff --git a/Documentation/devicetree/bindings/clock/renesas,h8s2678-pll-clock.txt b/Documentation/devicetree/bindings/clock/renesas,h8s2678-pll-clock.txt
> new file mode 100644
> index 0000000..500cdadb
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/renesas,h8s2678-pll-clock.txt
> @@ -0,0 +1,23 @@
> +Renesas H8S2678 PLL clock
> +
> +This device is Clock multiplyer
> +
> +Required Properties:
> +
> + - compatible: Must be "renesas,h8s2678-pll-clock"
> +
> + - clocks: Reference to the parent clocks
> +
> + - #clock-cells: Must be 0
> +
> + - reg: Two rate selector (Multiply / Divide) register address
> +
> +Example
> +-------
> +
> + pllclk: pllclk {
> + compatible = "renesas,h8s2678-pll-clock";
> + clocks = <&xclk>;
> + #clock-cells = <0>;
> + reg = <0xfee03b 2>, <0xfee045 2>;
> + };
Is there really only one clock output? According to figure 21.1 there is
the "System clock to φ pin" output and the "Internal clock to peripheral
modules" output.
I am wondering if clock-cells should be 1 instead of zero and support
both of these output signals?
As a nitpick, I think it would have been better to name the node "cpg"
as it is listed in Section 21. pllclk is only one of the two registers
that make up the cpg. Something like:
cpg: clock-controller@fee03b
If you do decide to have clock-cells greater than zero, you might find
the following threads helpful. They describe how to craft a
clock-controller style binding:
http://lkml.kernel.org/r/<20150411001231.18916.93186@quantum>
http://lkml.kernel.org/r/<20150724034229.642.88156@quantum>
As an additional thought, it looks like the module stop registers are
mixed in with the clock registers. When you decide to write a reset
driver for these platforms you might want to re-use this existing dt
binding description and put the reset code into your clock provider
driver. Grep for reset.h in the drivers/clk/ directory for some
examples.
[0] http://documentation.renesas.com/doc/products/mpumcu/rej09b0283_2678hm.pdf
Regards,
Mike
next prev parent reply other threads:[~2015-08-08 0:43 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-11 6:26 [PATCH v12 00/21] Re-introduce h8300 architecture Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 01/21] MAINTAINERS: Add H8/300 entry Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 02/21] mksysmap: Add h8300 local symbol pattern Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 03/21] Add ELF machine Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 05/21] asm-generic: Add common asm-offsets.h Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 06/21] h8300: Assembly headers Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 07/21] h8300: UAPI headers Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 08/21] h8300: Interrupt and exceptions Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 09/21] h8300: kernel startup Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 10/21] h8300: Low level entry Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 11/21] h8300: compressed image support Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 12/21] h8300: process helpers Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 13/21] h8300: miscellaneous functions Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 14/21] h8300: Memory management Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 15/21] h8300: library functions Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 16/21] h8300: Build scripts Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 17/21] h8300: clock driver Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
[not found] ` <1431325600-12333-18-git-send-email-ysato-Rn4VEauK+AKRv+LV9MX5uooqe+aC9MnS@public.gmane.org>
2015-08-08 0:43 ` Michael Turquette [this message]
2015-08-08 0:43 ` Michael Turquette
2015-05-11 6:26 ` [PATCH v12 18/21] h8300: clocksource Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 19/21] h8300: IRQ chip driver Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 20/21] h8300: configs Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
[not found] ` <1431325600-12333-1-git-send-email-ysato-Rn4VEauK+AKRv+LV9MX5uooqe+aC9MnS@public.gmane.org>
2015-05-11 6:26 ` [PATCH v12 04/21] sh-sci: Add h8300 SCI Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 6:26 ` [PATCH v12 21/21] h8300: devicetree source Yoshinori Sato
2015-05-11 6:26 ` Yoshinori Sato
2015-05-11 17:50 ` [PATCH v12 00/21] Re-introduce h8300 architecture Guenter Roeck
2015-05-11 17:50 ` Guenter Roeck
2015-05-11 19:04 ` Arnd Bergmann
2015-05-11 19:04 ` Arnd Bergmann
2015-05-12 6:09 ` Yoshinori Sato
2015-05-12 7:29 ` Arnd Bergmann
2015-05-12 7:29 ` Arnd Bergmann
2015-05-12 4:53 ` Yoshinori Sato
2015-05-12 13:07 ` Guenter Roeck
2015-05-12 15:46 ` Yoshinori Sato
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=20150808004349.2416.18161@quantum \
--to=mturquette-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=ysato-Rn4VEauK+AKRv+LV9MX5uooqe+aC9MnS@public.gmane.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).