xref: /freebsd/sys/contrib/device-tree/Bindings/clock/qcom,ipq9574-cmn-pll.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
12846c905SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
22846c905SEmmanuel Vadot%YAML 1.2
32846c905SEmmanuel Vadot---
42846c905SEmmanuel Vadot$id: http://devicetree.org/schemas/clock/qcom,ipq9574-cmn-pll.yaml#
52846c905SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62846c905SEmmanuel Vadot
72846c905SEmmanuel Vadottitle: Qualcomm CMN PLL Clock Controller on IPQ SoC
82846c905SEmmanuel Vadot
92846c905SEmmanuel Vadotmaintainers:
102846c905SEmmanuel Vadot  - Bjorn Andersson <andersson@kernel.org>
112846c905SEmmanuel Vadot  - Luo Jie <quic_luoj@quicinc.com>
122846c905SEmmanuel Vadot
132846c905SEmmanuel Vadotdescription:
142846c905SEmmanuel Vadot  The CMN (or common) PLL clock controller expects a reference
152846c905SEmmanuel Vadot  input clock. This reference clock is from the on-board Wi-Fi.
162846c905SEmmanuel Vadot  The CMN PLL supplies a number of fixed rate output clocks to
172846c905SEmmanuel Vadot  the devices providing networking functions and to GCC. These
182846c905SEmmanuel Vadot  networking hardware include PPE (packet process engine), PCS
192846c905SEmmanuel Vadot  and the externally connected switch or PHY devices. The CMN
202846c905SEmmanuel Vadot  PLL block also outputs fixed rate clocks to GCC. The PLL's
212846c905SEmmanuel Vadot  primary function is to enable fixed rate output clocks for
222846c905SEmmanuel Vadot  networking hardware functions used with the IPQ SoC.
232846c905SEmmanuel Vadot
242846c905SEmmanuel Vadotproperties:
252846c905SEmmanuel Vadot  compatible:
262846c905SEmmanuel Vadot    enum:
27*833e5d42SEmmanuel Vadot      - qcom,ipq5018-cmn-pll
28*833e5d42SEmmanuel Vadot      - qcom,ipq5424-cmn-pll
292846c905SEmmanuel Vadot      - qcom,ipq9574-cmn-pll
302846c905SEmmanuel Vadot
312846c905SEmmanuel Vadot  reg:
322846c905SEmmanuel Vadot    maxItems: 1
332846c905SEmmanuel Vadot
342846c905SEmmanuel Vadot  clocks:
352846c905SEmmanuel Vadot    items:
362846c905SEmmanuel Vadot      - description: The reference clock. The supported clock rates include
372846c905SEmmanuel Vadot          25000000, 31250000, 40000000, 48000000, 50000000 and 96000000 HZ.
382846c905SEmmanuel Vadot      - description: The AHB clock
392846c905SEmmanuel Vadot      - description: The SYS clock
402846c905SEmmanuel Vadot    description:
412846c905SEmmanuel Vadot      The reference clock is the source clock of CMN PLL, which is from the
422846c905SEmmanuel Vadot      Wi-Fi. The AHB and SYS clocks must be enabled to access CMN PLL
432846c905SEmmanuel Vadot      clock registers.
442846c905SEmmanuel Vadot
452846c905SEmmanuel Vadot  clock-names:
462846c905SEmmanuel Vadot    items:
472846c905SEmmanuel Vadot      - const: ref
482846c905SEmmanuel Vadot      - const: ahb
492846c905SEmmanuel Vadot      - const: sys
502846c905SEmmanuel Vadot
512846c905SEmmanuel Vadot  "#clock-cells":
522846c905SEmmanuel Vadot    const: 1
532846c905SEmmanuel Vadot
542846c905SEmmanuel Vadotrequired:
552846c905SEmmanuel Vadot  - compatible
562846c905SEmmanuel Vadot  - reg
572846c905SEmmanuel Vadot  - clocks
582846c905SEmmanuel Vadot  - clock-names
592846c905SEmmanuel Vadot  - "#clock-cells"
602846c905SEmmanuel Vadot
612846c905SEmmanuel VadotadditionalProperties: false
622846c905SEmmanuel Vadot
632846c905SEmmanuel Vadotexamples:
642846c905SEmmanuel Vadot  - |
652846c905SEmmanuel Vadot    #include <dt-bindings/clock/qcom,ipq-cmn-pll.h>
662846c905SEmmanuel Vadot    #include <dt-bindings/clock/qcom,ipq9574-gcc.h>
672846c905SEmmanuel Vadot
682846c905SEmmanuel Vadot    cmn_pll: clock-controller@9b000 {
692846c905SEmmanuel Vadot        compatible = "qcom,ipq9574-cmn-pll";
702846c905SEmmanuel Vadot        reg = <0x0009b000 0x800>;
712846c905SEmmanuel Vadot        clocks = <&cmn_pll_ref_clk>,
722846c905SEmmanuel Vadot                 <&gcc GCC_CMN_12GPLL_AHB_CLK>,
732846c905SEmmanuel Vadot                 <&gcc GCC_CMN_12GPLL_SYS_CLK>;
742846c905SEmmanuel Vadot        clock-names = "ref", "ahb", "sys";
752846c905SEmmanuel Vadot        #clock-cells = <1>;
762846c905SEmmanuel Vadot        assigned-clocks = <&cmn_pll CMN_PLL_CLK>;
772846c905SEmmanuel Vadot        assigned-clock-rates-u64 = /bits/ 64 <12000000000>;
782846c905SEmmanuel Vadot    };
792846c905SEmmanuel Vadot...
80