Skip to content

Commit 4f47c91

Browse files
committed
Merge branches 'clk-lmk04832', 'clk-stm', 'clk-rohm', 'clk-actions' and 'clk-ingenic' into clk-next
- Texas Instruments' LMK04832 Ultra Low-Noise JESD204B Compliant Clock Jitter Cleaner With Dual Loop PLLs - Support secure mode of STM32MP1 SoCs - Improve clock support for Actions S500 SoC * clk-lmk04832: clk: lmk04832: Use of match table clk: lmk04832: Depend on SPI clk: lmk04832: add support for digital delay clk: add support for the lmk04832 dt-bindings: clock: add ti,lmk04832 bindings * clk-stm: clk: stm32mp1: new compatible for secure RCC support dt-bindings: clock: stm32mp1 new compatible for secure rcc dt-bindings: reset: add MCU HOLD BOOT ID for SCMI reset domains on stm32mp15 dt-bindings: reset: add IDs for SCMI reset domains on stm32mp15 dt-bindings: clock: add IDs for SCMI clocks on stm32mp15 reset: stm32mp1: remove stm32mp1 reset clk: stm32mp1: move RCC reset controller into RCC clock driver clk: stm32mp1: convert to module driver clk: stm32mp1: remove intermediate pll clocks clk: stm32mp1: merge 'ck_hse_rtc' and 'ck_rtc' into one clock clk: stm32mp1: merge 'clk-hsi-div' and 'ck_hsi' into one clock * clk-rohm: clk: bd718xx: Drop BD70528 support * clk-actions: clk: actions: Add NIC and ETHERNET clock support for Actions S500 SoC dt-bindings: clock: Add NIC and ETHERNET bindings for Actions S500 SoC clk: actions: Fix AHPPREDIV-H-AHB clock chain on Owl S500 SoC clk: actions: Fix bisp_factor_table based clocks on Owl S500 SoC clk: actions: Fix SD clocks factor table on Owl S500 SoC clk: actions: Fix UART clock dividers on Owl S500 SoC * clk-ingenic: clk: ingenic: Add support for the JZ4760 clk: ingenic: Support overriding PLLs M/N/OD calc algorithm clk: ingenic: Remove pll_info.no_bypass_bit clk: ingenic: Read bypass register only when there is one clk: Support bypassing dividers dt-bindings: clock: ingenic: Add ingenic,jz4760{,b}-cgu compatibles
6 parents e51fbc5 + bf68fdf + 21e7433 + fa5b654 + db01868 + bdbfc02 commit 4f47c91

25 files changed

+2942
-312
lines changed

Documentation/devicetree/bindings/clock/ingenic,cgu.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ select:
2222
enum:
2323
- ingenic,jz4740-cgu
2424
- ingenic,jz4725b-cgu
25+
- ingenic,jz4760-cgu
26+
- ingenic,jz4760b-cgu
2527
- ingenic,jz4770-cgu
2628
- ingenic,jz4780-cgu
2729
- ingenic,x1000-cgu
@@ -49,6 +51,8 @@ properties:
4951
- enum:
5052
- ingenic,jz4740-cgu
5153
- ingenic,jz4725b-cgu
54+
- ingenic,jz4760-cgu
55+
- ingenic,jz4760b-cgu
5256
- ingenic,jz4770-cgu
5357
- ingenic,jz4780-cgu
5458
- ingenic,x1000-cgu

Documentation/devicetree/bindings/clock/st,stm32mp1-rcc.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ properties:
5454

5555
compatible:
5656
items:
57-
- const: st,stm32mp1-rcc
57+
- enum:
58+
- st,stm32mp1-rcc-secure
59+
- st,stm32mp1-rcc
5860
- const: syscon
5961

