1*c0f1cbf7SLuo Jie# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*c0f1cbf7SLuo Jie%YAML 1.2 3*c0f1cbf7SLuo Jie--- 4*c0f1cbf7SLuo Jie$id: http://devicetree.org/schemas/clock/qcom,ipq9574-cmn-pll.yaml# 5*c0f1cbf7SLuo Jie$schema: http://devicetree.org/meta-schemas/core.yaml# 6*c0f1cbf7SLuo Jie 7*c0f1cbf7SLuo Jietitle: Qualcomm CMN PLL Clock Controller on IPQ SoC 8*c0f1cbf7SLuo Jie 9*c0f1cbf7SLuo Jiemaintainers: 10*c0f1cbf7SLuo Jie - Bjorn Andersson <andersson@kernel.org> 11*c0f1cbf7SLuo Jie - Luo Jie <quic_luoj@quicinc.com> 12*c0f1cbf7SLuo Jie 13*c0f1cbf7SLuo Jiedescription: 14*c0f1cbf7SLuo Jie The CMN (or common) PLL clock controller expects a reference 15*c0f1cbf7SLuo Jie input clock. This reference clock is from the on-board Wi-Fi. 16*c0f1cbf7SLuo Jie The CMN PLL supplies a number of fixed rate output clocks to 17*c0f1cbf7SLuo Jie the devices providing networking functions and to GCC. These 18*c0f1cbf7SLuo Jie networking hardware include PPE (packet process engine), PCS 19*c0f1cbf7SLuo Jie and the externally connected switch or PHY devices. The CMN 20*c0f1cbf7SLuo Jie PLL block also outputs fixed rate clocks to GCC. The PLL's 21*c0f1cbf7SLuo Jie primary function is to enable fixed rate output clocks for 22*c0f1cbf7SLuo Jie networking hardware functions used with the IPQ SoC. 23*c0f1cbf7SLuo Jie 24*c0f1cbf7SLuo Jieproperties: 25*c0f1cbf7SLuo Jie compatible: 26*c0f1cbf7SLuo Jie enum: 27*c0f1cbf7SLuo Jie - qcom,ipq9574-cmn-pll 28*c0f1cbf7SLuo Jie 29*c0f1cbf7SLuo Jie reg: 30*c0f1cbf7SLuo Jie maxItems: 1 31*c0f1cbf7SLuo Jie 32*c0f1cbf7SLuo Jie clocks: 33*c0f1cbf7SLuo Jie items: 34*c0f1cbf7SLuo Jie - description: The reference clock. The supported clock rates include 35*c0f1cbf7SLuo Jie 25000000, 31250000, 40000000, 48000000, 50000000 and 96000000 HZ. 36*c0f1cbf7SLuo Jie - description: The AHB clock 37*c0f1cbf7SLuo Jie - description: The SYS clock 38*c0f1cbf7SLuo Jie description: 39*c0f1cbf7SLuo Jie The reference clock is the source clock of CMN PLL, which is from the 40*c0f1cbf7SLuo Jie Wi-Fi. The AHB and SYS clocks must be enabled to access CMN PLL 41*c0f1cbf7SLuo Jie clock registers. 42*c0f1cbf7SLuo Jie 43*c0f1cbf7SLuo Jie clock-names: 44*c0f1cbf7SLuo Jie items: 45*c0f1cbf7SLuo Jie - const: ref 46*c0f1cbf7SLuo Jie - const: ahb 47*c0f1cbf7SLuo Jie - const: sys 48*c0f1cbf7SLuo Jie 49*c0f1cbf7SLuo Jie "#clock-cells": 50*c0f1cbf7SLuo Jie const: 1 51*c0f1cbf7SLuo Jie 52*c0f1cbf7SLuo Jierequired: 53*c0f1cbf7SLuo Jie - compatible 54*c0f1cbf7SLuo Jie - reg 55*c0f1cbf7SLuo Jie - clocks 56*c0f1cbf7SLuo Jie - clock-names 57*c0f1cbf7SLuo Jie - "#clock-cells" 58*c0f1cbf7SLuo Jie 59*c0f1cbf7SLuo JieadditionalProperties: false 60*c0f1cbf7SLuo Jie 61*c0f1cbf7SLuo Jieexamples: 62*c0f1cbf7SLuo Jie - | 63*c0f1cbf7SLuo Jie #include <dt-bindings/clock/qcom,ipq-cmn-pll.h> 64*c0f1cbf7SLuo Jie #include <dt-bindings/clock/qcom,ipq9574-gcc.h> 65*c0f1cbf7SLuo Jie 66*c0f1cbf7SLuo Jie cmn_pll: clock-controller@9b000 { 67*c0f1cbf7SLuo Jie compatible = "qcom,ipq9574-cmn-pll"; 68*c0f1cbf7SLuo Jie reg = <0x0009b000 0x800>; 69*c0f1cbf7SLuo Jie clocks = <&cmn_pll_ref_clk>, 70*c0f1cbf7SLuo Jie <&gcc GCC_CMN_12GPLL_AHB_CLK>, 71*c0f1cbf7SLuo Jie <&gcc GCC_CMN_12GPLL_SYS_CLK>; 72*c0f1cbf7SLuo Jie clock-names = "ref", "ahb", "sys"; 73*c0f1cbf7SLuo Jie #clock-cells = <1>; 74*c0f1cbf7SLuo Jie assigned-clocks = <&cmn_pll CMN_PLL_CLK>; 75*c0f1cbf7SLuo Jie assigned-clock-rates-u64 = /bits/ 64 <12000000000>; 76*c0f1cbf7SLuo Jie }; 77*c0f1cbf7SLuo Jie... 78