<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pm24.git/drivers/clk/samsung, branch rust-6.13</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kobert.dev/pm24.git/atom?h=rust-6.13</id>
<link rel='self' href='https://git.kobert.dev/pm24.git/atom?h=rust-6.13'/>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/'/>
<updated>2024-09-21T21:12:05Z</updated>
<entry>
<title>clk: Switch back to struct platform_driver::remove()</title>
<updated>2024-09-21T21:12:05Z</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@baylibre.com</email>
</author>
<published>2024-09-09T14:40:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=f00b45db02ae4e0288bb719a9935b966733c7e91'/>
<id>urn:sha1:f00b45db02ae4e0288bb719a9935b966733c7e91</id>
<content type='text'>
After commit 0edb555a65d1 ("platform: Make platform_driver::remove()
return void") .remove() is (again) the right callback to implement for
platform drivers.

Convert all clk drivers to use .remove(), with the eventual goal to drop
struct platform_driver::remove_new(). As .remove() and .remove_new() have
the same prototypes, conversion is done by just changing the structure
member name in the driver initializer.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@baylibre.com&gt;
Link: https://lore.kernel.org/r/20240909144026.870565-2-u.kleine-koenig@baylibre.com
Acked-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt; # renesas
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: add top clock support for ExynosAuto v920 SoC</title>
<updated>2024-08-23T07:21:35Z</updated>
<author>
<name>Sunyeal Hong</name>
<email>sunyeal.hong@samsung.com</email>
</author>
<published>2024-08-21T23:26:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=485e13fe2fb649e60eb49d8bec4404da215c1f5b'/>
<id>urn:sha1:485e13fe2fb649e60eb49d8bec4404da215c1f5b</id>
<content type='text'>
This adds support for CMU_TOP which generates clocks for all the
function blocks such as CORE, HSI0/1/2, PERIC0/1 and so on. For
CMU_TOP, PLL_SHARED0,1,2,3,4 and 5 will be the sources of this block
and they will generate bus clocks.

Signed-off-by: Sunyeal Hong &lt;sunyeal.hong@samsung.com&gt;
Link: https://lore.kernel.org/r/20240821232652.1077701-5-sunyeal.hong@samsung.com
Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: clk-pll: Add support for pll_531x</title>
<updated>2024-08-23T07:21:28Z</updated>
<author>
<name>Sunyeal Hong</name>
<email>sunyeal.hong@samsung.com</email>
</author>
<published>2024-08-21T23:26:51Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=9224e288f2e1f9161cf0c54122ac9168b6b68877'/>
<id>urn:sha1:9224e288f2e1f9161cf0c54122ac9168b6b68877</id>
<content type='text'>
pll531x PLL is used in Exynos Auto v920 SoC for shared pll.
pll531x: Integer/fractional PLL with mid frequency FVCO (800 to 3120 MHz)

PLL531x
FOUT = (MDIV x FIN)/(PDIV x 2^SDIV) for integer PLL
FOUT = (MDIV + F/2^32-F[31]) x FIN/(PDIV x 2^SDIV) for fractional PLL

Signed-off-by: Sunyeal Hong &lt;sunyeal.hong@samsung.com&gt;
Reviewed-by: Alim Akhtar &lt;alim.akhtar@samsung.com&gt;
Link: https://lore.kernel.org/r/20240821232652.1077701-4-sunyeal.hong@samsung.com
Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: exynos7885: Add USB related clocks to CMU_FSYS</title>
<updated>2024-08-21T11:20:08Z</updated>
<author>
<name>David Virag</name>
<email>virag.david003@gmail.com</email>
</author>
<published>2024-08-16T17:50:32Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=011a9de99793c3a2ee612ff3e0ce293dcbea6df0'/>
<id>urn:sha1:011a9de99793c3a2ee612ff3e0ce293dcbea6df0</id>
<content type='text'>
Exynos7885 SoC has a DWC3 USB Controller with Exynos USB PHY which in
theory supports USB3 SuperSpeed, but is only used as USB2 in all known
devices.

These clocks are needed for everything related to USB.

While at it, also remove the CLK_SET_RATE_PARENT capability of
CLK_MOUT_FSYS_USB30DRD_USER, since it's not actually needed.

Signed-off-by: David Virag &lt;virag.david003@gmail.com&gt;
Link: https://lore.kernel.org/r/20240816175034.769628-3-virag.david003@gmail.com
Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: clk-pll: Add support for pll_1418x</title>
<updated>2024-08-21T11:20:07Z</updated>
<author>
<name>David Virag</name>
<email>virag.david003@gmail.com</email>
</author>
<published>2024-08-16T17:50:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=4e39e5b84361924006f4d7cf81e049a2793079a6'/>
<id>urn:sha1:4e39e5b84361924006f4d7cf81e049a2793079a6</id>
<content type='text'>
pll1418x is used in Exynos7885 SoC for USB PHY clock.
Operation-wise it is very similar to pll0822x, except that MDIV is only
9 bits wide instead of 10, and we use the CON1 register in the PLL
macro's "con" parameter instead of CON3 like this:

	PLL(pll_1418x, CLK_FOUT_USB_PLL, "fout_usb_pll", "oscclk",
	    PLL_LOCKTIME_PLL_USB, PLL_CON0_PLL_USB,
	    pll_usb_rate_table),

Technically the PLL should work fine with pll0822x code if the PLL
tables are correct, but it's more "correct" to actually update the mask.

Signed-off-by: David Virag &lt;virag.david003@gmail.com&gt;
Link: https://lore.kernel.org/r/20240816175034.769628-2-virag.david003@gmail.com
Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: exynosautov9: add dpum clock support</title>
<updated>2024-08-11T12:30:29Z</updated>
<author>
<name>Kwanghoon Son</name>
<email>k.son@samsung.com</email>
</author>
<published>2024-08-09T11:54:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=ae07389413d41995a027aa5fb99938cd9201fb40'/>
<id>urn:sha1:ae07389413d41995a027aa5fb99938cd9201fb40</id>
<content type='text'>
Add dpum clock for exynosautov9.

Signed-off-by: Kwanghoon Son &lt;k.son@samsung.com&gt;
Link: https://lore.kernel.org/r/20240809-clk_dpum-v3-3-359decc30fe2@samsung.com
Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: exynos7885: Add missing MUX clocks from PLLs in CMU_TOP</title>
<updated>2024-08-08T09:42:10Z</updated>
<author>
<name>David Virag</name>
<email>virag.david003@gmail.com</email>
</author>
<published>2024-08-06T12:11:48Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=cc9e3e375f4f2e244695040aa416d16ef6d26ddd'/>
<id>urn:sha1:cc9e3e375f4f2e244695040aa416d16ef6d26ddd</id>
<content type='text'>
In Exynos7885 (and seemingly all modern Exynos SoCs) all PLLs have a MUX
attached to them controlled by bit 4 in the PLL's CON0 register.

These MUXes can select between OSCCLK or the PLL's output, essentially
making the PLL bypassable.

These weren't modeled in the driver because the vendor provided drivers
didn't model it properly, instead setting them when updating the PMS
values.

Not having them modeled didn't cause any problems in this case, since
these MUXes were set to the PLL's output by default, but this is not the
case everywhere in this SoC.

Signed-off-by: David Virag &lt;virag.david003@gmail.com&gt;
Link: https://lore.kernel.org/r/20240806121157.479212-6-virag.david003@gmail.com
Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: exynos7885: Update CLKS_NR_FSYS after bindings fix</title>
<updated>2024-08-08T09:41:31Z</updated>
<author>
<name>David Virag</name>
<email>virag.david003@gmail.com</email>
</author>
<published>2024-08-06T12:11:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=217a5f23c290c349ceaa37a6f2c014ad4c2d5759'/>
<id>urn:sha1:217a5f23c290c349ceaa37a6f2c014ad4c2d5759</id>
<content type='text'>
Update CLKS_NR_FSYS to the proper value after a fix in DT bindings.
This should always be the last clock in a CMU + 1.

Fixes: cd268e309c29 ("dt-bindings: clock: Add bindings for Exynos7885 CMU_FSYS")
Cc: stable@vger.kernel.org
Signed-off-by: David Virag &lt;virag.david003@gmail.com&gt;
Link: https://lore.kernel.org/r/20240806121157.479212-5-virag.david003@gmail.com
Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: exynos850: Add TMU clock</title>
<updated>2024-07-31T14:16:57Z</updated>
<author>
<name>Sam Protsenko</name>
<email>semen.protsenko@linaro.org</email>
</author>
<published>2024-07-23T16:33:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=79b918aa997acd5066c7962502b1daaae76b6911'/>
<id>urn:sha1:79b918aa997acd5066c7962502b1daaae76b6911</id>
<content type='text'>
Add TMU PCLK clock in CMU_PERI unit. It acts simultaneously as an
interface clock (to access TMU registers) and an operating clock which
makes TMU IP-core functional.

Signed-off-by: Sam Protsenko &lt;semen.protsenko@linaro.org&gt;
Link: https://lore.kernel.org/r/20240723163311.28654-2-semen.protsenko@linaro.org
Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: fix getting Exynos4 fin_pll rate from external clocks</title>
<updated>2024-07-23T18:29:23Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzysztof.kozlowski@linaro.org</email>
</author>
<published>2024-07-22T06:33:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=f99b3feb3b0e9fca2257c90fc8317be8ee44c19a'/>
<id>urn:sha1:f99b3feb3b0e9fca2257c90fc8317be8ee44c19a</id>
<content type='text'>
Commit 0dc83ad8bfc9 ("clk: samsung: Don't register clkdev lookup for the
fixed rate clocks") claimed registering clkdev lookup is not necessary
anymore, but that was not entirely true: Exynos4210/4212/4412 clock code
still relied on it to get the clock rate of xxti or xusbxti external
clocks.

Drop that requirement by accessing already registered clk_hw when
looking up the xxti/xusbxti rate.

Reported-by: Artur Weber &lt;aweber.kernel@gmail.com&gt;
Closes: https://lore.kernel.org/all/6227c1fb-d769-462a-b79b-abcc15d3db8e@gmail.com/
Fixes: 0dc83ad8bfc9 ("clk: samsung: Don't register clkdev lookup for the fixed rate clocks")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Link: https://lore.kernel.org/r/20240722063309.60054-1-krzysztof.kozlowski@linaro.org
Tested-by: Artur Weber &lt;aweber.kernel@gmail.com&gt; # Exynos4212
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
</feed>