6062
reg:
@@ -71,7 +73,7 @@ additionalProperties: false
7173
examples:
7274
- |
7375
rcc: rcc@50000000 {
74-
compatible = "st,stm32mp1-rcc", "syscon";
76+
compatible = "st,stm32mp1-rcc-secure", "syscon";
7577
reg = <0x50000000 0x1000>;
7678
#clock-cells = <1>;
7779
#reset-cells = <1>;
Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/ti,lmk04832.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Clock bindings for the Texas Instruments LMK04832
8+
9+
maintainers:
10+
- Liam Beguin <[email protected]>
11+
12+
description: |
13+
Devicetree binding for the LMK04832, a clock conditioner with JEDEC JESD204B
14+
support. The LMK04832 is pin compatible with the LMK0482x family.
15+
16+
Link to datasheet, https://www.ti.com/lit/ds/symlink/lmk04832.pdf
17+
18+
properties:
19+
compatible:
20+
enum:
21+
- ti,lmk04832
22+
23+
reg:
24+
maxItems: 1
25+
26+
'#address-cells':
27+
const: 1
28+
29+
'#size-cells':
30+
const: 0
31+
32+
'#clock-cells':
33+
const: 1
34+
35+
spi-max-frequency:
36+
maximum: 5000000
37+
38+
clocks:
39+
items:
40+
- description: PLL2 reference clock.
41+
42+
clock-names:
43+
items:
44+
- const: oscin
45+
46+
reset-gpios:
47+
maxItems: 1
48+
49+
ti,spi-4wire-rdbk:
50+
description: |
51+
Select SPI 4wire readback pin configuration.
52+
Available readback pins are,
53+
CLKin_SEL0 0
54+
CLKin_SEL1 1
55+
RESET 2
56+
$ref: /schemas/types.yaml#/definitions/uint32
57+
enum: [0, 1, 2]
58+
default: 1
59+
60+
ti,vco-hz:
61+
description: Optional to set VCO frequency of the PLL in Hertz.
62+
63+
ti,sysref-ddly:
64+
description: SYSREF digital delay value.
65+
$ref: /schemas/types.yaml#/definitions/uint32
66+
minimum: 8
67+
maximum: 8191
68+
default: 8
69+
70+
ti,sysref-mux:
71+
description: |
72+
SYSREF Mux configuration.
73+
Available options are,
74+
Normal SYNC 0
75+
Re-clocked 1
76+
SYSREF Pulser 2
77+
SYSREF Continuous 3
78+
$ref: /schemas/types.yaml#/definitions/uint32
79+
enum: [0, 1, 2, 3]
80+
default: 3
81+
82+
ti,sync-mode:
83+
description: SYNC pin configuration.
84+
$ref: /schemas/types.yaml#/definitions/uint32
85+
enum: [0, 1, 2]
86+
default: 1
87+
88+
ti,sysref-pulse-count:
89+
description:
90+
Number of SYSREF pulses to send when SYSREF is not in continuous mode.
91+
$ref: /schemas/types.yaml#/definitions/uint32
92+
enum: [1, 2, 4, 8]
93+
default: 4
94+
95+
patternProperties:
96+
"@[0-9a-d]+$":
97+
type: object
98+
description:
99+
Child nodes used to configure output clocks.
100+
101+
properties:
102+
reg:
103+
description:
104+
clock output identifier.
105+
minimum: 0
106+
maximum: 13
107+
108+
ti,clkout-fmt:
109+
description:
110+
Clock output format.
111+
Available options are,
112+
Powerdown 0x00
113+
LVDS 0x01
114+
HSDS 6 mA 0x02
115+
HSDS 8 mA 0x03
116+
LVPECL 1600 mV 0x04
117+
LVPECL 2000 mV 0x05
118+
LCPECL 0x06
119+
CML 16 mA 0x07
120+
CML 24 mA 0x08
121+
CML 32 mA 0x09
122+
CMOS (Off/Inverted) 0x0a
123+
CMOS (Normal/Off) 0x0b
124+
CMOS (Inverted/Inverted) 0x0c
125+
CMOS (Inverted/Normal) 0x0d
126+
CMOS (Normal/Inverted) 0x0e
127+
CMOS (Normal/Normal) 0x0f
128+
$ref: /schemas/types.yaml#/definitions/uint32
129+
minimum: 0
130+
maximum: 15
131+
132+
ti,clkout-sysref:
133+
description:
134+
Select SYSREF clock path for output clock.
135+
type: boolean
136+
137+
required:
138+
- reg
139+
140+
additionalProperties: false
141+
142+
required:
143+
- compatible
144+
- reg
145+
- '#clock-cells'
146+
- clocks
147+
- clock-names
148+
149+
additionalProperties: false
150+
151+
examples:
152+
- |
153+
clocks {
154+
lmk04832_oscin: oscin {
155+
compatible = "fixed-clock";
156+
157+
#clock-cells = <0>;
158+
clock-frequency = <122880000>;
159+
clock-output-names = "lmk04832-oscin";
160+
};
161+
};
162+
163+
spi0 {
164+
#address-cells = <1>;
165+
#size-cells = <0>;
166+
167+
lmk04832: clock-controller@0 {
168+
#address-cells = <1>;
169+
#size-cells = <0>;
170+
171+
reg = <0>;
172+
173+
compatible = "ti,lmk04832";
174+
spi-max-frequency = <781250>;
175+
176+
reset-gpios = <&gpio_lmk 0 0 0>;
177+
178+
#clock-cells = <1>;
179+
clocks = <&lmk04832_oscin>;
180+
clock-names = "oscin";
181+
182+
ti,spi-4wire-rdbk = <0>;
183+
ti,vco-hz = <2457600000>;
184+
185+
assigned-clocks =
186+
<&lmk04832 0>, <&lmk04832 1>,
187+
<&lmk04832 2>, <&lmk04832 3>,
188+
<&lmk04832 4>,
189+
<&lmk04832 6>, <&lmk04832 7>,
190+
<&lmk04832 10>, <&lmk04832 11>;
191+
assigned-clock-rates =
192+
<122880000>, <384000>,
193+
<122880000>, <384000>,
194+
<122880000>,
195+
<153600000>, <384000>,
196+
<614400000>, <384000>;
197+
198+
clkout0@0 {
199+
reg = <0>;
200+
ti,clkout-fmt = <0x01>; // LVDS
201+
};
202+
203+
clkout1@1 {
204+
reg = <1>;
205+
ti,clkout-fmt = <0x01>; // LVDS
206+
ti,clkout-sysref;
207+
};
208+
};
209+
};

drivers/clk/Kconfig

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ config CLK_HSDK
5151
This driver supports the HSDK core, system, ddr, tunnel and hdmi PLLs
5252
control.
5353

54+
config LMK04832
55+
tristate "Ti LMK04832 JESD204B Compliant Clock Jitter Cleaner"
56+
depends on SPI
57+
select REGMAP_SPI
58+
help
59+
Say yes here to build support for Texas Instruments' LMK04832 Ultra
60+
Low-Noise JESD204B Compliant Clock Jitter Cleaner With Dual Loop PLLs
61+
5462
config COMMON_CLK_MAX77686
5563
tristate "Clock driver for Maxim 77620/77686/77802 MFD"
5664
depends on MFD_MAX77686 || MFD_MAX77620 || COMPILE_TEST
@@ -331,6 +339,16 @@ config COMMON_CLK_STM32MP157
331339
help
332340
Support for stm32mp157 SoC family clocks
333341

342+
config COMMON_CLK_STM32MP157_SCMI
343+
bool "stm32mp157 Clock driver with Trusted Firmware"
344+
depends on COMMON_CLK_STM32MP157
345+
select COMMON_CLK_SCMI
346+
select ARM_SCMI_PROTOCOL
347+
default y
348+
help
349+
Support for stm32mp157 SoC family clocks with Trusted Firmware using
350+
SCMI protocol.
351+
334352
config COMMON_CLK_STM32F
335353
def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746)
336354
help
@@ -354,10 +372,10 @@ config COMMON_CLK_MMP2_AUDIO
354372

