Jean Delvare
d63a5e7c71
clk: sunxi-ng: Add hardware dependency
...
The sunxi-ng clock driver is useless for other architectures.
Signed-off-by: Jean Delvare <jdelvare@suse.de >
Acked-by: Stephen Boyd <sboyd@codeaurora.org >
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
2016-09-10 11:41:21 +02:00
Maxime Ripard
5690879d93
clk: sunxi-ng: Add A23 CCU
...
Add support for the clock unit found in the A23. Due to the similarities
with the A33, it also shares its clock IDs to allow sharing the DTSI.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Acked-by: Chen-Yu Tsai <wens@csie.org >
2016-09-10 11:41:20 +02:00
Maxime Ripard
d05c748bd7
clk: sunxi-ng: Add A33 CCU support
...
This commit introduces the clocks found in the Allwinner A33 CCU.
Since this SoC is very similar to the A23, and we share a significant share
of the DTSI, the clock IDs that are going to be used will also be shared
with the A23, hence the name of the various header files.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Acked-by: Chen-Yu Tsai <wens@csie.org >
2016-09-10 11:41:19 +02:00
Maxime Ripard
aa15233517
clk: sunxi-ng: Add N-class clocks support
...
Add support for the class with a single factor, N, being a multiplier.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Acked-by: Chen-Yu Tsai <wens@csie.org >
2016-09-10 11:41:19 +02:00
Chen-Yu Tsai
c6e6c96d8f
clk: sunxi-ng: Add A31/A31s clocks
...
Add a new style driver for the clock control unit in Allwinner A31/A31s.
A few clocks are still missing:
- MIPI PLL's HDMI mode support
- EMAC clock
Signed-off-by: Chen-Yu Tsai <wens@csie.org >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
2016-08-25 22:31:43 +02:00
Maxime Ripard
5dc3916386
clk: sunxi-ng: h3: Fix Kconfig symbol typo
...
The Kconfig symbol for the sun8i SoC family was mistyped. Fix that.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160711203448.18062-2-maxime.ripard@free-electrons.com
2016-07-11 14:35:16 -07:00
Maxime Ripard
0577e4853b
clk: sunxi-ng: Add H3 clocks
...
Add the list of clocks and resets found in the H3 CCU.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-14-maxime.ripard@free-electrons.com
2016-07-08 18:05:12 -07:00
Maxime Ripard
4f728b5db7
clk: sunxi-ng: Add N-K-M-P factor clock
...
Introduce support for clocks that use a combination of two linear
multipliers (N and K factors), one linear divider (M) and one power of two
divider (P).
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-13-maxime.ripard@free-electrons.com
2016-07-08 18:05:06 -07:00
Maxime Ripard
df6561e602
clk: sunxi-ng: Add N-K-M Factor clock
...
Introduce support for clocks that multiply and divide using two linear
multipliers and one linear divider.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-12-maxime.ripard@free-electrons.com
2016-07-08 18:05:03 -07:00
Maxime Ripard
6174a1e24b
clk: sunxi-ng: Add N-M-factor clock support
...
Introduce support for clocks that multiply and divide using linear factors.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-11-maxime.ripard@free-electrons.com
2016-07-08 18:05:00 -07:00
Maxime Ripard
adbfb0056e
clk: sunxi-ng: Add N-K-factor clock support
...
Introduce support for clocks that use a combination of two linear
multipliers.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-10-maxime.ripard@free-electrons.com
2016-07-08 18:04:56 -07:00
Maxime Ripard
2ab836db50
clk: sunxi-ng: Add M-P factor clock support
...
Introduce support for the clocks that combine a linear divider and a
power-of-two based one.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-9-maxime.ripard@free-electrons.com
2016-07-08 18:04:52 -07:00
Maxime Ripard
e9b9321310
clk: sunxi-ng: Add divider
...
Add support for the various dividers (linear, table or pow-of-two based)
found in the CCU.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-8-maxime.ripard@free-electrons.com
2016-07-08 18:04:48 -07:00
Maxime Ripard
6f9f7f876e
clk: sunxi-ng: Add phase clock support
...
Add support for the clocks in the CCU that introduce a phase shift from
their parent clock.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-7-maxime.ripard@free-electrons.com
2016-07-08 18:04:45 -07:00
Maxime Ripard
2a65ed42dc
clk: sunxi-ng: Add mux clock support
...
Some clocks in the Allwinner SoCs clocks unit are just muxes.
However, those muxes might also be found in some other complicated clocks
that would benefit from the code in there to deal with "advanced" features,
like pre-dividers.
Introduce a set of helpers to reduce the code duplication in such cases.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-6-maxime.ripard@free-electrons.com
2016-07-08 18:04:42 -07:00
Maxime Ripard
1a7e7c388d
clk: sunxi-ng: Add gate clock support
...
Some clocks in the Allwinner SoCs clocks unit are just simple gates. Add
support for those clocks.
Since it's a feature that can also be found in more complex clocks, provide
a bunch of helpers that can be reused later on.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-5-maxime.ripard@free-electrons.com
2016-07-08 18:04:38 -07:00
Maxime Ripard
89a3dfb787
clk: sunxi-ng: Add fractional lib
...
Some clocks can be switched to a mode called fractional that have two fixed
output rate you can choose from.
Add a small library to deal with those clocks.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-4-maxime.ripard@free-electrons.com
2016-07-08 18:04:35 -07:00
Maxime Ripard
1d80c14248
clk: sunxi-ng: Add common infrastructure
...
Start our new clock infrastructure by adding the registration code, common
structure and common code.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Michael Turquette <mturquette@baylibre.com >
Link: lkml.kernel.org/r/20160629190535.11855-3-maxime.ripard@free-electrons.com
2016-07-08 18:04:32 -07:00