diff mbox

[05/12] ARM: OMAP2+: Add support for initializing dm814x clocks

Message ID 20150716093746.GL17550@atomide.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tony Lindgren July 16, 2015, 9:37 a.m. UTC
* Tony Lindgren <tony@atomide.com> [150604 15:30]:
> * Stephen Boyd <sboyd@codeaurora.org> [150604 11:44]:
> > On 06/03, Tony Lindgren wrote:
> > > +#include <linux/list.h>
> > 
> > Is list.h used?
...
> > > +static const char *enable_init_clks[] = {
> > > +};
> > 
> > delete?
> > 
> > > +
> > > +int __init dm814x_dt_clk_init(void)
> > > +{
> > > +	ti_dt_clocks_register(dm814_clks);
> > > +	omap2_clk_disable_autoidle_all();
> > > +	omap2_clk_enable_init_clocks(enable_init_clks,
> > > +				     ARRAY_SIZE(enable_init_clks));
> > 
> > And pass NULL and 0 here?
> 
> Sure will remove, we can add those back once the PLL parts are
> working and if/when some boot time clocks are needed.

Here's this patch updated with the above removed.

Regards,

Tony

8< -------------
From: Tony Lindgren <tony@atomide.com>
Date: Thu, 16 Jul 2015 01:55:57 -0700
Subject: [PATCH] ARM: OMAP2+: Add support for initializing dm814x clocks

Let's add a minimal clocks for dm814x to get it booted. This is
mostly a placeholder and relies on the PLLs being on from the
bootloader.

Note that the divider clocks work the same way as on dm816x and
am335x.

Cc: Matthijs van Duin <matthijsvanduin@gmail.com>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Stephen Boyd July 16, 2015, 6:25 p.m. UTC | #1
On 07/16/2015 02:37 AM, Tony Lindgren wrote:
>
> Here's this patch updated with the above removed.
>

Ok. I fixed up Mike's email in case he wants to look at it. Looks fine 
to me though.

>
> 8< -------------
> From: Tony Lindgren <tony@atomide.com>
> Date: Thu, 16 Jul 2015 01:55:57 -0700
> Subject: [PATCH] ARM: OMAP2+: Add support for initializing dm814x clocks
>
> Let's add a minimal clocks for dm814x to get it booted. This is
> mostly a placeholder and relies on the PLLs being on from the
> bootloader.
>
> Note that the divider clocks work the same way as on dm816x and
> am335x.
>
> Cc: Matthijs van Duin <matthijsvanduin@gmail.com>
> Cc: Mike Turquette <mturquette@linaro.org>
> Cc: Paul Walmsley <paul@pwsan.com>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> Cc: Tero Kristo <t-kristo@ti.com>
> Signed-off-by: Tony Lindgren <tony@atomide.com>

Acked-by: Stephen Boyd <sboyd@codeaurora.org>

>
> --- a/arch/arm/mach-omap2/io.c
> +++ b/arch/arm/mach-omap2/io.c
> @@ -558,7 +558,7 @@ void __init ti814x_init_early(void)
>   	ti81xx_hwmod_init();
>   	omap_hwmod_init_postsetup();
>   	if (of_have_populated_dt())
> -		omap_clk_soc_init = ti81xx_dt_clk_init;
> +		omap_clk_soc_init = dm814x_dt_clk_init;
>   }
>   
>   void __init ti816x_init_early(void)
> @@ -575,7 +575,7 @@ void __init ti816x_init_early(void)
>   	ti81xx_hwmod_init();
>   	omap_hwmod_init_postsetup();
>   	if (of_have_populated_dt())
> -		omap_clk_soc_init = ti81xx_dt_clk_init;
> +		omap_clk_soc_init = dm816x_dt_clk_init;
>   }
>   #endif
>   
> --- a/drivers/clk/ti/Makefile
> +++ b/drivers/clk/ti/Makefile
> @@ -2,7 +2,7 @@ obj-y					+= clk.o autoidle.o clockdomain.o
>   clk-common				= dpll.o composite.o divider.o gate.o \
>   					  fixed-factor.o mux.o apll.o
>   obj-$(CONFIG_SOC_AM33XX)		+= $(clk-common) clk-33xx.o
> -obj-$(CONFIG_SOC_TI81XX)		+= $(clk-common) fapll.o clk-816x.o
> +obj-$(CONFIG_SOC_TI81XX)		+= $(clk-common) fapll.o clk-814x.o clk-816x.o
>   obj-$(CONFIG_ARCH_OMAP2)		+= $(clk-common) interface.o clk-2xxx.o
>   obj-$(CONFIG_ARCH_OMAP3)		+= $(clk-common) interface.o \
>   					   clk-3xxx.o
> --- /dev/null
> +++ b/drivers/clk/ti/clk-814x.c
> @@ -0,0 +1,31 @@
> +/*
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation version 2.
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/clk-provider.h>
> +#include <linux/clk/ti.h>
> +
> +static struct ti_dt_clk dm814_clks[] = {
> +	DT_CLK(NULL, "devosc_ck", "devosc_ck"),
> +	DT_CLK(NULL, "mpu_ck", "mpu_ck"),
> +	DT_CLK(NULL, "sysclk4_ck", "sysclk4_ck"),
> +	DT_CLK(NULL, "sysclk6_ck", "sysclk6_ck"),
> +	DT_CLK(NULL, "sysclk10_ck", "sysclk10_ck"),
> +	DT_CLK(NULL, "sysclk18_ck", "sysclk18_ck"),
> +	DT_CLK(NULL, "timer_sys_ck", "devosc_ck"),
> +	DT_CLK(NULL, "cpsw_125mhz_gclk", "cpsw_125mhz_gclk"),
> +	DT_CLK(NULL, "cpsw_cpts_rft_clk", "cpsw_cpts_rft_clk"),
> +	{ .node_name = NULL },
> +};
> +
> +int __init dm814x_dt_clk_init(void)
> +{
> +	ti_dt_clocks_register(dm814_clks);
> +	omap2_clk_disable_autoidle_all();
> +	omap2_clk_enable_init_clocks(NULL, 0);
> +
> +	return 0;
> +}
> --- a/drivers/clk/ti/clk-816x.c
> +++ b/drivers/clk/ti/clk-816x.c
> @@ -42,7 +42,7 @@ static const char *enable_init_clks[] = {
>   	"ddr_pll_clk3",
>   };
>   
> -int __init ti81xx_dt_clk_init(void)
> +int __init dm816x_dt_clk_init(void)
>   {
>   	ti_dt_clocks_register(dm816x_clks);
>   	omap2_clk_disable_autoidle_all();
> --- a/include/linux/clk/ti.h
> +++ b/include/linux/clk/ti.h
> @@ -329,7 +329,8 @@ int ti_clk_add_component(struct device_node *node, struct clk_hw *hw, int type);
>   int omap3430_dt_clk_init(void);
>   int omap3630_dt_clk_init(void);
>   int am35xx_dt_clk_init(void);
> -int ti81xx_dt_clk_init(void);
> +int dm814x_dt_clk_init(void);
> +int dm816x_dt_clk_init(void);
>   int omap4xxx_dt_clk_init(void);
>   int omap5xxx_dt_clk_init(void);
>   int dra7xx_dt_clk_init(void);
Tony Lindgren July 17, 2015, 5:06 a.m. UTC | #2
* Stephen Boyd <sboyd@codeaurora.org> [150716 11:27]:
> On 07/16/2015 02:37 AM, Tony Lindgren wrote:
> >
> >Here's this patch updated with the above removed.
> >
> 
> Ok. I fixed up Mike's email in case he wants to look at it. Looks fine to me
> though.

OK thanks for updating Mike's email. 

Regards,

Tony

> >8< -------------
> >From: Tony Lindgren <tony@atomide.com>
> >Date: Thu, 16 Jul 2015 01:55:57 -0700
> >Subject: [PATCH] ARM: OMAP2+: Add support for initializing dm814x clocks
> >
> >Let's add a minimal clocks for dm814x to get it booted. This is
> >mostly a placeholder and relies on the PLLs being on from the
> >bootloader.
> >
> >Note that the divider clocks work the same way as on dm816x and
> >am335x.
> >
> >Cc: Matthijs van Duin <matthijsvanduin@gmail.com>
> >Cc: Mike Turquette <mturquette@linaro.org>
> >Cc: Paul Walmsley <paul@pwsan.com>
> >Cc: Stephen Boyd <sboyd@codeaurora.org>
> >Cc: Tero Kristo <t-kristo@ti.com>
> >Signed-off-by: Tony Lindgren <tony@atomide.com>
> 
> Acked-by: Stephen Boyd <sboyd@codeaurora.org>
> 
> >
> >--- a/arch/arm/mach-omap2/io.c
> >+++ b/arch/arm/mach-omap2/io.c
> >@@ -558,7 +558,7 @@ void __init ti814x_init_early(void)
> >  	ti81xx_hwmod_init();
> >  	omap_hwmod_init_postsetup();
> >  	if (of_have_populated_dt())
> >-		omap_clk_soc_init = ti81xx_dt_clk_init;
> >+		omap_clk_soc_init = dm814x_dt_clk_init;
> >  }
> >  void __init ti816x_init_early(void)
> >@@ -575,7 +575,7 @@ void __init ti816x_init_early(void)
> >  	ti81xx_hwmod_init();
> >  	omap_hwmod_init_postsetup();
> >  	if (of_have_populated_dt())
> >-		omap_clk_soc_init = ti81xx_dt_clk_init;
> >+		omap_clk_soc_init = dm816x_dt_clk_init;
> >  }
> >  #endif
> >--- a/drivers/clk/ti/Makefile
> >+++ b/drivers/clk/ti/Makefile
> >@@ -2,7 +2,7 @@ obj-y					+= clk.o autoidle.o clockdomain.o
> >  clk-common				= dpll.o composite.o divider.o gate.o \
> >  					  fixed-factor.o mux.o apll.o
> >  obj-$(CONFIG_SOC_AM33XX)		+= $(clk-common) clk-33xx.o
> >-obj-$(CONFIG_SOC_TI81XX)		+= $(clk-common) fapll.o clk-816x.o
> >+obj-$(CONFIG_SOC_TI81XX)		+= $(clk-common) fapll.o clk-814x.o clk-816x.o
> >  obj-$(CONFIG_ARCH_OMAP2)		+= $(clk-common) interface.o clk-2xxx.o
> >  obj-$(CONFIG_ARCH_OMAP3)		+= $(clk-common) interface.o \
> >  					   clk-3xxx.o
> >--- /dev/null
> >+++ b/drivers/clk/ti/clk-814x.c
> >@@ -0,0 +1,31 @@
> >+/*
> >+ * This program is free software; you can redistribute it and/or
> >+ * modify it under the terms of the GNU General Public License as
> >+ * published by the Free Software Foundation version 2.
> >+ */
> >+
> >+#include <linux/kernel.h>
> >+#include <linux/clk-provider.h>
> >+#include <linux/clk/ti.h>
> >+
> >+static struct ti_dt_clk dm814_clks[] = {
> >+	DT_CLK(NULL, "devosc_ck", "devosc_ck"),
> >+	DT_CLK(NULL, "mpu_ck", "mpu_ck"),
> >+	DT_CLK(NULL, "sysclk4_ck", "sysclk4_ck"),
> >+	DT_CLK(NULL, "sysclk6_ck", "sysclk6_ck"),
> >+	DT_CLK(NULL, "sysclk10_ck", "sysclk10_ck"),
> >+	DT_CLK(NULL, "sysclk18_ck", "sysclk18_ck"),
> >+	DT_CLK(NULL, "timer_sys_ck", "devosc_ck"),
> >+	DT_CLK(NULL, "cpsw_125mhz_gclk", "cpsw_125mhz_gclk"),
> >+	DT_CLK(NULL, "cpsw_cpts_rft_clk", "cpsw_cpts_rft_clk"),
> >+	{ .node_name = NULL },
> >+};
> >+
> >+int __init dm814x_dt_clk_init(void)
> >+{
> >+	ti_dt_clocks_register(dm814_clks);
> >+	omap2_clk_disable_autoidle_all();
> >+	omap2_clk_enable_init_clocks(NULL, 0);
> >+
> >+	return 0;
> >+}
> >--- a/drivers/clk/ti/clk-816x.c
> >+++ b/drivers/clk/ti/clk-816x.c
> >@@ -42,7 +42,7 @@ static const char *enable_init_clks[] = {
> >  	"ddr_pll_clk3",
> >  };
> >-int __init ti81xx_dt_clk_init(void)
> >+int __init dm816x_dt_clk_init(void)
> >  {
> >  	ti_dt_clocks_register(dm816x_clks);
> >  	omap2_clk_disable_autoidle_all();
> >--- a/include/linux/clk/ti.h
> >+++ b/include/linux/clk/ti.h
> >@@ -329,7 +329,8 @@ int ti_clk_add_component(struct device_node *node, struct clk_hw *hw, int type);
> >  int omap3430_dt_clk_init(void);
> >  int omap3630_dt_clk_init(void);
> >  int am35xx_dt_clk_init(void);
> >-int ti81xx_dt_clk_init(void);
> >+int dm814x_dt_clk_init(void);
> >+int dm816x_dt_clk_init(void);
> >  int omap4xxx_dt_clk_init(void);
> >  int omap5xxx_dt_clk_init(void);
> >  int dra7xx_dt_clk_init(void);
> 
> 
> -- 
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> a Linux Foundation Collaborative Project
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -558,7 +558,7 @@  void __init ti814x_init_early(void)
 	ti81xx_hwmod_init();
 	omap_hwmod_init_postsetup();
 	if (of_have_populated_dt())
-		omap_clk_soc_init = ti81xx_dt_clk_init;
+		omap_clk_soc_init = dm814x_dt_clk_init;
 }
 
 void __init ti816x_init_early(void)
