mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	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
This commit is contained in:
		
							parent
							
								
									377c0b46d8
								
							
						
					
					
						commit
						4260ddfb64
					
				
					 3 changed files with 114 additions and 49 deletions
				
			
		|  | @ -1,49 +0,0 @@ | |||
| Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) | ||||
| 
 | ||||
| The KPSS ACC provides clock, power domain, and reset control to a Krait CPU. | ||||
| There is one ACC register region per CPU within the KPSS remapped region as | ||||
| well as an alias register region that remaps accesses to the ACC associated | ||||
| with the CPU accessing the region. | ||||
| 
 | ||||
| PROPERTIES | ||||
| 
 | ||||
| - compatible: | ||||
| 	Usage: required | ||||
| 	Value type: <string> | ||||
| 	Definition: should be one of: | ||||
| 			"qcom,kpss-acc-v1" | ||||
| 			"qcom,kpss-acc-v2" | ||||
| 
 | ||||
| - reg: | ||||
| 	Usage: required | ||||
| 	Value type: <prop-encoded-array> | ||||
| 	Definition: the first element specifies the base address and size of | ||||
| 		    the register region. An optional second element specifies | ||||
| 		    the base address and size of the alias register region. | ||||
| 
 | ||||
| - clocks: | ||||
|         Usage: required | ||||
|         Value type: <prop-encoded-array> | ||||
|         Definition: reference to the pll parents. | ||||
| 
 | ||||
| - clock-names: | ||||
|         Usage: required | ||||
|         Value type: <stringlist> | ||||
|         Definition: must be "pll8_vote", "pxo". | ||||
| 
 | ||||
| - clock-output-names: | ||||
| 	Usage: optional | ||||
| 	Value type: <string> | ||||
| 	Definition: Name of the output clock. Typically acpuX_aux where X is a | ||||
| 		    CPU number starting at 0. | ||||
| 
 | ||||
| Example: | ||||
| 
 | ||||
| 	clock-controller@2088000 { | ||||
| 		compatible = "qcom,kpss-acc-v2"; | ||||
| 		reg = <0x02088000 0x1000>, | ||||
| 		      <0x02008000 0x1000>; | ||||
| 		clocks = <&gcc PLL8_VOTE>, <&gcc PXO_SRC>; | ||||
| 		clock-names = "pll8_vote", "pxo"; | ||||
| 		clock-output-names = "acpu0_aux"; | ||||
| 	}; | ||||
|  | @ -0,0 +1,72 @@ | |||
| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | ||||
| %YAML 1.2 | ||||
| --- | ||||
| $id: http://devicetree.org/schemas/clock/qcom,kpss-acc-v1.yaml# | ||||
| $schema: http://devicetree.org/meta-schemas/core.yaml# | ||||
| 
 | ||||
| title: Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) v1 | ||||
| 
 | ||||
| maintainers: | ||||
|   - Christian Marangi <ansuelsmth@gmail.com> | ||||
| 
 | ||||
| description: | ||||
|   The KPSS ACC provides clock, power domain, and reset control to a Krait CPU. | ||||
|   There is one ACC register region per CPU within the KPSS remapped region as | ||||
|   well as an alias register region that remaps accesses to the ACC associated | ||||
|   with the CPU accessing the region. ACC v1 is currently used as a | ||||
|   clock-controller for enabling the cpu and hanling the aux clocks. | ||||
| 
 | ||||
| properties: | ||||
|   compatible: | ||||
|     const: qcom,kpss-acc-v1 | ||||
| 
 | ||||
|   reg: | ||||
|     items: | ||||
|       - description: Base address and size of the register region | ||||
|       - description: Optional base address and size of the alias register region | ||||
|     minItems: 1 | ||||
| 
 | ||||
|   clocks: | ||||
|     minItems: 2 | ||||
|     maxItems: 2 | ||||
| 
 | ||||
|   clock-names: | ||||
|     items: | ||||
|       - const: pll8_vote | ||||
|       - const: pxo | ||||
| 
 | ||||
|   clock-output-names: | ||||
|     description: Name of the aux clock. Krait can have at most 4 cpu. | ||||
|     enum: | ||||
|       - acpu0_aux | ||||
|       - acpu1_aux | ||||
|       - acpu2_aux | ||||
|       - acpu3_aux | ||||
| 
 | ||||
|   '#clock-cells': | ||||
|     const: 0 | ||||
| 
 | ||||
| required: | ||||
|   - compatible | ||||
|   - reg | ||||
|   - clocks | ||||
|   - clock-names | ||||
|   - clock-output-names | ||||
|   - '#clock-cells' | ||||
| 
 | ||||
| additionalProperties: false | ||||
| 
 | ||||
| examples: | ||||
|   - | | ||||
|     #include <dt-bindings/clock/qcom,gcc-ipq806x.h> | ||||
| 
 | ||||
|     clock-controller@2088000 { | ||||
|       compatible = "qcom,kpss-acc-v1"; | ||||
|       reg = <0x02088000 0x1000>, <0x02008000 0x1000>; | ||||
|       clocks = <&gcc PLL8_VOTE>, <&pxo_board>; | ||||
|       clock-names = "pll8_vote", "pxo"; | ||||
|       clock-output-names = "acpu0_aux"; | ||||
|       #clock-cells = <0>; | ||||
|     }; | ||||
| 
 | ||||
| ... | ||||
|  | @ -0,0 +1,42 @@ | |||
| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | ||||
| %YAML 1.2 | ||||
| --- | ||||
| $id: http://devicetree.org/schemas/power/qcom,kpss-acc-v2.yaml# | ||||
| $schema: http://devicetree.org/meta-schemas/core.yaml# | ||||
| 
 | ||||
| title: Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) v2 | ||||
| 
 | ||||
| maintainers: | ||||
|   - Christian Marangi <ansuelsmth@gmail.com> | ||||
| 
 | ||||
| description: | ||||
|   The KPSS ACC provides clock, power manager, and reset control to a Krait CPU. | ||||
|   There is one ACC register region per CPU within the KPSS remapped region as | ||||
|   well as an alias register region that remaps accesses to the ACC associated | ||||
|   with the CPU accessing the region. ACC v2 is currently used as a | ||||
|   power-manager for enabling the cpu. | ||||
| 
 | ||||
| properties: | ||||
|   compatible: | ||||
|     const: qcom,kpss-acc-v2 | ||||
| 
 | ||||
|   reg: | ||||
|     items: | ||||
|       - description: Base address and size of the register region | ||||
|       - description: Optional base address and size of the alias register region | ||||
|     minItems: 1 | ||||
| 
 | ||||
| required: | ||||
|   - compatible | ||||
|   - reg | ||||
| 
 | ||||
| additionalProperties: false | ||||
| 
 | ||||
| examples: | ||||
|   - | | ||||
|     power-manager@f9088000 { | ||||
|       compatible = "qcom,kpss-acc-v2"; | ||||
|       reg = <0xf9088000 0x1000>, | ||||
|             <0xf9008000 0x1000>; | ||||
|     }; | ||||
| ... | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christian Marangi
						Christian Marangi