Skip to content

Commit 53a2cc5

Browse files
committed
Merge branches 'clk-ti', 'clk-ingenic', 'clk-typo', 'clk-at91', 'clk-mmp2' and 'clk-arm-icst' into clk-next
- EHRPWM's TimeBase clock(TBCLK) for TI AM654 SoCs - Support PMC clks on at91sam9n12, at91rm9200, sama5d3, and at91sam9g45 SoCs - Fixes and improvements for the Marvell MMP2/MMP3 SoC clk drivers * clk-ti: clk: keystone: Add new driver to handle syscon based clocks dt-bindings: clock: Add binding documentation for TI EHRPWM TBCLK * clk-ingenic: clk: ingenic/TCU: Fix round_rate returning error clk: ingenic/jz4770: Exit with error if CGU init failed clk: JZ4780: Add function for enable the second core. clk: Ingenic: Add support for TCU of X1000. * clk-typo: clk: Fix trivia typo in comment exlusive => exclusive * clk-at91: clk: at91: add at91rm9200 pmc driver clk: at91: add at91sam9n12 pmc driver clk: at91: add sama5d3 pmc driver clk: at91: add at91sam9g45 pmc driver clk: at91: usb: introduce num_parents in driver's structure clk: at91: usb: use proper usbs_mask clk: at91: sam9x60: fix usb clock parents clk: at91: usb: continue if clk_hw_round_rate() return zero clk: at91: sam9x60: Don't use audio PLL * clk-mmp2: clk: mmp2: Fix bit masks for LCDC I/O and pixel clocks clk: mmp2: Add clock for fifth SD HCI on MMP3 dt-bindings: marvell,mmp2: Add clock id for the fifth SD HCI on MMP3 clk: mmp2: Add clocks for the thermal sensors dt-bindings: marvell,mmp2: Add clock ids for the thermal sensors clk: mmp2: add the GPU clocks dt-bindings: marvell,mmp2: Add clock ids for the GPU clocks clk: mmp2: Add PLLs that are available on MMP3 dt-bindings: marvell,mmp2: Add clock ids for MMP3 PLLs clk: mmp2: Check for MMP3 dt-bindings: clock: Add MMP3 compatible string clk: mmp2: Stop pretending PLL outputs are constant clk: mmp2: Add support for PLL clock sources dt-bindings: clock: Convert marvell,mmp2-clock to json-schema clk: mmp2: Constify some strings clk: mmp2: Remove a unused prototype * clk-arm-icst: MAINTAINERS: dt: update reference for arm-integrator.txt clk: versatile: Add device tree probing for IM-PD1 clocks clk: versatile: Export icst_clk_setup() dt-bindings: clock: Create YAML schema for ICST clocks
7 parents 2d11e9a + 1aa0817 + edcc429 + a37a5a9 + 02ff48e + de17be9 + 7928f4f commit 53a2cc5

31 files changed

+1814
-181
lines changed
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/arm,syscon-icst.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ARM System Controller ICST Clocks
8+
9+
maintainers:
10+
- Linus Walleij <[email protected]>
11+
12+
description: |
13+
The ICS525 and ICS307 oscillators are produced by Integrated
14+
Devices Technology (IDT). ARM integrated these oscillators deeply into their
15+
reference designs by adding special control registers that manage such
16+
oscillators to their system controllers.
17+
18+
The various ARM system controllers contain logic to serialize and initialize
19+
an ICST clock request after a write to the 32 bit register at an offset
20+
into the system controller. Furthermore, to even be able to alter one of
21+
these frequencies, the system controller must first be unlocked by
22+
writing a special token to another offset in the system controller.
23+
24+
Some ARM hardware contain special versions of the serial interface that only
25+
connects the low 8 bits of the VDW (missing one bit), hard-wires RDW to
26+
different values and sometimes also hard-wires the output divider. They
27+
therefore have special compatible strings as per this table (the OD value is
28+
the value on the pins, not the resulting output divider).
29+
30+
In the core modules and logic tiles, the ICST is a configurable clock fed
31+
from a 24 MHz clock on the motherboard (usually the main crystal) used for
32+
generating e.g. video clocks. It is located on the core module and there is
33+
only one of these. This clock node must be a subnode of the core module.
34+
35+
Hardware variant RDW OD VDW
36+
37+
Integrator/AP 22 1 Bit 8 0, rest variable
38+
integratorap-cm
39+
40+
Integrator/AP 46 3 Bit 8 0, rest variable
41+
integratorap-sys
42+
43+
Integrator/AP 22 or 1 17 or (33 or 25 MHz)
44+
integratorap-pci 14 1 14
45+
46+
Integrator/CP 22 variable Bit 8 0, rest variable
47+
integratorcp-cm-core
48+
49+
Integrator/CP 22 variable Bit 8 0, rest variable
50+
integratorcp-cm-mem
51+
52+
The ICST oscillator must be provided inside a system controller node.
53+
54+
properties:
55+
"#clock-cells":
56+
const: 0
57+
58+
compatible:
59+
enum:
60+
- arm,syscon-icst525
61+
- arm,syscon-icst307
62+
- arm,syscon-icst525-integratorap-cm
63+
- arm,syscon-icst525-integratorap-sys
64+
- arm,syscon-icst525-integratorap-pci
65+
- arm,syscon-icst525-integratorcp-cm-core
66+
- arm,syscon-icst525-integratorcp-cm-mem
67+
- arm,integrator-cm-auxosc
68+
- arm,versatile-cm-auxosc
69+
- arm,impd-vco1
70+
- arm,impd-vco2
71+
72+
clocks:
73+
description: Parent clock for the ICST VCO
74+
maxItems: 1
75+
76+
clock-output-names:
77+
maxItems: 1
78+
79+
lock-offset:
80+
$ref: '/schemas/types.yaml#/definitions/uint32'
81+
description: Offset to the unlocking register for the oscillator
82+
83+
vco-offset:
84+
$ref: '/schemas/types.yaml#/definitions/uint32'
85+
description: Offset to the VCO register for the oscillator
86+
87+
required:
88+
- "#clock-cells"
89+
- compatible
90+
- clocks
91+
92+
examples:
93+
- |
94+
vco1: clock@00 {
95+
compatible = "arm,impd1-vco1";
96+
#clock-cells = <0>;
97+
lock-offset = <0x08>;
98+
vco-offset = <0x00>;
99+
clocks = <&sysclk>;
100+
clock-output-names = "IM-PD1-VCO1";
101+
};
102+
103+
...

