<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/clk/bcm, branch linux-4.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-06-08T01:18:50Z</updated>
<entry>
<title>clk: bcm2835: correctly enable fractional clock support</title>
<updated>2016-06-08T01:18:50Z</updated>
<author>
<name>Martin Sperl</name>
</author>
<published>2016-02-29T11:39:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3d6661b2043581b9ce1e2e359033098d87140bae'/>
<id>urn:sha1:3d6661b2043581b9ce1e2e359033098d87140bae</id>
<content type='text'>
commit 959ca92a3235fc4b17c1e18483fc390b3d612254 upstream.

The current driver calculates the clock divider with
fractional support enabled.

But it does not enable fractional support in the
control register itself resulting in an integer only divider,
but in clk_set_rate responds back the fractionally divided
clock frequency.

This patch enables fractional support in the control register
whenever there is a fractional bit set in the requested clock divider.

Mash clock limits are are also handled for the PWM clock
applying the correct divider limits (2 and max_int) applicable to
basic fractional divider support (mash order of 1).

It also adds locking to protect the read/modify/write cycle of
the register modification.

Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the
audio domain clocks")

Signed-off-by: Martin Sperl &lt;kernel@martin.sperl.org&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>clk: bcm2835: divider value has to be 1 or more</title>
<updated>2016-06-08T01:18:50Z</updated>
<author>
<name>Martin Sperl</name>
</author>
<published>2016-02-29T11:39:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d43f1f993c8d0af8b2aac740b068c316d874c299'/>
<id>urn:sha1:d43f1f993c8d0af8b2aac740b068c316d874c299</id>
<content type='text'>
commit 997f16bd5d2e9b3456027f96fcadfe1e2bf12f4e upstream.

Current clamping of a normal divider allows a value &lt; 1 to be valid.

A divider of &lt; 1 would actually only be possible if we had a PLL...

So this patch clamps the divider to 1.

Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the
audio domain clocks")

Signed-off-by: Martin Sperl &lt;kernel@martin.sperl.org&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>clk: bcm2835: pll_off should only update CM_PLL_ANARST</title>
<updated>2016-06-08T01:18:50Z</updated>
<author>
<name>Martin Sperl</name>
</author>
<published>2016-02-29T11:39:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=609909668f24377eff05cf9a52e9a6ed0a855bbe'/>
<id>urn:sha1:609909668f24377eff05cf9a52e9a6ed0a855bbe</id>
<content type='text'>
commit 6727f086cfe4ddcc651eb2bf4301abfcf619be06 upstream.

bcm2835_pll_off is currently assigning CM_PLL_ANARST to the control
register, which may lose the other bits that are currently set by the
clock dividers.

It also now locks during the read/modify/write cycle of both
registers.

Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the
audio domain clocks")

Signed-off-by: Martin Sperl &lt;kernel@martin.sperl.org&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>clk: bcm2835: Fix PLL poweron</title>
<updated>2016-06-08T01:18:50Z</updated>
<author>
<name>Eric Anholt</name>
</author>
<published>2016-04-13T20:05:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=319e5751f330825a7b1e593a9ada36e6e8450448'/>
<id>urn:sha1:319e5751f330825a7b1e593a9ada36e6e8450448</id>
<content type='text'>
commit e708b383f4b94feca2e0d5d06e1cfc13cdfea100 upstream.

In poweroff, we set the reset bit and the power down bit, but only
managed to unset the reset bit for poweron.  This meant that if HDMI
did -EPROBE_DEFER after it had grabbed its clocks, we'd power down the
PLLH (that had been on at boot time) and never recover.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain clocks")
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>clk: bcm2835: add locking to pll*_on/off methods</title>
<updated>2016-06-01T19:17:02Z</updated>
<author>
<name>Martin Sperl</name>
</author>
<published>2016-02-29T11:39:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=93900a7af2cd2288b5f0d209d467350beede9cf6'/>
<id>urn:sha1:93900a7af2cd2288b5f0d209d467350beede9cf6</id>
<content type='text'>
commit ec36a5c6682fdd5328abf15c3c67281bed0241d7 upstream.