@@ -575,7 +575,7 @@  void __init ti816x_init_early(void)
 	ti81xx_hwmod_init();
 	omap_hwmod_init_postsetup();
 	if (of_have_populated_dt())
-		omap_clk_soc_init = ti81xx_dt_clk_init;
+		omap_clk_soc_init = dm816x_dt_clk_init;
 }
 #endif
 
--- a/drivers/clk/ti/Makefile
+++ b/drivers/clk/ti/Makefile
@@ -2,7 +2,7 @@  obj-y					+= clk.o autoidle.o clockdomain.o
 clk-common				= dpll.o composite.o divider.o gate.o \
 					  fixed-factor.o mux.o apll.o
 obj-$(CONFIG_SOC_AM33XX)		+= $(clk-common) clk-33xx.o
-obj-$(CONFIG_SOC_TI81XX)		+= $(clk-common) fapll.o clk-816x.o
+obj-$(CONFIG_SOC_TI81XX)		+= $(clk-common) fapll.o clk-814x.o clk-816x.o
 obj-$(CONFIG_ARCH_OMAP2)		+= $(clk-common) interface.o clk-2xxx.o
 obj-$(CONFIG_ARCH_OMAP3)		+= $(clk-common) interface.o \
 					   clk-3xxx.o
--- /dev/null
+++ b/drivers/clk/ti/clk-814x.c
@@ -0,0 +1,31 @@ 
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation version 2.
+ */
+
+#include <linux/kernel.h>
+#include <linux/clk-provider.h>
+#include <linux/clk/ti.h>
+
+static struct ti_dt_clk dm814_clks[] = {
+	DT_CLK(NULL, "devosc_ck", "devosc_ck"),
+	DT_CLK(NULL, "mpu_ck", "mpu_ck"),
+	DT_CLK(NULL, "sysclk4_ck", "sysclk4_ck"),
+	DT_CLK(NULL, "sysclk6_ck", "sysclk6_ck"),
+	DT_CLK(NULL, "sysclk10_ck", "sysclk10_ck"),
+	DT_CLK(NULL, "sysclk18_ck", "sysclk18_ck"),
+	DT_CLK(NULL, "timer_sys_ck", "devosc_ck"),
+	DT_CLK(NULL, "cpsw_125mhz_gclk", "cpsw_125mhz_gclk"),
+	DT_CLK(NULL, "cpsw_cpts_rft_clk", "cpsw_cpts_rft_clk"),
+	{ .node_name = NULL },
+};
+
+int __init dm814x_dt_clk_init(void)
+{
+	ti_dt_clocks_register(dm814_clks);
+	omap2_clk_disable_autoidle_all();
+	omap2_clk_enable_init_clocks(NULL, 0);
+
+	return 0;
+}
--- a/drivers/clk/ti/clk-816x.c
+++ b/drivers/clk/ti/clk-816x.c
@@ -42,7 +42,7 @@  static const char *enable_init_clks[] = {
 	"ddr_pll_clk3",
 };
 
-int __init ti81xx_dt_clk_init(void)
+int __init dm816x_dt_clk_init(void)
 {
 	ti_dt_clocks_register(dm816x_clks);
 	omap2_clk_disable_autoidle_all();
--- a/include/linux/clk/ti.h
+++ b/include/linux/clk/ti.h
@@ -329,7 +329,8 @@  int ti_clk_add_component(struct device_node *node, struct clk_hw *hw, int type);
 int omap3430_dt_clk_init(void);
 int omap3630_dt_clk_init(void);
 int am35xx_dt_clk_init(void);
-int ti81xx_dt_clk_init(void);
+int dm814x_dt_clk_init(void);
+int dm816x_dt_clk_init(void);
 int omap4xxx_dt_clk_init(void);
 int omap5xxx_dt_clk_init(void);
 int dra7xx_dt_clk_init(void);