Sergei Shtylyov wrote:

diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c
new file mode 100644
index 0000000..27c2976
--- /dev/null
+++ b/arch/arm/mach-davinci/da830.c

[...]

+static struct clk scr0_ss_clk = {
+    .name        = "scr0_ss",
+    .parent    = &pll0_sysclk2,
+    .lpsc        = DA830_LPSC0_SCR0_SS,
+    .flags    = ALWAYS_ENABLED,
+};
+
+static struct clk scr1_ss_clk = {
+    .name        = "scr1_ss",
+    .parent    = &pll0_sysclk2,
+    .lpsc        = DA830_LPSC0_SCR0_SS,
+    .flags    = ALWAYS_ENABLED,
+};
+
+static struct clk scr2_ss_clk = {
+    .name        = "scr2_ss",
+    .parent    = &pll0_sysclk2,
+    .lpsc        = DA830_LPSC0_SCR0_SS,
+    .flags    = ALWAYS_ENABLED,
+};
+

LPSC names for SCRx_SS are same here.

   Yeah, I've noticed that cut-and-paste mistake too. :-)

[...]

+static struct clk tpcc_clk = {
+    .name        = "tpcc",
+    .parent    = &pll0_sysclk2,
+    .lpsc        = DA830_LPSC0_TPCC,
+    .flags    = ALWAYS_ENABLED,
+};
+

LPSC for tpcc (LPSC number ZERO) will not get enabled because of the
(clk->lpsc) check in davinci_clk_init function in arch/arm/mach-davinci/clock.c file. You can add the CLK_PSC flag above along with ALWAYS_ENABLED.

Yes, this is a bit of a hack to handle PSC = 0.

   It's not PSC = 0, it's module 0 within PSC.

Which is the same as LPSC as the documentation tells me now, so 'lpsc' name was correct. But it's *not* the same thing as PSC. What a naming mess... :-/

I had to do the same for VPSSMSTR on dm644x.

   Now tell me what that check is for, if one has to hack around it?

Kevin

WBR, Sergei

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to