Add missing locking to:
* bcm2835_pll_divider_on
* bcm2835_pll_divider_off
to protect the read modify write cycle for the
register access protecting both cm_reg and a2w_reg
registers.

Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the
audio domain clocks")

Signed-off-by: Martin Sperl &lt;kernel@martin.sperl.org&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>clk: bcm2835: fix check of error code returned by devm_ioremap_resource()</title>
<updated>2016-05-11T09:21:29Z</updated>
<author>
<name>Vladimir Zapolskiy</name>
</author>
<published>2016-03-06T01:21:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=452a55daa3653c4ada9f8f4f6dd027dc09695b15'/>
<id>urn:sha1:452a55daa3653c4ada9f8f4f6dd027dc09695b15</id>
<content type='text'>
commit 4d3ac6662452060721599a3392bc2f524af984cb upstream.

The change fixes potential oops while accessing iomem on invalid
address, if devm_ioremap_resource() fails due to some reason.

The devm_ioremap_resource() function returns ERR_PTR() and never
returns NULL, which makes useless a following check for NULL.

Signed-off-by: Vladimir Zapolskiy &lt;vz@mleia.com&gt;
Fixes: 5e63dcc74b30 ("clk: bcm2835: Add a driver for the auxiliary peripheral clock gates")
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>clk: bcm2835: Fix setting of PLL divider clock rates</title>
<updated>2016-04-12T14:33:46Z</updated>
<author>
<name>Eric Anholt</name>
</author>
<published>2016-02-16T03:03:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=68e89b1188f4750d0da97f2072d3f550d2d6b7b0'/>
<id>urn:sha1:68e89b1188f4750d0da97f2072d3f550d2d6b7b0</id>
<content type='text'>
commit 773b3966dd3cdaeb68e7f2edfe5656abac1dc411 upstream.

Our dividers weren't being set successfully because CM_PASSWORD wasn't
included in the register write.  It looks easier to just compute the
divider to write ourselves than to update clk-divider for the ability
to OR in some arbitrary bits on write.

Fixes about half of the video modes on my HDMI monitor (everything
except 720x400).

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Michael Turquette &lt;mturquette@baylibre.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branch 'clk-bcm2835' into clk-next</title>
<updated>2015-12-25T04:39:02Z</updated>
<author>
<name>Michael Turquette</name>
</author>
<published>2015-12-25T04:39:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=82d0f8bc4b5765027fa3eb07cc32916b7b229ee0'/>
<id>urn:sha1:82d0f8bc4b5765027fa3eb07cc32916b7b229ee0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>clk: bcm2835: Add PWM clock support</title>
<updated>2015-12-25T04:38:38Z</updated>
<author>
<name>Remi Pommarel</name>
</author>
<published>2015-12-06T16:22:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cfbab8fbab9c330aca963095a439c451ac97c0dd'/>
<id>urn:sha1:cfbab8fbab9c330aca963095a439c451ac97c0dd</id>
<content type='text'>
Register the pwm clock for bcm2835.

Signed-off-by: Remi Pommarel &lt;repk@triplefau.lt&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Michael Turquette &lt;mturquette@baylibre.com&gt;
</content>
</entry>
<entry>
<title>clk: bcm2835: Support for clock parent selection</title>
<updated>2015-12-25T04:38:30Z</updated>
<author>
<name>Remi Pommarel</name>
</author>
<published>2015-12-06T16:22:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d18b8adbe679b5947aa822b676efff230acc5f6'/>
<id>urn:sha1:6d18b8adbe679b5947aa822b676efff230acc5f6</id>
<content type='text'>
Some bcm2835 clocks used by hardware (like "PWM" or "H264") can have multiple
parent clocks. These clocks divide the rate of a parent which can be selected by
setting the proper bits in the clock control register.

Previously all these parents where handled by a mux clock. But a mux clock
cannot be used because updating clock control register to select parent needs a
password to be xor'd with the parent index.

This patch get rid of mux clock and make these clocks handle their own parent,
allowing them to select the one to use.

Signed-off-by: Remi Pommarel &lt;repk@triplefau.lt&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Michael Turquette &lt;mturquette@baylibre.com&gt;
</content>
</entry>
</feed>
