[PATCH 02/10] dt-bindings: clock: Add Amlogic A9 PLL clock controller
Jian Hu
jian.hu at amlogic.com
Thu May 21 23:20:20 PDT 2026
Hi Krzysztof,
Thanks for your review.
On 5/15/2026 4:09 PM, Krzysztof Kozlowski wrote:
> [ EXTERNAL EMAIL ]
>
> On Mon, May 11, 2026 at 08:47:24PM +0800, Jian Hu wrote:
>> Add the PLL clock controller dt-bindings for the Amlogic A9 SoC family.
>>
>> Signed-off-by: Jian Hu <jian.hu at amlogic.com>
>> ---
>> .../bindings/clock/amlogic,a9-pll-clkc.yaml | 110 +++++++++++++++++++++
>> include/dt-bindings/clock/amlogic,a9-pll-clkc.h | 55 +++++++++++
>> 2 files changed, 165 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/clock/amlogic,a9-pll-clkc.yaml b/Documentation/devicetree/bindings/clock/amlogic,a9-pll-clkc.yaml
>> new file mode 100644
>> index 000000000000..4ee6013ba1a1
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/clock/amlogic,a9-pll-clkc.yaml
>> @@ -0,0 +1,110 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +# Copyright (C) 2026 Amlogic, Inc. All rights reserved
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/clock/amlogic,a9-pll-clkc.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Amlogic A9 Series PLL Clock Controller
>> +
>> +maintainers:
>> + - Neil Armstrong <neil.armstrong at linaro.org>
>> + - Jerome Brunet <jbrunet at baylibre.com>
>> + - Jian Hu <jian.hu at amlogic.com>
>> + - Xianwei Zhao <xianwei.zhao at amlogic.com>
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - amlogic,a9-gp0-pll
>> + - amlogic,a9-hifi0-pll
>> + - amlogic,a9-hifi1-pll
>> + - amlogic,a9-mclk0-pll
>> + - amlogic,a9-mclk1-pll
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + '#clock-cells':
>> + const: 1
>> +
>> + clocks:
>> + items:
>> + - description: pll input oscillator gate
>> + - description: fixed input clock source for mclk_sel_0
>> + - description: u3p2pll input clock source for mclk_sel_0 (optional)
> Second clock is also optional. Drop "(optional)" comment, just
> confusing.
GP0 has only one parent clock, while MCLK has three.
The second and third parent entries of GP0 are vacant,
so they need to be marked optional.
I will add the optional property for the second clock in the next revision.
>> + minItems: 1
>> +
>> + clock-names:
>> + items:
>> + - const: in0
>> + - const: in1
>> + - const: in2
> Pretty pointless names, drop property.
Ok, I will drop them.
clock-names:
- items:
- - const: in0
- - const: in1
- - const: in2
minItems: 1
>> + minItems: 1
>> +
>> +required:
>> + - compatible
>> + - '#clock-cells'
>> + - reg
>> + - clocks
>> + - clock-names
>> +
>> +allOf:
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + enum:
>> + - amlogic,a9-mclk0-pll
>> + - amlogic,a9-mclk1-pll
>> +
>> + then:
>> + properties:
>> + clocks:
>> + maxItems: 3
> No, minItems instead. maxItems is already 3, so what is the point of
> redefining it?
Ok, I will use minItems instead.
>> +
>> + clock-names:
>> + maxItems: 3
>> +
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + enum:
>> + - amlogic,a9-gp0-pll
>> + - amlogic,a9-hifi0-pll
>> + - amlogic,a9-hifi1-pll
>> +
>> + then:
>> + properties:
>> + clocks:
>> + maxItems: 1
>> +
>> + clock-names:
>> + maxItems: 1
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + apb4 {
> soc
Ok, I will rename it to soc.
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> +
>> + clock-controller at 8200 {
>> + compatible = "amlogic,a9-gp0-pll";
>> + reg = <0x0 0x8200 0x0 0x20>;
>> + #clock-cells = <1>;
>> + clocks = <&scmi_clk 0>;
>> + clock-names = "in0";
>> + };
>> +
>> + clock-controller at 8330 {
>> + compatible = "amlogic,a9-mclk0-pll";
>> + reg = <0x0 0x8330 0x0 0x14>;
>> + #clock-cells = <1>;
>> + clocks = <&scmi_clk 4>,
>> + <&scmi_clk 8>;
>> + clock-names = "in0", "in1";
> One example is enough, you have exactly the same properties.
Ok, I will drop the second clock node.
>
> Best regards,
> Krzysztof
>
Best regards,
Jian
More information about the linux-arm-kernel
mailing list