Skip to content

Commit ec16ffe

Browse files
committed
Merge branches 'clk-ingenic', 'clk-init-leak', 'clk-ux500' and 'clk-bitmain' into clk-next
- Support CGU in Ingenix X1000 - Support Bitmain BM1880 clks * clk-ingenic: clk: ingenic: Allow drivers to be built with COMPILE_TEST clk: Ingenic: Add CGU driver for X1000. dt-bindings: clock: Add X1000 bindings. * clk-init-leak: clk: mark clk_disable_unused() as __init clk: Fix memory leak in clk_unregister() * clk-ux500: MAINTAINERS: Update section for Ux500 clock drivers * clk-bitmain: MAINTAINERS: Add entry for BM1880 SoC clock driver clk: Add common clock driver for BM1880 SoC dt-bindings: clock: Add devicetree binding for BM1880 SoC clk: Add clk_hw_unregister_composite helper function definition clk: Zero init clk_init_data in helpers
5 parents dabedfe + cd94ead + 564f86d + 8f39f22 + 1e4fb2c commit ec16ffe

File tree

17 files changed

+1491
-12
lines changed

17 files changed

+1491
-12
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/bindings/clock/bitmain,bm1880-clk.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Bitmain BM1880 Clock Controller
8+
9+
maintainers:
10+
- Manivannan Sadhasivam <[email protected]>
11+
12+
description: |
13+
The Bitmain BM1880 clock controller generates and supplies clock to
14+
various peripherals within the SoC.
15+
16+
This binding uses common clock bindings
17+
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
18+
19+
properties:
20+
compatible:
21+
const: bitmain,bm1880-clk
22+
23+
reg:
24+
items:
25+
- description: pll registers
26+
- description: system registers
27+
28+
reg-names:
29+
items:
30+
- const: pll
31+
- const: sys
32+
33+
clocks:
34+
maxItems: 1
35+
36+
clock-names:
37+
const: osc
38+
39+
'#clock-cells':
40+
const: 1
41+
42+
required:
43+
- compatible
44+
- reg
45+
- reg-names
46+
- clocks
47+
- clock-names
48+
- '#clock-cells'
49+
50+
additionalProperties: false
51+
52+
examples:
53+
# Clock controller node:
54+
- |
55+
clk: clock-controller@e8 {
56+
compatible = "bitmain,bm1880-clk";
57+
reg = <0xe8 0x0c>, <0x800 0xb0>;
58+
reg-names = "pll", "sys";
59+
clocks = <&osc>;
60+
clock-names = "osc";
61+
#clock-cells = <1>;
62+
};
63+
64+
# Example UART controller node that consumes clock generated by the clock controller:
65+
- |
66+
uart0: serial@58018000 {
67+
compatible = "snps,dw-apb-uart";
68+
reg = <0x0 0x58018000 0x0 0x2000>;
69+
clocks = <&clk 45>, <&clk 46>;
70+
clock-names = "baudclk", "apb_pclk";
71+
interrupts = <0 9 4>;
72+
reg-shift = <2>;
73+
reg-io-width = <4>;
74+
};
75+
76+
...

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Required properties:
1111
* ingenic,jz4725b-cgu
1212
* ingenic,jz4770-cgu
1313
* ingenic,jz4780-cgu
14+
* ingenic,x1000-cgu
1415
- reg : The address & length of the CGU registers.
1516
- clocks : List of phandle & clock specifiers for clocks external to the CGU.
1617
Two such external clocks should be specified - first the external crystal

MAINTAINERS

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1529,8 +1529,10 @@ M: Manivannan Sadhasivam <[email protected]>
15291529
L: [email protected] (moderated for non-subscribers)
15301530
S: Maintained
15311531
F: arch/arm64/boot/dts/bitmain/
1532+
F: drivers/clk/clk-bm1880.c
15321533
F: drivers/pinctrl/pinctrl-bm1880.c
15331534
F: Documentation/devicetree/bindings/arm/bitmain.yaml
1535+
F: Documentation/devicetree/bindings/clock/bitmain,bm1880-clk.yaml
15341536
F: Documentation/devicetree/bindings/pinctrl/bitmain,bm1880-pinctrl.txt
15351537

15361538
ARM/CALXEDA HIGHBANK ARCHITECTURE
@@ -2490,10 +2492,10 @@ F: drivers/reset/reset-uniphier.c
24902492
F: drivers/tty/serial/8250/8250_uniphier.c
24912493
N: uniphier
24922494

2493-
ARM/Ux500 CLOCK FRAMEWORK SUPPORT
2495+
Ux500 CLOCK DRIVERS
24942496
M: Ulf Hansson <[email protected]>
2497+
24952498
L: [email protected] (moderated for non-subscribers)
2496-
T: git git://git.linaro.org/people/ulfh/clk.git
24972499
S: Maintained
24982500
F: drivers/clk/ux500/
24992501

drivers/clk/Kconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,13 @@ config COMMON_CLK_SI570
136136
This driver supports Silicon Labs 570/571/598/599 programmable
137137
clock generators.
138138

139+
config COMMON_CLK_BM1880
140+
bool "Clock driver for Bitmain BM1880 SoC"
141+
depends on ARCH_BITMAIN || COMPILE_TEST
142+
default ARCH_BITMAIN
143+
help
144+
This driver supports the clocks on Bitmain BM1880 SoC.
145+
139146
config COMMON_CLK_CDCE706
140147
tristate "Clock driver for TI CDCE706 clock synthesizer"
141148
depends on I2C

drivers/clk/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ obj-$(CONFIG_MACH_ASM9260) += clk-asm9260.o
2222
obj-$(CONFIG_COMMON_CLK_AXI_CLKGEN) += clk-axi-clkgen.o
2323
obj-$(CONFIG_ARCH_AXXIA) += clk-axm5516.o
2424
obj-$(CONFIG_COMMON_CLK_BD718XX) += clk-bd718x7.o
25+
obj-$(CONFIG_COMMON_CLK_BM1880) += clk-bm1880.o
2526
obj-$(CONFIG_COMMON_CLK_CDCE706) += clk-cdce706.o
2627
obj-$(CONFIG_COMMON_CLK_CDCE925) += clk-cdce925.o
2728
obj-$(CONFIG_ARCH_CLPS711X) += clk-clps711x.o

0 commit comments

Comments
 (0)