Documentation/devicetree/bindings/clock/arm-integrator.txt

Lines changed: 0 additions & 34 deletions
This file was deleted.

Documentation/devicetree/bindings/clock/arm-syscon-icst.txt

Lines changed: 0 additions & 70 deletions
This file was deleted.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/marvell,mmp2-clock.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Marvell MMP2 and MMP3 Clock Controller
8+
9+
maintainers:
10+
- Lubomir Rintel <[email protected]>
11+
12+
description: |
13+
The clock subsystem on MMP2 or MMP3 generates and supplies clock to various
14+
controllers within the SoC.
15+
16+
Each clock is assigned an identifier and client nodes use this identifier
17+
to specify the clock which they consume.
18+
19+
All these identifiers could be found in <dt-bindings/clock/marvell,mmp2.h>.
20+
21+
properties:
22+
compatible:
23+
enum:
24+
- marvell,mmp2-clock # controller compatible with MMP2 SoC
25+
- marvell,mmp3-clock # controller compatible with MMP3 SoC
26+
27+
reg:
28+
items:
29+
- description: MPMU register region
30+
- description: APMU register region
31+
- description: APBC register region
32+
33+
reg-names:
34+
items:
35+
- const: mpmu
36+
- const: apmu
37+
- const: apbc
38+
39+
'#clock-cells':
40+
const: 1
41+
42+
'#reset-cells':
43+
const: 1
44+
45+
required:
46+
- compatible
47+
- reg
48+
- reg-names
49+
- '#clock-cells'
50+
- '#reset-cells'
51+
52+
additionalProperties: false
53+
54+
examples:
55+
- |
56+
clock-controller@d4050000 {
57+
compatible = "marvell,mmp2-clock";
58+
reg = <0xd4050000 0x1000>,
59+
<0xd4282800 0x400>,
60+
<0xd4015000 0x1000>;
61+
reg-names = "mpmu", "apmu", "apbc";
62+
#clock-cells = <1>;
63+
#reset-cells = <1>;
64+
};

Documentation/devicetree/bindings/clock/marvell,mmp2.txt

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
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,am654-ehrpwm-tbclk.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: TI EHRPWM Time Base Clock
8+
9+
maintainers:
10+
- Vignesh Raghavendra <[email protected]>
11+
12+
properties:
13+
compatible:
14+
items:
15+
- const: ti,am654-ehrpwm-tbclk
16+
- const: syscon
17+
18+
"#clock-cells":
19+
const: 1
20+
21+
reg:
22+
maxItems: 1
23+
24+
required:
25+
- compatible
26+
- "#clock-cells"
27+
- reg
28+
29+
examples:
30+
- |
31+
ehrpwm_tbclk: syscon@4140 {
32+
compatible = "ti,am654-ehrpwm-tbclk", "syscon";
33+
reg = <0x4140 0x18>;
34+
#clock-cells = <1>;
35+
};

MAINTAINERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1280,7 +1280,7 @@ L: [email protected] (moderated for non-subscribers)
12801280
S: Maintained
12811281
F: Documentation/devicetree/bindings/arm/arm-boards
12821282
F: Documentation/devicetree/bindings/auxdisplay/arm-charlcd.txt
1283-
F: Documentation/devicetree/bindings/clock/arm-integrator.txt
1283+
F: Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml
12841284
F: Documentation/devicetree/bindings/i2c/i2c-versatile.txt
12851285
F: Documentation/devicetree/bindings/interrupt-controller/arm,versatile-fpga-irq.txt
12861286
F: Documentation/devicetree/bindings/mtd/arm-versatile.txt

drivers/clk/at91/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@ obj-$(CONFIG_HAVE_AT91_H32MX) += clk-h32mx.o
1515
obj-$(CONFIG_HAVE_AT91_GENERATED_CLK) += clk-generated.o
1616
obj-$(CONFIG_HAVE_AT91_I2S_MUX_CLK) += clk-i2s-mux.o
1717
obj-$(CONFIG_HAVE_AT91_SAM9X60_PLL) += clk-sam9x60-pll.o
18+
obj-$(CONFIG_SOC_AT91RM9200) += at91rm9200.o
1819
obj-$(CONFIG_SOC_AT91SAM9) += at91sam9260.o at91sam9rl.o at91sam9x5.o
20+
obj-$(CONFIG_SOC_AT91SAM9) += at91sam9g45.o
21+
obj-$(CONFIG_SOC_AT91SAM9) += at91sam9n12.o at91sam9x5.o
1922
obj-$(CONFIG_SOC_SAM9X60) += sam9x60.o
23+
obj-$(CONFIG_SOC_SAMA5D3) += sama5d3.o
2024
obj-$(CONFIG_SOC_SAMA5D4) += sama5d4.o
2125
obj-$(CONFIG_SOC_SAMA5D2) += sama5d2.o

0 commit comments

Comments
 (0)