Skip to content

Commit 9eb77e4

Browse files
committed
Merge tag 'clk-meson-v6.5-1' of https://github.com/BayLibre/clk-meson into clk-allwinner
Pull Amlogic clk driver updates from Jerome Brunet: - Add amlogic a1 SoC family PLL and peripheral clock controller support * tag 'clk-meson-v6.5-1' of https://github.com/BayLibre/clk-meson: clk: meson: a1: add Amlogic A1 Peripherals clock controller driver clk: meson: a1: add Amlogic A1 PLL clock controller driver clk: meson: introduce new pll power-on sequence for A1 SoC family clk: meson: make pll rst bit as optional dt-bindings: clock: meson: add A1 Peripherals clock controller bindings dt-bindings: clock: meson: add A1 PLL clock controller bindings
2 parents ac9a786 + 84af914 commit 9eb77e4

File tree

13 files changed

+3091
-7
lines changed

13 files changed

+3091
-7
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/amlogic,a1-peripherals-clkc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic A1 Peripherals Clock Control Unit
8+
9+
maintainers:
10+
- Neil Armstrong <[email protected]>
11+
- Jerome Brunet <[email protected]>
12+
- Jian Hu <[email protected]>
13+
- Dmitry Rokosov <[email protected]>
14+
15+
properties:
16+
compatible:
17+
const: amlogic,a1-peripherals-clkc
18+
19+
'#clock-cells':
20+
const: 1
21+
22+
reg:
23+
maxItems: 1
24+
25+
clocks:
26+
items:
27+
- description: input fixed pll div2
28+
- description: input fixed pll div3
29+
- description: input fixed pll div5
30+
- description: input fixed pll div7
31+
- description: input hifi pll
32+
- description: input oscillator (usually at 24MHz)
33+
34+
clock-names:
35+
items:
36+
- const: fclk_div2
37+
- const: fclk_div3
38+
- const: fclk_div5
39+
- const: fclk_div7
40+
- const: hifi_pll
41+
- const: xtal
42+
43+
required:
44+
- compatible
45+
- '#clock-cells'
46+
- reg
47+
- clocks
48+
- clock-names
49+
50+
additionalProperties: false
51+
52+
examples:
53+
- |
54+
#include <dt-bindings/clock/amlogic,a1-pll-clkc.h>
55+
apb {
56+
#address-cells = <2>;
57+
#size-cells = <2>;
58+
59+
clock-controller@800 {
60+
compatible = "amlogic,a1-peripherals-clkc";
61+
reg = <0 0x800 0 0x104>;
62+
#clock-cells = <1>;
63+
clocks = <&clkc_pll CLKID_FCLK_DIV2>,
64+
<&clkc_pll CLKID_FCLK_DIV3>,
65+
<&clkc_pll CLKID_FCLK_DIV5>,
66+
<&clkc_pll CLKID_FCLK_DIV7>,
67+
<&clkc_pll CLKID_HIFI_PLL>,
68+
<&xtal>;
69+
clock-names = "fclk_div2", "fclk_div3",
70+
"fclk_div5", "fclk_div7",
71+
"hifi_pll", "xtal";
72+
};
73+
};
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/amlogic,a1-pll-clkc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic A1 PLL Clock Control Unit
8+
9+
maintainers:
10+
- Neil Armstrong <[email protected]>
11+
- Jerome Brunet <[email protected]>
12+
- Jian Hu <[email protected]>
13+
- Dmitry Rokosov <[email protected]>
14+
15+
properties:
16+
compatible:
17+
const: amlogic,a1-pll-clkc
18+
19+
'#clock-cells':
20+
const: 1
21+
22+
reg:
23+
maxItems: 1
24+
25+
clocks:
26+
items:
27+
- description: input fixpll_in
28+
- description: input hifipll_in
29+
30+
clock-names:
31+
items:
32+
- const: fixpll_in
33+
- const: hifipll_in
34+
35+
required:
36+
- compatible
37+
- '#clock-cells'
38+
- reg
39+
- clocks
40+
- clock-names
41+
42+
additionalProperties: false
43+
44+
examples:
45+
- |
46+
#include <dt-bindings/clock/amlogic,a1-peripherals-clkc.h>
47+
apb {
48+
#address-cells = <2>;
49+
#size-cells = <2>;
50+
51+
clock-controller@7c80 {
52+
compatible = "amlogic,a1-pll-clkc";
53+
reg = <0 0x7c80 0 0x18c>;
54+
#clock-cells = <1>;
55+
clocks = <&clkc_periphs CLKID_FIXPLL_IN>,
56+
<&clkc_periphs CLKID_HIFIPLL_IN>;
57+
clock-names = "fixpll_in", "hifipll_in";
58+
};
59+
};

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1888,6 +1888,7 @@ L: [email protected]
18881888
S: Maintained
18891889
F: Documentation/devicetree/bindings/clock/amlogic*
18901890
F: drivers/clk/meson/
1891+
F: include/dt-bindings/clock/a1*
18911892
F: include/dt-bindings/clock/gxbb*
18921893
F: include/dt-bindings/clock/meson*
18931894

drivers/clk/meson/Kconfig

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,26 @@ config COMMON_CLK_AXG_AUDIO
9999
Support for the audio clock controller on AmLogic A113D devices,
100100
aka axg, Say Y if you want audio subsystem to work.
101101

102+
config COMMON_CLK_A1_PLL
103+
tristate "Amlogic A1 SoC PLL controller support"
104+
depends on ARM64
105+
select COMMON_CLK_MESON_REGMAP
106+
select COMMON_CLK_MESON_PLL
107+
help
108+
Support for the PLL clock controller on Amlogic A113L based
109+
device, A1 SoC Family. Say Y if you want A1 PLL clock controller
110+
to work.
111+
112+
config COMMON_CLK_A1_PERIPHERALS
113+
tristate "Amlogic A1 SoC Peripherals clock controller support"
114+
depends on ARM64
115+
select COMMON_CLK_MESON_DUALDIV
116+
select COMMON_CLK_MESON_REGMAP
117+
help
118+
Support for the Peripherals clock controller on Amlogic A113L based
119+
device, A1 SoC Family. Say Y if you want A1 Peripherals clock
120+
controller to work.
121+
102122
config COMMON_CLK_G12A
103123
tristate "G12 and SM1 SoC clock controllers support"
104124
depends on ARM64

drivers/clk/meson/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ obj-$(CONFIG_COMMON_CLK_MESON_VID_PLL_DIV) += vid-pll-div.o
1616

1717
obj-$(CONFIG_COMMON_CLK_AXG) += axg.o axg-aoclk.o
1818
obj-$(CONFIG_COMMON_CLK_AXG_AUDIO) += axg-audio.o
19+
obj-$(CONFIG_COMMON_CLK_A1_PLL) += a1-pll.o
20+
obj-$(CONFIG_COMMON_CLK_A1_PERIPHERALS) += a1-peripherals.o
1921
obj-$(CONFIG_COMMON_CLK_GXBB) += gxbb.o gxbb-aoclk.o
2022
obj-$(CONFIG_COMMON_CLK_G12A) += g12a.o g12a-aoclk.o
2123
obj-$(CONFIG_COMMON_CLK_MESON8B) += meson8b.o meson8-ddr.o

0 commit comments

Comments
 (0)