Skip to content

Commit 5437753

Browse files
Jian Hujbrun3t
authored andcommitted
dt-bindings: clock: add Amlogic T7 PLL clock controller
Add DT bindings for the PLL clock controller of the Amlogic T7 SoC family. Signed-off-by: Jian Hu <jian.hu@amlogic.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20251212022619.3072132-2-jian.hu@amlogic.com Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
1 parent 8f0b4cc commit 5437753

2 files changed

Lines changed: 170 additions & 0 deletions

File tree

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (C) 2024-2025 Amlogic, Inc. All rights reserved
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/clock/amlogic,t7-pll-clkc.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Amlogic T7 PLL Clock Control Controller
9+
10+
maintainers:
11+
- Neil Armstrong <neil.armstrong@linaro.org>
12+
- Jerome Brunet <jbrunet@baylibre.com>
13+
- Jian Hu <jian.hu@amlogic.com>
14+
- Xianwei Zhao <xianwei.zhao@amlogic.com>
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- amlogic,t7-gp0-pll
20+
- amlogic,t7-gp1-pll
21+
- amlogic,t7-hifi-pll
22+
- amlogic,t7-pcie-pll
23+
- amlogic,t7-mpll
24+
- amlogic,t7-hdmi-pll
25+
- amlogic,t7-mclk-pll
26+
27+
reg:
28+
maxItems: 1
29+
30+
'#clock-cells':
31+
const: 1
32+
33+
clocks:
34+
items:
35+
- description: mclk pll input oscillator gate
36+
- description: oscillator input clock source for mclk_sel_0
37+
- description: fixed input clock source for mclk_sel_0
38+
minItems: 1
39+
40+
clock-names:
41+
items:
42+
- const: in0
43+
- const: in1
44+
- const: in2
45+
minItems: 1
46+
47+
required:
48+
- compatible
49+
- '#clock-cells'
50+
- reg
51+
- clocks
52+
- clock-names
53+
54+
allOf:
55+
- if:
56+
properties:
57+
compatible:
58+
contains:
59+
const: amlogic,t7-mclk-pll
60+
61+
then:
62+
properties:
63+
clocks:
64+
minItems: 3
65+
66+
clock-names:
67+
minItems: 3
68+
69+
- if:
70+
properties:
71+
compatible:
72+
contains:
73+
enum:
74+
- amlogic,t7-gp0-pll
75+
- amlogic,t7-gp1--pll
76+
- amlogic,t7-hifi-pll
77+
- amlogic,t7-pcie-pll
78+
- amlogic,t7-mpll
79+
- amlogic,t7-hdmi-pll
80+
81+
then:
82+
properties:
83+
clocks:
84+
maxItems: 1
85+
86+
clock-names:
87+
maxItems: 1
88+
89+
additionalProperties: false
90+
91+
examples:
92+
- |
93+
apb {
94+
#address-cells = <2>;
95+
#size-cells = <2>;
96+
97+
clock-controller@8080 {
98+
compatible = "amlogic,t7-gp0-pll";
99+
reg = <0 0x8080 0 0x20>;
100+
clocks = <&scmi_clk 2>;
101+
clock-names = "in0";
102+
#clock-cells = <1>;
103+
};
104+
105+
clock-controller@8300 {
106+
compatible = "amlogic,t7-mclk-pll";
107+
reg = <0 0x8300 0 0x18>;
108+
clocks = <&scmi_clk 2>,
109+
<&xtal>,
110+
<&scmi_clk 31>;
111+
clock-names = "in0", "in1", "in2";
112+
#clock-cells = <1>;
113+
};
114+
};
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */
2+
/*
3+
* Copyright (C) 2024-2025 Amlogic, Inc. All rights reserved
4+
*/
5+
6+
#ifndef __T7_PLL_CLKC_H
7+
#define __T7_PLL_CLKC_H
8+
9+
/* GP0 */
10+
#define CLKID_GP0_PLL_DCO 0
11+
#define CLKID_GP0_PLL 1
12+
13+
/* GP1 */
14+
#define CLKID_GP1_PLL_DCO 0
15+
#define CLKID_GP1_PLL 1
16+
17+
/* HIFI */
18+
#define CLKID_HIFI_PLL_DCO 0
19+
#define CLKID_HIFI_PLL 1
20+
21+
/* PCIE */
22+
#define CLKID_PCIE_PLL_DCO 0
23+
#define CLKID_PCIE_PLL_DCO_DIV2 1
24+
#define CLKID_PCIE_PLL_OD 2
25+
#define CLKID_PCIE_PLL 3
26+
27+
/* MPLL */
28+
#define CLKID_MPLL_PREDIV 0
29+
#define CLKID_MPLL0_DIV 1
30+
#define CLKID_MPLL0 2
31+
#define CLKID_MPLL1_DIV 3
32+
#define CLKID_MPLL1 4
33+
#define CLKID_MPLL2_DIV 5
34+
#define CLKID_MPLL2 6
35+
#define CLKID_MPLL3_DIV 7
36+
#define CLKID_MPLL3 8
37+
38+
/* HDMI */
39+
#define CLKID_HDMI_PLL_DCO 0
40+
#define CLKID_HDMI_PLL_OD 1
41+
#define CLKID_HDMI_PLL 2
42+
43+
/* MCLK */
44+
#define CLKID_MCLK_PLL_DCO 0
45+
#define CLKID_MCLK_PRE 1
46+
#define CLKID_MCLK_PLL 2
47+
#define CLKID_MCLK_0_SEL 3
48+
#define CLKID_MCLK_0_DIV2 4
49+
#define CLKID_MCLK_0_PRE 5
50+
#define CLKID_MCLK_0 6
51+
#define CLKID_MCLK_1_SEL 7
52+
#define CLKID_MCLK_1_DIV2 8
53+
#define CLKID_MCLK_1_PRE 9
54+
#define CLKID_MCLK_1 10
55+
56+
#endif /* __T7_PLL_CLKC_H */

0 commit comments

Comments
 (0)