All of lore.kernel.org
 help / color / mirror / Atom feed
From: Priit Laes <plaes@plaes.org>
To: Olliver Schinagl <oliver@schinagl.nl>
Cc: Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@codeaurora.org>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Maxime Ripard <maxime.ripard@free-electrons.com>,
	Chen-Yu Tsai <wens@csie.org>,
	Russell King <linux@armlinux.org.uk>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com,
	Jonathan Liu <net147@gmail.com>
Subject: Re: [linux-sunxi] [PATCH v5 2/6] clk: sunxi-ng: Add sun4i/sun7i CCU driver
Date: Thu, 13 Jul 2017 19:23:58 +0000	[thread overview]
Message-ID: <20170713192358.GB22375@plaes.org> (raw)
In-Reply-To: <5099cd90-e019-8a65-38e5-02b3c939a7a8@schinagl.nl>

On Mon, Jul 10, 2017 at 11:45:32AM +0200, Olliver Schinagl wrote:
> Hi Pleas,
> 
> again, but this time with content :)
> 
> On 04-07-17 22:04, Priit Laes wrote:
> >Introduce a clock controller driver for sun4i A10 and sun7i A20
> >series SoCs.

[ ... ]

> >+++ b/drivers/clk/sunxi-ng/Kconfig
> >@@ -11,6 +11,19 @@ config SUN50I_A64_CCU
> > 	default ARM64 && ARCH_SUNXI
> > 	depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST
> >
> >+config SUNXI_A10_CCU
> I understand why you say sunXi here (it's support for both sun4i and sun7i)
> but then why A10, as it also supports the A20.
> 
> I guess the CCU is identical on the A20 and the A10, right? Thus would it
> not be sensible to just call it sun4i_ccu (like we do for sun5i_ccu below?

No, it's not identical.

> >+	bool "Support for the Allwinner A10/A20 CCU"
> >+	select SUNXI_CCU_DIV
> >+	select SUNXI_CCU_MULT
> >+	select SUNXI_CCU_NK
> >+	select SUNXI_CCU_NKM
> >+	select SUNXI_CCU_NM
> >+	select SUNXI_CCU_MP
> >+	select SUNXI_CCU_PHASE
> >+	default MACH_SUN4I
> >+	default MACH_SUN7I
> >+	depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
> >+
> > config SUN5I_CCU
> > 	bool "Support for the Allwinner sun5i family CCM"
> > 	default MACH_SUN5I
> >@@ -57,4 +70,5 @@ config SUN8I_R_CCU
> > 	bool "Support for Allwinner SoCs' PRCM CCUs"
> > 	default MACH_SUN8I || (ARCH_SUNXI && ARM64)
> >
> >+
> oops?

OK

> 
> >new file mode 100644
> >index 0000000..49052b7
> >--- /dev/null
> >+++ b/drivers/clk/sunxi-ng/ccu-sun4i-a10.c
> 
> <snip>
> 
> >+static const char *const apb1_parents[] = { "hosc", "pll-periph", "osc32k" };
> >+static SUNXI_CCU_MP_WITH_MUX(apb1_clk, "apb1", apb1_parents, 0x058,
> >+			     0, 5,	/* M */
> >+			     16, 2,	/* P */
> >+			     24, 2,	/* mux */
> >+			     0);
> >+
> >+/* Not present on A20 */
> >+static SUNXI_CCU_GATE(axi_dram_clk,	"axi-dram",	"ahb",
> >+		      0x05c, BIT(31), 0);
> 
> Same here I guess, two defines make this a bit more readable.

You mean SUN4I_CCU_GATE? and SUN7I_CCU_GATE defines?
I don't think it makes things more readable...

> >+
> >+static SUNXI_CCU_GATE(ahb_otg_clk,	"ahb-otg",	"ahb",
...
> >+		      0x060, BIT(14), CLK_IS_CRITICAL);
> 
> <snip>
> 
> >+static struct ccu_reset_map sun7i_a20_ccu_resets[] = {
> >+	[RST_USB_PHY0]		= { 0x0cc, BIT(0) },
> >+	[RST_USB_PHY1]		= { 0x0cc, BIT(1) },
> >+	[RST_USB_PHY2]		= { 0x0cc, BIT(2) },
> >+	[RST_GPS]		= { 0x0d0, BIT(0) },
> >+	[RST_DE_BE0]		= { 0x104, BIT(30) },
> >+	[RST_DE_BE1]		= { 0x108, BIT(30) },
> >+	[RST_DE_FE0]		= { 0x10c, BIT(30) },
> >+	[RST_DE_FE1]		= { 0x110, BIT(30) },
> >+	[RST_DE_MP]		= { 0x114, BIT(30) },
> >+	[RST_TCON0]		= { 0x118, BIT(30) },
> >+	[RST_TCON1]		= { 0x11c, BIT(30) },
> You are missing the TV encoder reset:
> +      [RST_TVE0]              = { 0x118, BIT(29) },
> +      [RST_TVE1]              = { 0x11c, BIT(29) },
> 
> (to match your table i did not use defines :p)

Where did you get this information?
This is not present in any datasheets I have:
  * A10 - 1.50
  * A20 - 1.4

[...]

Päikest,
Priit Laes

WARNING: multiple messages have this Message-ID (diff)
From: plaes@plaes.org (Priit Laes)
To: linux-arm-kernel@lists.infradead.org
Subject: [linux-sunxi] [PATCH v5 2/6] clk: sunxi-ng: Add sun4i/sun7i CCU driver
Date: Thu, 13 Jul 2017 19:23:58 +0000	[thread overview]
Message-ID: <20170713192358.GB22375@plaes.org> (raw)
In-Reply-To: <5099cd90-e019-8a65-38e5-02b3c939a7a8@schinagl.nl>

On Mon, Jul 10, 2017 at 11:45:32AM +0200, Olliver Schinagl wrote:
> Hi Pleas,
> 
> again, but this time with content :)
> 
> On 04-07-17 22:04, Priit Laes wrote:
> >Introduce a clock controller driver for sun4i A10 and sun7i A20
> >series SoCs.

[ ... ]

> >+++ b/drivers/clk/sunxi-ng/Kconfig
> >@@ -11,6 +11,19 @@ config SUN50I_A64_CCU
> > 	default ARM64 && ARCH_SUNXI
> > 	depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST
> >
> >+config SUNXI_A10_CCU
> I understand why you say sunXi here (it's support for both sun4i and sun7i)
> but then why A10, as it also supports the A20.
> 
> I guess the CCU is identical on the A20 and the A10, right? Thus would it
> not be sensible to just call it sun4i_ccu (like we do for sun5i_ccu below?

No, it's not identical.

> >+	bool "Support for the Allwinner A10/A20 CCU"
> >+	select SUNXI_CCU_DIV
> >+	select SUNXI_CCU_MULT
> >+	select SUNXI_CCU_NK
> >+	select SUNXI_CCU_NKM
> >+	select SUNXI_CCU_NM
> >+	select SUNXI_CCU_MP
> >+	select SUNXI_CCU_PHASE
> >+	default MACH_SUN4I
> >+	default MACH_SUN7I
> >+	depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
> >+
> > config SUN5I_CCU
> > 	bool "Support for the Allwinner sun5i family CCM"
> > 	default MACH_SUN5I
> >@@ -57,4 +70,5 @@ config SUN8I_R_CCU
> > 	bool "Support for Allwinner SoCs' PRCM CCUs"
> > 	default MACH_SUN8I || (ARCH_SUNXI && ARM64)
> >
> >+
> oops?

OK

> 
> >new file mode 100644
> >index 0000000..49052b7
> >--- /dev/null
> >+++ b/drivers/clk/sunxi-ng/ccu-sun4i-a10.c
> 
> <snip>
> 
> >+static const char *const apb1_parents[] = { "hosc", "pll-periph", "osc32k" };
> >+static SUNXI_CCU_MP_WITH_MUX(apb1_clk, "apb1", apb1_parents, 0x058,
> >+			     0, 5,	/* M */
> >+			     16, 2,	/* P */
> >+			     24, 2,	/* mux */
> >+			     0);
> >+
> >+/* Not present on A20 */
> >+static SUNXI_CCU_GATE(axi_dram_clk,	"axi-dram",	"ahb",
> >+		      0x05c, BIT(31), 0);
> 
> Same here I guess, two defines make this a bit more readable.

You mean SUN4I_CCU_GATE? and SUN7I_CCU_GATE defines?
I don't think it makes things more readable...

> >+
> >+static SUNXI_CCU_GATE(ahb_otg_clk,	"ahb-otg",	"ahb",
...
> >+		      0x060, BIT(14), CLK_IS_CRITICAL);
> 
> <snip>
> 
> >+static struct ccu_reset_map sun7i_a20_ccu_resets[] = {
> >+	[RST_USB_PHY0]		= { 0x0cc, BIT(0) },
> >+	[RST_USB_PHY1]		= { 0x0cc, BIT(1) },
> >+	[RST_USB_PHY2]		= { 0x0cc, BIT(2) },
> >+	[RST_GPS]		= { 0x0d0, BIT(0) },
> >+	[RST_DE_BE0]		= { 0x104, BIT(30) },
> >+	[RST_DE_BE1]		= { 0x108, BIT(30) },
> >+	[RST_DE_FE0]		= { 0x10c, BIT(30) },
> >+	[RST_DE_FE1]		= { 0x110, BIT(30) },
> >+	[RST_DE_MP]		= { 0x114, BIT(30) },
> >+	[RST_TCON0]		= { 0x118, BIT(30) },
> >+	[RST_TCON1]		= { 0x11c, BIT(30) },
> You are missing the TV encoder reset:
> +      [RST_TVE0]              = { 0x118, BIT(29) },
> +      [RST_TVE1]              = { 0x11c, BIT(29) },
> 
> (to match your table i did not use defines :p)

Where did you get this information?
This is not present in any datasheets I have:
  * A10 - 1.50
  * A20 - 1.4

[...]

P?ikest,
Priit Laes

WARNING: multiple messages have this Message-ID (diff)
From: Priit Laes <plaes-q/aMd4JkU83YtjvyW6yDsg@public.gmane.org>
To: Olliver Schinagl <oliver-dxLnbx3+1qmEVqv0pETR8A@public.gmane.org>
Cc: Michael Turquette
	<mturquette-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>,
	Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	Maxime Ripard
	<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
	Russell King <linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org>,
	Philipp Zabel <p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
	Jonathan Liu <net147-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH v5 2/6] clk: sunxi-ng: Add sun4i/sun7i CCU driver
Date: Thu, 13 Jul 2017 19:23:58 +0000	[thread overview]
Message-ID: <20170713192358.GB22375@plaes.org> (raw)
In-Reply-To: <5099cd90-e019-8a65-38e5-02b3c939a7a8-dxLnbx3+1qmEVqv0pETR8A@public.gmane.org>

On Mon, Jul 10, 2017 at 11:45:32AM +0200, Olliver Schinagl wrote:
> Hi Pleas,
> 
> again, but this time with content :)
> 
> On 04-07-17 22:04, Priit Laes wrote:
> >Introduce a clock controller driver for sun4i A10 and sun7i A20
> >series SoCs.

[ ... ]

> >+++ b/drivers/clk/sunxi-ng/Kconfig
> >@@ -11,6 +11,19 @@ config SUN50I_A64_CCU
> > 	default ARM64 && ARCH_SUNXI
> > 	depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST
> >
> >+config SUNXI_A10_CCU
> I understand why you say sunXi here (it's support for both sun4i and sun7i)
> but then why A10, as it also supports the A20.
> 
> I guess the CCU is identical on the A20 and the A10, right? Thus would it
> not be sensible to just call it sun4i_ccu (like we do for sun5i_ccu below?

No, it's not identical.

> >+	bool "Support for the Allwinner A10/A20 CCU"
> >+	select SUNXI_CCU_DIV
> >+	select SUNXI_CCU_MULT
> >+	select SUNXI_CCU_NK
> >+	select SUNXI_CCU_NKM
> >+	select SUNXI_CCU_NM
> >+	select SUNXI_CCU_MP
> >+	select SUNXI_CCU_PHASE
> >+	default MACH_SUN4I
> >+	default MACH_SUN7I
> >+	depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
> >+
> > config SUN5I_CCU
> > 	bool "Support for the Allwinner sun5i family CCM"
> > 	default MACH_SUN5I
> >@@ -57,4 +70,5 @@ config SUN8I_R_CCU
> > 	bool "Support for Allwinner SoCs' PRCM CCUs"
> > 	default MACH_SUN8I || (ARCH_SUNXI && ARM64)
> >
> >+
> oops?

OK

> 
> >new file mode 100644
> >index 0000000..49052b7
> >--- /dev/null
> >+++ b/drivers/clk/sunxi-ng/ccu-sun4i-a10.c
> 
> <snip>
> 
> >+static const char *const apb1_parents[] = { "hosc", "pll-periph", "osc32k" };
> >+static SUNXI_CCU_MP_WITH_MUX(apb1_clk, "apb1", apb1_parents, 0x058,
> >+			     0, 5,	/* M */
> >+			     16, 2,	/* P */
> >+			     24, 2,	/* mux */
> >+			     0);
> >+
> >+/* Not present on A20 */
> >+static SUNXI_CCU_GATE(axi_dram_clk,	"axi-dram",	"ahb",
> >+		      0x05c, BIT(31), 0);
> 
> Same here I guess, two defines make this a bit more readable.

You mean SUN4I_CCU_GATE? and SUN7I_CCU_GATE defines?
I don't think it makes things more readable...

> >+
> >+static SUNXI_CCU_GATE(ahb_otg_clk,	"ahb-otg",	"ahb",
...
> >+		      0x060, BIT(14), CLK_IS_CRITICAL);
> 
> <snip>
> 
> >+static struct ccu_reset_map sun7i_a20_ccu_resets[] = {
> >+	[RST_USB_PHY0]		= { 0x0cc, BIT(0) },
> >+	[RST_USB_PHY1]		= { 0x0cc, BIT(1) },
> >+	[RST_USB_PHY2]		= { 0x0cc, BIT(2) },
> >+	[RST_GPS]		= { 0x0d0, BIT(0) },
> >+	[RST_DE_BE0]		= { 0x104, BIT(30) },
> >+	[RST_DE_BE1]		= { 0x108, BIT(30) },
> >+	[RST_DE_FE0]		= { 0x10c, BIT(30) },
> >+	[RST_DE_FE1]		= { 0x110, BIT(30) },
> >+	[RST_DE_MP]		= { 0x114, BIT(30) },
> >+	[RST_TCON0]		= { 0x118, BIT(30) },
> >+	[RST_TCON1]		= { 0x11c, BIT(30) },
> You are missing the TV encoder reset:
> +      [RST_TVE0]              = { 0x118, BIT(29) },
> +      [RST_TVE1]              = { 0x11c, BIT(29) },
> 
> (to match your table i did not use defines :p)

Where did you get this information?
This is not present in any datasheets I have:
  * A10 - 1.50
  * A20 - 1.4

[...]

Päikest,
Priit Laes

-- 
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/d/optout.

  reply	other threads:[~2017-07-13 19:23 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-04 20:04 [PATCH v5 0/6] ARM: sunxi: Convert sun4i/sun7i series SoCs to sunxi-ng CCU Priit Laes
2017-07-04 20:04 ` Priit Laes
2017-07-04 20:04 ` Priit Laes
2017-07-04 20:04 ` [PATCH v5 1/6] clk: sunxi-ng: div: Add support for fixed post-divider Priit Laes
2017-07-04 20:04   ` Priit Laes
2017-07-04 20:04   ` Priit Laes
2017-07-05  4:06   ` Chen-Yu Tsai
2017-07-05  4:06     ` Chen-Yu Tsai
2017-07-05  4:06     ` Chen-Yu Tsai
2017-07-05  7:43   ` Maxime Ripard
2017-07-05  7:43     ` Maxime Ripard
2017-07-05  7:43     ` Maxime Ripard
2017-07-10  8:13   ` [linux-sunxi] " Olliver Schinagl
2017-07-10  8:13     ` Olliver Schinagl
2017-07-10  8:13     ` [linux-sunxi] " Olliver Schinagl
2017-07-04 20:04 ` [PATCH v5 2/6] clk: sunxi-ng: Add sun4i/sun7i CCU driver Priit Laes
2017-07-04 20:04   ` Priit Laes
2017-07-04 20:04   ` Priit Laes
2017-07-09 12:25   ` Jonathan Liu
2017-07-09 12:25     ` Jonathan Liu
2017-07-09 12:25     ` Jonathan Liu
2017-07-13 19:12     ` Priit Laes
2017-07-13 19:12       ` Priit Laes
2017-07-13 19:12       ` Priit Laes
2017-07-10  9:45   ` [linux-sunxi] " Olliver Schinagl
2017-07-10  9:45     ` Olliver Schinagl
2017-07-13 19:23     ` Priit Laes [this message]
2017-07-13 19:23       ` Priit Laes
2017-07-13 19:23       ` [linux-sunxi] " Priit Laes
2017-07-13 19:46       ` Olliver Schinagl
2017-07-13 19:46         ` Olliver Schinagl
2017-07-13 19:46         ` [linux-sunxi] " Olliver Schinagl
2017-07-14 13:48         ` Priit Laes
2017-07-14 13:48           ` Priit Laes
2017-07-04 20:04 ` [PATCH v5 3/6] dt-bindings: List devicetree binding for the CCU of Allwinner A20 Priit Laes
2017-07-04 20:04   ` Priit Laes
2017-07-04 20:04   ` Priit Laes
2017-07-05  4:07   ` Chen-Yu Tsai
2017-07-05  4:07     ` Chen-Yu Tsai
2017-07-05  4:07     ` Chen-Yu Tsai
2017-07-04 20:04 ` [PATCH v5 4/6] dt-bindings: List devicetree binding for the CCU of Allwinner A10 Priit Laes
2017-07-04 20:04   ` Priit Laes
2017-07-04 20:04   ` Priit Laes
2017-07-05  4:07   ` Chen-Yu Tsai
2017-07-05  4:07     ` Chen-Yu Tsai
2017-07-05  4:07     ` Chen-Yu Tsai
2017-07-04 20:05 ` [PATCH v5 5/6] ARM: sun7i: Convert to CCU Priit Laes
2017-07-04 20:05   ` Priit Laes
2017-07-04 20:05   ` Priit Laes
2017-07-10 11:23   ` [linux-sunxi] " Olliver Schinagl
2017-07-10 11:23     ` Olliver Schinagl
2017-07-10 11:23     ` Olliver Schinagl
2017-07-10 11:55     ` Maxime Ripard
2017-07-10 11:55       ` Maxime Ripard
2017-07-10 11:55       ` [linux-sunxi] " Maxime Ripard
2017-07-10 12:24       ` Olliver Schinagl
2017-07-10 12:24         ` Olliver Schinagl
2017-07-10 12:24         ` Olliver Schinagl
2017-07-04 20:05 ` [PATCH v5 6/6] ARM: sun4i: " Priit Laes
2017-07-04 20:05   ` Priit Laes
2017-07-04 20:05   ` Priit Laes
2017-07-10 11:44   ` [linux-sunxi] " Olliver Schinagl
2017-07-10 11:44     ` Olliver Schinagl
2017-07-10 11:44     ` [linux-sunxi] " Olliver Schinagl

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=20170713192358.GB22375@plaes.org \
    --to=plaes@plaes.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@free-electrons.com \
    --cc=mturquette@baylibre.com \
    --cc=net147@gmail.com \
    --cc=oliver@schinagl.nl \
    --cc=p.zabel@pengutronix.de \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@codeaurora.org \
    --cc=wens@csie.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.