Skip to content

Commit 032bcf7

Browse files
committed
Merge branches 'clk-versa', 'clk-strdup', 'clk-amlogic', 'clk-allwinner' and 'clk-rockchip' into clk-next
- Add Versa3 clk generator to support 48KHz playback/record with audio codec on RZ/G2L SMARC EVK - Introduce kstrdup_and_replace() and use it * clk-versa: clk: vc7: Use i2c_get_match_data() instead of device_get_match_data() clk: vc5: Use i2c_get_match_data() instead of device_get_match_data() clk: versaclock3: Switch to use i2c_driver's probe callback clk: Add support for versa3 clock driver dt-bindings: clock: Add Renesas versa3 clock generator bindings * clk-strdup: clk: ti: Replace kstrdup() + strreplace() with kstrdup_and_replace() clk: tegra: Replace kstrdup() + strreplace() with kstrdup_and_replace() driver core: Replace kstrdup() + strreplace() with kstrdup_and_replace() lib/string_helpers: Add kstrdup_and_replace() helper * clk-amlogic: (22 commits) dt-bindings: soc: amlogic: document System Control registers dt-bindings: clock: amlogic: convert amlogic,gxbb-aoclkc.txt to dt-schema dt-bindings: clock: amlogic: convert amlogic,gxbb-clkc.txt to dt-schema clk: meson: axg-audio: move bindings include to main driver clk: meson: meson8b: move bindings include to main driver clk: meson: a1: move bindings include to main driver clk: meson: eeclk: move bindings include to main driver clk: meson: aoclk: move bindings include to main driver dt-bindings: clk: axg-audio-clkc: expose all clock ids dt-bindings: clk: amlogic,a1-pll-clkc: expose all clock ids dt-bindings: clk: amlogic,a1-peripherals-clkc: expose all clock ids dt-bindings: clk: meson8b-clkc: expose all clock ids dt-bindings: clk: g12a-aoclkc: expose all clock ids dt-bindings: clk: g12a-clks: expose all clock ids dt-bindings: clk: axg-clkc: expose all clock ids dt-bindings: clk: gxbb-clkc: expose all clock ids clk: meson: migrate axg-audio out of hw_onecell_data to drop NR_CLKS clk: meson: migrate meson8b out of hw_onecell_data to drop NR_CLKS clk: meson: migrate a1 clock drivers out of hw_onecell_data to drop NR_CLKS clk: meson: migrate meson-aoclk out of hw_onecell_data to drop NR_CLKS ... * clk-allwinner: clk: sunxi-ng: nkm: Prefer current parent rate clk: sunxi-ng: a64: select closest rate for pll-video0 clk: sunxi-ng: div: Support finding closest rate clk: sunxi-ng: mux: Support finding closest rate clk: sunxi-ng: nkm: Support finding closest rate clk: sunxi-ng: nm: Support finding closest rate clk: sunxi-ng: Add helper function to find closest rate clk: sunxi-ng: Add feature to find closest rate clk: sunxi-ng: a64: allow pll-mipi to set parent's rate clk: sunxi-ng: nkm: consider alternative parent rates when determining rate clk: sunxi-ng: nkm: Use correct parameter name for parent HW clk: sunxi-ng: Modify mismatched function name clk: sunxi: sun9i-mmc: Use devm_platform_get_and_ioremap_resource() * clk-rockchip: clk: rockchip: rv1126: Add PD_VO clock tree clk: rockchip: rk3568: Fix PLL rate setting for 78.75MHz clk: rockchip: rk3568: Add PLL rate for 101MHz
6 parents d10ebc7 + fccd617 + bb362d0 + caf0dce + 364a609 + 438c61a commit 032bcf7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+5010
-3473
lines changed

Documentation/devicetree/bindings/clock/amlogic,gxbb-aoclkc.txt

