<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/clk/socfpga/clk.c, branch v3.18</title>
<subtitle>Linux Kernel (branches are rebased on master from time to time)</subtitle>
<id>https://sre.ring0.de/linux/atom?h=v3.18</id>
<link rel='self' href='https://sre.ring0.de/linux/atom?h=v3.18'/>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/'/>
<updated>2014-04-30T18:44:01Z</updated>
<entry>
<title>clk: socfpga: fix clock driver for 3.15</title>
<updated>2014-04-30T18:44:01Z</updated>
<author>
<name>Dinh Nguyen</name>
<email>dinguyen@altera.com</email>
</author>
<published>2014-04-14T12:59:32Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=a30d27ed739b2c6662f07c76e5deea7bc916bd12'/>
<id>urn:sha1:a30d27ed739b2c6662f07c76e5deea7bc916bd12</id>
<content type='text'>
commit [1771b10d6 clk: respect the clock dependencies in of_clk_init]
exposed a flaw in the socfpga clock driver and prevents the platform
from booting on 3.15-rc1.

Because the "altr,clk-mgr" is not really a clock, it should not be using
CLK_OF_DECLARE, instead we should be mapping the clk-mgr's base address
one of the functional clock init function. Use the socfpga_pll_init function
to map the clk_mgr_base_addr as this clock should always be initialized first.

Signed-off-by: Dinh Nguyen &lt;dinguyen@altera.com&gt;
Tested-by: Pavel Machek &lt;pavel@denx.de&gt;
</content>
</entry>
<entry>
<title>clk: socfpga: Fix section mismatch warning</title>
<updated>2014-03-19T06:42:35Z</updated>
<author>
<name>Dinh Nguyen</name>
<email>dinguyen@altera.com</email>
</author>
<published>2014-03-13T21:08:01Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=95bb9f515f5d8428a447b3afc131a99ddbdf4e8b'/>
<id>urn:sha1:95bb9f515f5d8428a447b3afc131a99ddbdf4e8b</id>
<content type='text'>
WARNING: drivers/clk/socfpga/built-in.o(.data+0xc0): Section mismatch in
reference from the variable socfpga_child_clocks to the function
.init.text:socfpga_pll_init()
The variable socfpga_child_clocks references
the function __init socfpga_pll_init()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/clk/socfpga/built-in.o(.data+0x184): Section mismatch in
reference from the variable socfpga_child_clocks to the function
.init.text:socfpga_periph_init()
The variable socfpga_child_clocks references
the function __init socfpga_periph_init()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/clk/socfpga/built-in.o(.data+0x248): Section mismatch in
reference from the variable socfpga_child_clocks to the function
.init.text:socfpga_gate_init()
The variable socfpga_child_clocks references
the function __init socfpga_gate_init()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

Reported-by: Mike Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Dinh Nguyen &lt;dinguyen@altera.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: socfpga: split clk code</title>
<updated>2014-02-18T22:08:13Z</updated>
<author>
<name>Steffen Trumtrar</name>
<email>s.trumtrar@pengutronix.de</email>
</author>
<published>2014-01-06T16:27:37Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=97259e99bdc9144d071815536f1dbc2e41c6b5a8'/>
<id>urn:sha1:97259e99bdc9144d071815536f1dbc2e41c6b5a8</id>
<content type='text'>
Move the different kinds of clocks into their own files. The reason is to aid
readability of the code. This also goes along with the other SoC-specific
clock drivers.

The split introduces new structs for the three types of clocks and uses them.
Other changes are not done to the code.

Signed-off-by: Steffen Trumtrar &lt;s.trumtrar@pengutronix.de&gt;
Signed-off-by: Dinh Nguyen &lt;dinguyen@altera.com&gt;
</content>
</entry>
<entry>
<title>clk: socfpga: fix define typo</title>
<updated>2014-02-18T22:08:12Z</updated>
<author>
<name>Steffen Trumtrar</name>
<email>s.trumtrar@pengutronix.de</email>
</author>
<published>2014-01-02T18:34:14Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=0c5a1872ba04dbcf8430d805a8c34e0ee22f1f75'/>
<id>urn:sha1:0c5a1872ba04dbcf8430d805a8c34e0ee22f1f75</id>
<content type='text'>
It should be SOCFPGA instead of SOCFGPA.

Signed-off-by: Steffen Trumtrar &lt;s.trumtrar@pengutronix.de&gt;
Signed-off-by: Dinh Nguyen &lt;dinguyen@altera.com&gt;
</content>
</entry>
<entry>
<title>clk: socfpga: remove unused field</title>
<updated>2014-02-18T22:08:10Z</updated>
<author>
<name>Steffen Trumtrar</name>
<email>s.trumtrar@pengutronix.de</email>
</author>
<published>2014-01-02T18:31:17Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=ef5043c2d91eb5476cf2a810caf3aee37a8b4709'/>
<id>urn:sha1:ef5043c2d91eb5476cf2a810caf3aee37a8b4709</id>
<content type='text'>
The clk_name field from the socfpga_clk struct is unused.
Remove it.

