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

dt-bindings: arm: msm: Convert and split kpss-acc driver Documentation to yaml

Convert kpss-acc driver Documentation to yaml.
The original Documentation was wrong all along. Fix it while we are
converting it.
The example was wrong as kpss-acc-v2 should only expose the regs but we
don't have any driver that expose additional clocks. The kpss-acc driver
is only specific to v1. For this exact reason, split the Documentation
to 2 different schema, v1 as clock-controller and v2 for
power-manager as per msm-3.10 specification, the exposed regs handle
power manager.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230116204751.23045-3-ansuelsmth@gmail.com

authored by

Christian Marangi and committed by
Bjorn Andersson
4260ddfb 377c0b46

+114 -49
-49
Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt
··· 1 - Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) 2 - 3 - The KPSS ACC provides clock, power domain, and reset control to a Krait CPU. 4 - There is one ACC register region per CPU within the KPSS remapped region as 5 - well as an alias register region that remaps accesses to the ACC associated 6 - with the CPU accessing the region. 7 - 8 - PROPERTIES 9 - 10 - - compatible: 11 - Usage: required 12 - Value type: <string> 13 - Definition: should be one of: 14 - "qcom,kpss-acc-v1" 15 - "qcom,kpss-acc-v2" 16 - 17 - - reg: 18 - Usage: required 19 - Value type: <prop-encoded-array> 20 - Definition: the first element specifies the base address and size of 21 - the register region. An optional second element specifies 22 - the base address and size of the alias register region. 23 - 24 - - clocks: 25 - Usage: required 26 - Value type: <prop-encoded-array> 27 - Definition: reference to the pll parents. 28 - 29 - - clock-names: 30 - Usage: required 31 - Value type: <stringlist> 32 - Definition: must be "pll8_vote", "pxo". 33 - 34 - - clock-output-names: 35 - Usage: optional 36 - Value type: <string> 37 - Definition: Name of the output clock. Typically acpuX_aux where X is a 38 - CPU number starting at 0. 39 - 40 - Example: 41 - 42 - clock-controller@2088000 { 43 - compatible = "qcom,kpss-acc-v2"; 44 - reg = <0x02088000 0x1000>, 45 - <0x02008000 0x1000>; 46 - clocks = <&gcc PLL8_VOTE>, <&gcc PXO_SRC>; 47 - clock-names = "pll8_vote", "pxo"; 48 - clock-output-names = "acpu0_aux"; 49 - };
+72
Documentation/devicetree/bindings/clock/qcom,kpss-acc-v1.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,kpss-acc-v1.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) v1 8 + 9 + maintainers: 10 + - Christian Marangi <ansuelsmth@gmail.com> 11 + 12 + description: 13 + The KPSS ACC provides clock, power domain, and reset control to a Krait CPU. 14 + There is one ACC register region per CPU within the KPSS remapped region as 15 + well as an alias register region that remaps accesses to the ACC associated 16 + with the CPU accessing the region. ACC v1 is currently used as a 17 + clock-controller for enabling the cpu and hanling the aux clocks. 18 + 19 + properties: 20 + compatible: 21 + const: qcom,kpss-acc-v1 22 + 23 + reg: 24 + items: 25 + - description: Base address and size of the register region 26 + - description: Optional base address and size of the alias register region 27 + minItems: 1 28 + 29 + clocks: 30 + minItems: 2 31 + maxItems: 2 32 + 33 + clock-names: 34 + items: 35 + - const: pll8_vote 36 + - const: pxo 37 + 38 + clock-output-names: 39 + description: Name of the aux clock. Krait can have at most 4 cpu. 40 + enum: 41 + - acpu0_aux 42 + - acpu1_aux 43 + - acpu2_aux 44 + - acpu3_aux 45 + 46 + '#clock-cells': 47 + const: 0 48 + 49 + required: 50 + - compatible 51 + - reg 52 + - clocks 53 + - clock-names 54 + - clock-output-names 55 + - '#clock-cells' 56 + 57 + additionalProperties: false 58 + 59 + examples: 60 + - | 61 + #include <dt-bindings/clock/qcom,gcc-ipq806x.h> 62 + 63 + clock-controller@2088000 { 64 + compatible = "qcom,kpss-acc-v1"; 65 + reg = <0x02088000 0x1000>, <0x02008000 0x1000>; 66 + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; 67 + clock-names = "pll8_vote", "pxo"; 68 + clock-output-names = "acpu0_aux"; 69 + #clock-cells = <0>; 70 + }; 71 + 72 + ...
+42
Documentation/devicetree/bindings/power/qcom,kpss-acc-v2.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/power/qcom,kpss-acc-v2.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) v2 8 + 9 + maintainers: 10 + - Christian Marangi <ansuelsmth@gmail.com> 11 + 12 + description: 13 + The KPSS ACC provides clock, power manager, and reset control to a Krait CPU. 14 + There is one ACC register region per CPU within the KPSS remapped region as 15 + well as an alias register region that remaps accesses to the ACC associated 16 + with the CPU accessing the region. ACC v2 is currently used as a 17 + power-manager for enabling the cpu. 18 + 19 + properties: 20 + compatible: 21 + const: qcom,kpss-acc-v2 22 + 23 + reg: 24 + items: 25 + - description: Base address and size of the register region 26 + - description: Optional base address and size of the alias register region 27 + minItems: 1 28 + 29 + required: 30 + - compatible 31 + - reg 32 + 33 + additionalProperties: false 34 + 35 + examples: 36 + - | 37 + power-manager@f9088000 { 38 + compatible = "qcom,kpss-acc-v2"; 39 + reg = <0xf9088000 0x1000>, 40 + <0xf9008000 0x1000>; 41 + }; 42 + ...