Lines changed: 0 additions & 64 deletions
This file was deleted.
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
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,gxbb-aoclkc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic Always-On Clock Controller
8+
9+
maintainers:
10+
- Neil Armstrong <neil.armstrong@linaro.org>
11+
12+
properties:
13+
compatible:
14+
oneOf:
15+
- items:
16+
- enum:
17+
- amlogic,meson-gxbb-aoclkc
18+
- amlogic,meson-gxl-aoclkc
19+
- amlogic,meson-gxm-aoclkc
20+
- amlogic,meson-axg-aoclkc
21+
- const: amlogic,meson-gx-aoclkc
22+
- enum:
23+
- amlogic,meson-axg-aoclkc
24+
- amlogic,meson-g12a-aoclkc
25+
26+
clocks:
27+
minItems: 2
28+
maxItems: 5
29+
30+
clock-names:
31+
minItems: 2
32+
items:
33+
- const: xtal
34+
- const: mpeg-clk
35+
- const: ext-32k-0
36+
- const: ext-32k-1
37+
- const: ext-32k-2
38+
39+
'#clock-cells':
40+
const: 1
41+
42+
'#reset-cells':
43+
const: 1
44+
45+
required:
46+
- compatible
47+
- clocks
48+
- clock-names
49+
- '#clock-cells'
50+
- '#reset-cells'
51+
52+
allOf:
53+
- if:
54+
properties:
55+
compatible:
56+
enum:
57+
- amlogic,meson-g12a-aoclkc
58+
59+
then:
60+
properties:
61+
clocks:
62+
minItems: 2
63+
maxItems: 3
64+
65+
clock-names:
66+
minItems: 2
67+
maxItems: 3
68+
69+
- if:
70+
properties:
71+
compatible:
72+
enum:
73+
- amlogic,meson-gxl-aoclkc
74+
- amlogic,meson-gxm-aoclkc
75+
- amlogic,meson-axg-aoclkc
76+
77+
then:
78+
properties:
79+
clocks:
80+
maxItems: 2
81+
82+
clock-names:
83+
maxItems: 2
84+
85+
additionalProperties: false

Documentation/devicetree/bindings/clock/amlogic,gxbb-clkc.txt

Lines changed: 0 additions & 53 deletions
This file was deleted.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
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,gxbb-clkc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic Clock Controller
8+
9+
maintainers:
10+
- Neil Armstrong <neil.armstrong@linaro.org>
11+
12+
properties:
13+
compatible:
14+
enum:
15+
- amlogic,gxbb-clkc
16+
- amlogic,gxl-clkc
17+
- amlogic,axg-clkc
18+
- amlogic,g12a-clkc
19+
- amlogic,g12b-clkc
20+
- amlogic,sm1-clkc
21+
22+
clocks:
23+
maxItems: 1
24+
25+
clock-names:
26+
const: xtal
27+
28+
'#clock-cells':
29+
const: 1
30+
31+
required:
32+
- compatible
33+
- clocks
34+
- clock-names
35+
- '#clock-cells'
36+
37+
additionalProperties: false
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/renesas,5p35023.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Renesas 5p35023 VersaClock 3 programmable I2C clock generator
8+
9+
maintainers:
10+
- Biju Das <biju.das.jz@bp.renesas.com>
11+
12+
description: |
13+
The 5P35023 is a VersaClock programmable clock generator and
14+
is designed for low-power, consumer, and high-performance PCI
15+
express applications. The 5P35023 device is a three PLL
16+
architecture design, and each PLL is individually programmable
17+
and allowing for up to 6 unique frequency outputs.
18+
19+
An internal OTP memory allows the user to store the configuration
20+
in the device. After power up, the user can change the device register
21+
settings through the I2C interface when I2C mode is selected.
22+
23+
The driver can read a full register map from the DT, and will use that
24+
register map to initialize the attached part (via I2C) when the system
25+
boots. Any configuration not supported by the common clock framework
26+
must be done via the full register map, including optimized settings.
27+
28+
Link to datasheet:
29+
https://www.renesas.com/us/en/products/clocks-timing/clock-generation/programmable-clocks/5p35023-versaclock-3s-programmable-clock-generator
30+
31+
properties:
32+
compatible:
33+
enum:
34+
- renesas,5p35023
35+
36+
reg:
37+
maxItems: 1
38+
39+
'#clock-cells':
40+
const: 1
41+
42+
clocks:
43+
maxItems: 1
44+
45+
renesas,settings:
46+
description: Optional, complete register map of the device.
47+
Optimized settings for the device must be provided in full
48+
and are written during initialization.
49+
$ref: /schemas/types.yaml#/definitions/uint8-array
50+
maxItems: 37
51+
52+
required:
53+
- compatible
54+
- reg
55+
- '#clock-cells'
56+
- clocks
57+
58+
additionalProperties: false
59+
60+
examples:
61+
- |
62+
i2c {
63+
#address-cells = <1>;
64+
#size-cells = <0>;
65+
66+
versa3: clock-generator@68 {
67+
compatible = "renesas,5p35023";
68+
reg = <0x68>;
69+
#clock-cells = <1>;
70+
71+
clocks = <&x1_x2>;
72+
73+
renesas,settings = [
74+
80 00 11 19 4c 02 23 7f 83 19 08 a9 5f 25 24 bf
75+
00 14 7a e1 00 00 00 00 01 55 59 bb 3f 30 90 b6
76+
80 b0 45 c4 95
77+
];
78+
79+
assigned-clocks = <&versa3 0>, <&versa3 1>,
80+
<&versa3 2>, <&versa3 3>,
81+
<&versa3 4>, <&versa3 5>;
82+
assigned-clock-rates = <12288000>, <25000000>,
83+
<12000000>, <11289600>,
84+
<11289600>, <24000000>;
85+
};
86+
};

0 commit comments

Comments
 (0)