Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch '20250103-qcom_ipq_cmnpll-v8-1-c89fb4d4849d@quicinc.com' into clk-for-6.14

Merge the IPQ CMN PLL clock binding through a topic branch to make it
available to DeviceTree source branches as well.

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