211 lines
4.6 KiB
YAML
211 lines
4.6 KiB
YAML
|
# 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
|
||
|
|
||
|
maintainers:
|
||
|
- Chen-Yu Tsai <wens@csie.org>
|
||
|
- Maxime Ripard <mripard@kernel.org>
|
||
|
|
||
|
deprecated: true
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: allwinner,sun8i-a23-prcm
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
patternProperties:
|
||
|
"^.*(clk|rst|codec).*$":
|
||
|
type: object
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
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: fixed-factor-clock
|
||
|
|
||
|
then:
|
||
|
$ref: /schemas/clock/fixed-factor-clock.yaml#
|
||
|
|
||
|
- 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";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
...
|