<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/clk/imx, branch v5.18.2</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v5.18.2</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v5.18.2'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2022-03-15T21:44:46+00:00</updated>
<entry>
<title>clk: imx: Select MXC_CLK for i.MX93 clock driver</title>
<updated>2022-03-15T21:44:46+00:00</updated>
<author>
<name>Abel Vesa</name>
<email>abel.vesa@nxp.com</email>
</author>
<published>2022-03-15T08:24:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7a74e1e49622698fbf106fdc98da55f9e6634c14'/>
<id>urn:sha1:7a74e1e49622698fbf106fdc98da55f9e6634c14</id>
<content type='text'>
Most of the i.MX clock generic API is built by selecting MXC_CLK.
Without it, the i.MX93 clock driver will fail to build:

aarch64-linux-gnu-ld: drivers/clk/imx/clk-imx93.o:
in function `imx93_clocks_probe': clk-imx93.c:(.text+0xa8):
undefined reference to `imx_obtain_fixed_clk_hw'

So fix this by selecting MXC_CLK for the CLK_IMX93.

Fixes: 24defbe194b6 ("clk: imx: add i.MX93 clk")
Signed-off-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Link: https://lore.kernel.org/r/20220315082446.3120850-1-abel.vesa@nxp.com
Reviewed-by: Peng Fan &lt;peng.fan@nxp.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: imx: remove redundant re-assignment of pll-&gt;base</title>
<updated>2022-03-09T18:39:25+00:00</updated>
<author>
<name>Colin Ian King</name>
<email>colin.i.king@gmail.com</email>
</author>
<published>2022-03-03T09:05:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3e6054d043c01e0d47a51cddc814f8d3409fc355'/>
<id>urn:sha1:3e6054d043c01e0d47a51cddc814f8d3409fc355</id>
<content type='text'>
There are two identical assignments of pll-&gt;base to the same value,
the second assignment is redundant and can be removed.

Cleans up cppcheck warning:
drivers/clk/imx/clk-sscg-pll.c:528:12: style: Variable 'pll-&gt;base' is
reassigned a value before the old one has been used. [redundantAssignment]

Signed-off-by: Colin Ian King &lt;colin.i.king@gmail.com&gt;
Link: https://lore.kernel.org/r/20220303090508.1125175-1-colin.i.king@gmail.com
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: imx: pll14xx: Support dynamic rates</title>
<updated>2022-03-04T15:06:30+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2022-03-04T12:52:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b09c68dc57c9d44071d83bb935b733f53ea2b2b4'/>
<id>urn:sha1:b09c68dc57c9d44071d83bb935b733f53ea2b2b4</id>
<content type='text'>
The pll1443x PLL so far only supports rates from a rate table passed
during initialization. Calculating PLL settings dynamically helps audio
applications to get their desired rates, so support for this is added
in this patch.

The strategy to get to the PLL setting for a rate is:

- First try to only adjust kdiv which specifies the fractional part of the PLL.
  This setting can be changed without glitches on the output and is therefore
  preferred
- When that isn't possible then the rate table is searched for suitable rates,
  so for standard rates the same settings are used as without this patch
- As a last resort the best settings are calculated dynamically