Signed-off-by: Steffen Trumtrar &lt;s.trumtrar@pengutronix.de&gt;
Signed-off-by: Dinh Nguyen &lt;dinguyen@altera.com&gt;
</content>
</entry>
<entry>
<title>clk: socfpga: Remove socfpga_init_clocks</title>
<updated>2014-02-18T22:08:09Z</updated>
<author>
<name>Dinh Nguyen</name>
<email>dinguyen@altera.com</email>
</author>
<published>2013-12-05T17:34:48Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=77f1057777818c575f01d1e27d76bc73310eec6e'/>
<id>urn:sha1:77f1057777818c575f01d1e27d76bc73310eec6e</id>
<content type='text'>
The only thing that socfpga_init_clocks was doing is setting up the smp_twd clk.
Now that twd-timer's clock phandle is populated in the DTS, we can remove
this function.

Signed-off-by: Dinh Nguyen &lt;dinguyen@altera.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
<entry>
<title>clk: socfpga: Look for the GPIO_DB_CLK by its offset</title>
<updated>2014-02-18T22:08:08Z</updated>
<author>
<name>Dinh Nguyen</name>
<email>dinguyen@altera.com</email>
</author>
<published>2013-12-13T22:38:28Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=b7cec13f082fcc6e690559657d3f5493ea6eecb7'/>
<id>urn:sha1:b7cec13f082fcc6e690559657d3f5493ea6eecb7</id>
<content type='text'>
After the patch:
"clk: socfpga: Map the clk manager base address in the clock driver"

The clk-&gt;name field in socfpga_clk_recalc_rate() was getting cleared. Replace
looking for the GPIO_DB_CLK by its divider offset instead.

Also rename the define SOCFPGA_DB_CLK_OFFSET -&gt; SOCFPGA_GPIO_DB_CLK_OFFSET, as
this represents the GPIO_DB_CLK.

Signed-off-by: Dinh Nguyen &lt;dinguyen@altera.com&gt;
</content>
</entry>
<entry>
<title>clk: socfpga: Map the clk manager base address in the clock driver</title>
<updated>2014-02-18T22:08:07Z</updated>
<author>
<name>Dinh Nguyen</name>
<email>dinguyen@altera.com</email>
</author>
<published>2013-12-09T23:16:38Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=6a7e71221d4e6cd185a51e2659f279da67f2e22d'/>
<id>urn:sha1:6a7e71221d4e6cd185a51e2659f279da67f2e22d</id>
<content type='text'>
The clk manager's base address was being mapped in SOCFPGA's arch code and
being extern'ed out to the clock driver. This method is not correct, and the
arch code was not really doing anything with that clk manager anyways.

This patch moves the mapping of the clk manager's base address in the clock
driver itself. Cleans up CLK_OF_DECLARE() into a single registration of all
the clocks.

Suggested-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Dinh Nguyen &lt;dinguyen@altera.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
---
v2: Use a static declaration for the clk_mgr_base_addr. Clean up the
    CLK_OF_DECLARE() as suggested by Arnd.
</content>
</entry>
<entry>
<title>clk: socfpga: Use NULL instead of 0</title>
<updated>2013-12-20T01:47:32Z</updated>
<author>
<name>Sachin Kamat</name>
<email>sachin.kamat@linaro.org</email>
</author>
<published>2013-10-08T11:17:43Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=6d7ff6cc9cf6ed2d2f701dc6501a77873c3c7d11'/>
<id>urn:sha1:6d7ff6cc9cf6ed2d2f701dc6501a77873c3c7d11</id>
<content type='text'>
'div_reg' is a pointer. Assign NULL instead of 0.

Signed-off-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Acked-by: Dinh Nguyen &lt;dinguyen@altera.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: socfpga: Remove check for "reg" property in socfpga_clk_init</title>
<updated>2013-11-27T20:48:51Z</updated>
<author>
<name>Dinh Nguyen</name>
<email>dinguyen@altera.com</email>
</author>
<published>2013-10-24T08:18:30Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=4d04391cfe6446fb2f184d063b56a4dcce425334'/>
<id>urn:sha1:4d04391cfe6446fb2f184d063b56a4dcce425334</id>
<content type='text'>
The function socfpga_clk_init() can support clocks that do not have a divider
register, but a fixed-divider that can be read from DTS. Therefore, the "reg"
property is not a failing condition for socfpga_clk_init().

Signed-off-by: Dinh Nguyen &lt;dinguyen@altera.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
</feed>
