forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
200 lines
4.4 KiB
200 lines
4.4 KiB
# SPDX-License-Identifier: GPL-2.0+ |
|
%YAML 1.2 |
|
--- |
|
$id: http://devicetree.org/schemas/mfd/allwinner,sun8i-a23-prcm.yaml# |
|
$schema: http://devicetree.org/meta-schemas/core.yaml# |
|
|
|
title: Allwinner A23 PRCM Device Tree Bindings |
|
|
|
maintainers: |
|
- Chen-Yu Tsai <[email protected]> |
|
- Maxime Ripard <[email protected]> |
|
|
|
deprecated: true |
|
|
|
properties: |
|
compatible: |
|
const: allwinner,sun8i-a23-prcm |
|
|
|
reg: |
|
maxItems: 1 |
|
|
|
patternProperties: |
|
"^.*(clk|rst|codec).*$": |
|
type: object |
|
|
|
properties: |
|
compatible: |
|
enum: |
|
- fixed-factor-clock |
|
- allwinner,sun8i-a23-apb0-clk |
|
- allwinner,sun8i-a23-apb0-gates-clk |
|
- allwinner,sun6i-a31-clock-reset |
|
- allwinner,sun8i-a23-codec-analog |
|
|
|
required: |
|
- compatible |
|
|
|
allOf: |
|
- if: |
|
properties: |
|
compatible: |
|
contains: |
|
const: allwinner,sun8i-a23-apb0-clk |
|
|
|
then: |
|
properties: |
|
"#clock-cells": |
|
const: 0 |
|
|
|
# Already checked in the main schema |
|
compatible: true |
|
|
|
clocks: |
|
maxItems: 1 |
|
|
|
clock-output-names: |
|
maxItems: 1 |
|
|
|
phandle: true |
|
|
|
required: |
|
- "#clock-cells" |
|
- compatible |
|
- clocks |
|
- clock-output-names |
|
|
|
additionalProperties: false |
|
|
|
- if: |
|
properties: |
|
compatible: |
|
contains: |
|
const: allwinner,sun8i-a23-apb0-gates-clk |
|
|
|
then: |
|
properties: |
|
"#clock-cells": |
|
const: 1 |
|
description: > |
|
This additional argument passed to that clock is the |
|
offset of the bit controlling this particular gate in |
|
the register. |
|
|
|
# Already checked in the main schema |
|
compatible: true |
|
|
|
clocks: |
|
maxItems: 1 |
|
|
|
clock-output-names: |
|
minItems: 1 |
|
maxItems: 32 |
|
|
|
phandle: true |
|
|
|
required: |
|
- "#clock-cells" |
|
- compatible |
|
- clocks |
|
- clock-output-names |
|
|
|
additionalProperties: false |
|
|
|
- if: |
|
properties: |
|
compatible: |
|
contains: |
|
const: allwinner,sun6i-a31-clock-reset |
|
|
|
then: |
|
properties: |
|
"#reset-cells": |
|
const: 1 |
|
|
|
# Already checked in the main schema |
|
compatible: true |
|
|
|
phandle: true |
|
|
|
required: |
|
- "#reset-cells" |
|
- compatible |
|
|
|
additionalProperties: false |
|
|
|
- if: |
|
properties: |
|
compatible: |
|
contains: |
|
const: allwinner,sun8i-a23-codec-analog |
|
|
|
then: |
|
properties: |
|
# Already checked in the main schema |
|
compatible: true |
|
|
|
phandle: true |
|
|
|
required: |
|
- compatible |
|
|
|
additionalProperties: false |
|
|
|
required: |
|
- compatible |
|
- reg |
|
|
|
additionalProperties: false |
|
|
|
examples: |
|
- | |
|
prcm@1f01400 { |
|
compatible = "allwinner,sun8i-a23-prcm"; |
|
reg = <0x01f01400 0x200>; |
|
|
|
ar100: ar100_clk { |
|
compatible = "fixed-factor-clock"; |
|
#clock-cells = <0>; |
|
clock-div = <1>; |
|
clock-mult = <1>; |
|
clocks = <&osc24M>; |
|
clock-output-names = "ar100"; |
|
}; |
|
|
|
ahb0: ahb0_clk { |
|
compatible = "fixed-factor-clock"; |
|
#clock-cells = <0>; |
|
clock-div = <1>; |
|
clock-mult = <1>; |
|
clocks = <&ar100>; |
|
clock-output-names = "ahb0"; |
|
}; |
|
|
|
apb0: apb0_clk { |
|
compatible = "allwinner,sun8i-a23-apb0-clk"; |
|
#clock-cells = <0>; |
|
clocks = <&ahb0>; |
|
clock-output-names = "apb0"; |
|
}; |
|
|
|
apb0_gates: apb0_gates_clk { |
|
compatible = "allwinner,sun8i-a23-apb0-gates-clk"; |
|
#clock-cells = <1>; |
|
clocks = <&apb0>; |
|
clock-output-names = "apb0_pio", "apb0_timer", |
|
"apb0_rsb", "apb0_uart", |
|
"apb0_i2c"; |
|
}; |
|
|
|
apb0_rst: apb0_rst { |
|
compatible = "allwinner,sun6i-a31-clock-reset"; |
|
#reset-cells = <1>; |
|
}; |
|
|
|
codec_analog: codec-analog { |
|
compatible = "allwinner,sun8i-a23-codec-analog"; |
|
}; |
|
}; |
|
|
|
...
|
|
|