The code in this patch is based on patches from Adrian Alonso &lt;adrian.alonso@nxp.com&gt;
and Mads Bligaard Nielsen &lt;bli@bang-olufsen.dk&gt;

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Reviewed-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
Link: https://lore.kernel.org/r/20220304125256.2125023-9-s.hauer@pengutronix.de
Signed-off-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
</content>
</entry>
<entry>
<title>clk: imx: pll14xx: Add pr_fmt</title>
<updated>2022-03-04T15:06:30+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2022-03-04T12:52:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=80cbc80612a01461a257f2c2eb9976cbadfb7be2'/>
<id>urn:sha1:80cbc80612a01461a257f2c2eb9976cbadfb7be2</id>
<content type='text'>
Print all messages from within the pll14xx driver with a common
prefix using pr_fmt. No need to print function names anymore, so
drop them from the messages.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Reviewed-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
Link: https://lore.kernel.org/r/20220304125256.2125023-8-s.hauer@pengutronix.de
Signed-off-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
</content>
</entry>
<entry>
<title>clk: imx: pll14xx: explicitly return lowest rate</title>
<updated>2022-03-04T15:06:30+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2022-03-04T12:52:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5ff50031cb8852bfcf587d003ba6bad3c2336852'/>
<id>urn:sha1:5ff50031cb8852bfcf587d003ba6bad3c2336852</id>
<content type='text'>
clk_pll14xx_round_rate() returns the lowest rate by indexing into
the rate table with the variable i. i is actually pll-&gt;rate_count
as this is the value we come out of the loop with. Use pll-&gt;rate_count
explicitly to make it a bit more clear what is being done. While at
it fix a typo in the comment. No functional change.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Reviewed-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
Link: https://lore.kernel.org/r/20220304125256.2125023-7-s.hauer@pengutronix.de
Signed-off-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
</content>
</entry>
<entry>
<title>clk: imx: pll14xx: name variables after usage</title>
<updated>2022-03-04T15:06:30+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2022-03-04T12:52:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=052d03a043afebb8e26ec17de52e8cdc8b217ef9'/>
<id>urn:sha1:052d03a043afebb8e26ec17de52e8cdc8b217ef9</id>
<content type='text'>
In clk_pll1443x_set_rate() 'tmp' is used for the content of different
registers which makes it a bit hard to follow. Use different variables
named after the registers to make it clearer. No functional change
intended.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Reviewed-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
Link: https://lore.kernel.org/r/20220304125256.2125023-6-s.hauer@pengutronix.de
Signed-off-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
</content>
</entry>
<entry>
<title>clk: imx: pll14xx: consolidate rate calculation</title>
<updated>2022-03-04T15:06:30+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2022-03-04T12:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=53990cf9d5b489fc0ec08e5c4df7139fc311a824'/>
<id>urn:sha1:53990cf9d5b489fc0ec08e5c4df7139fc311a824</id>
<content type='text'>
The PLL driver has support for two different PLLs: The pll1416x and
the pll1443x. The latter has support for an additional kdiv value.
recalc_rate can be the same calculation when kdiv is assumed to be zero
for the PLL which doesn't support that value.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Reviewed-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
Link: https://lore.kernel.org/r/20220304125256.2125023-5-s.hauer@pengutronix.de
Signed-off-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
</content>
</entry>
<entry>
<title>clk: imx: pll14xx: Use FIELD_GET/FIELD_PREP</title>
<updated>2022-03-04T15:06:30+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2022-03-04T12:52:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=58f4980ccbecf633df1fcb113e2a9f04842eccc6'/>
<id>urn:sha1:58f4980ccbecf633df1fcb113e2a9f04842eccc6</id>
<content type='text'>
Linux has these marvelous FIELD_GET/FIELD_PREP macros for easy access
to bitfields in registers. Use them and remove the now unused *_SHIFT
defines.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Reviewed-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
Link: https://lore.kernel.org/r/20220304125256.2125023-4-s.hauer@pengutronix.de
Signed-off-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
</content>
</entry>
<entry>
<title>clk: imx: pll14xx: Drop wrong shifting</title>
<updated>2022-03-04T15:06:30+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2022-03-04T12:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d77461a616b659bd88dc153e3a86dba5bf78aa8a'/>
<id>urn:sha1:d77461a616b659bd88dc153e3a86dba5bf78aa8a</id>
<content type='text'>
The code tries to mask the bits in SDIV_MASK from 'tmp'. SDIV_MASK
already contains the shifted value, so shifting it again is wrong.
No functional change though as SDIV_SHIFT is zero.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Reviewed-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
Link: https://lore.kernel.org/r/20220304125256.2125023-3-s.hauer@pengutronix.de
Signed-off-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
</content>
</entry>
<entry>
<title>clk: imx: pll14xx: Use register defines consistently</title>
<updated>2022-03-04T15:06:30+00:00</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2022-03-04T12:52:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=485b4ff57c2777c15bfe2e6e6a204200b040e131'/>
<id>urn:sha1:485b4ff57c2777c15bfe2e6e6a204200b040e131</id>
<content type='text'>
The driver has defines for the registers, but they are mostly unused.
Use the defines consistently throughout the driver. While at it rename
DIV_CTL to DIV_CTL0 because that's the name in the reference manual.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Reviewed-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
Link: https://lore.kernel.org/r/20220304125256.2125023-2-s.hauer@pengutronix.de
Signed-off-by: Abel Vesa &lt;abel.vesa@nxp.com&gt;
</content>
</entry>
</feed>