355373
config COMMON_CLK_BD718XX
356374
tristate "Clock driver for 32K clk gates on ROHM PMICs"
357-
depends on MFD_ROHM_BD718XX || MFD_ROHM_BD70528 || MFD_ROHM_BD71828
375+
depends on MFD_ROHM_BD718XX || MFD_ROHM_BD71828
358376
help
359-
This driver supports ROHM BD71837, ROHM BD71847, ROHM BD71828 and
360-
ROHM BD70528 PMICs clock gates.
377+
This driver supports ROHM BD71837, BD71847, BD71850, BD71815
378+
and BD71828 PMICs clock gates.
361379

362380
config COMMON_CLK_FIXED_MMIO
363381
bool "Clock driver for Memory Mapped Fixed values"

drivers/clk/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ obj-$(CONFIG_MACH_ASPEED_G6) += clk-ast2600.o
3636
obj-$(CONFIG_ARCH_HIGHBANK) += clk-highbank.o
3737
obj-$(CONFIG_CLK_HSDK) += clk-hsdk-pll.o
3838
obj-$(CONFIG_COMMON_CLK_K210) += clk-k210.o
39+
obj-$(CONFIG_LMK04832) += clk-lmk04832.o
3940
obj-$(CONFIG_COMMON_CLK_LOCHNAGAR) += clk-lochnagar.o
4041
obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o
4142
obj-$(CONFIG_COMMON_CLK_MAX9485) += clk-max9485.o

0 commit comments

Comments
 (0)