File Index
Files and directories
Sign in
FILE

stericsson,u8500-clks.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/clock/stericsson,u8500-clks.yaml 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/stericsson,u8500-clks.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: ST-Ericsson DB8500 (U8500) clocks
  8
  9maintainers:
 10  - Ulf Hansson <ulf.hansson@linaro.org>
 11  - Linus Walleij <linusw@kernel.org>
 12
 13description: While named "U8500 clocks" these clocks are inside the
 14  DB8500 digital baseband system-on-chip and its siblings such as
 15  DB8520. These bindings consider the clocks present in the SoC
 16  itself, not off-chip clocks. There are four different on-chip
 17  clocks - RTC (32 kHz), CPU clock (SMP TWD), PRCMU (power reset and
 18  control management unit) clocks and PRCC (peripheral reset and
 19  clock controller) clocks. For some reason PRCC 4 does not exist so
 20  the itemization can be a bit unintuitive.
 21
 22properties:
 23  compatible:
 24    enum:
 25      - stericsson,u8500-clks
 26      - stericsson,u8540-clks
 27      - stericsson,u9540-clks
 28
 29  reg:
 30    items:
 31      - description: PRCC 1 register area
 32      - description: PRCC 2 register area
 33      - description: PRCC 3 register area
 34      - description: PRCC 5 register area
 35      - description: PRCC 6 register area
 36
 37  prcmu-clock:
 38    description: A subnode with one clock cell for PRCMU (power, reset, control
 39      management unit) clocks. The cell indicates which PRCMU clock in the
 40      prcmu-clock node the consumer wants to use.
 41    type: object
 42
 43    properties:
 44      '#clock-cells':
 45        const: 1
 46
 47    additionalProperties: false
 48
 49  prcc-periph-clock:
 50    description: A subnode with two clock cells for PRCC (peripheral
 51      reset and clock controller) peripheral clocks. The first cell indicates
 52      which PRCC block the consumer wants to use, possible values are 1, 2, 3,
 53      5, 6. The second cell indicates which clock inside the PRCC block it
 54      wants, possible values are 0 thru 31.
 55    type: object
 56
 57    properties:
 58      '#clock-cells':
 59        const: 2
 60
 61    additionalProperties: false
 62
 63  prcc-kernel-clock:
 64    description: A subnode with two clock cells for PRCC (peripheral reset
 65      and clock controller) kernel clocks. The first cell indicates which PRCC
 66      block the consumer wants to use, possible values are 1, 2, 3, 5, 6. The
 67      second cell indicates which clock inside the PRCC block it wants, possible
 68      values are 0 thru 31.
 69    type: object
 70
 71    properties:
 72      '#clock-cells':
 73        const: 2
 74
 75    additionalProperties: false
 76
 77  prcc-reset-controller:
 78    description: A subnode with two reset cells for the reset portions of the
 79      PRCC (peripheral reset and clock controller). The first cell indicates
 80      which PRCC block the consumer wants to use, possible values are 1, 2, 3
 81      5 and 6. The second cell indicates which reset line inside the PRCC block
 82      it wants to control, possible values are 0 thru 31.
 83    type: object
 84
 85    properties:
 86      '#reset-cells':
 87        const: 2
 88
 89    additionalProperties: false
 90
 91  rtc32k-clock:
 92    description: A subnode with zero clock cells for the 32kHz RTC clock.
 93    type: object
 94
 95    properties:
 96      '#clock-cells':
 97        const: 0
 98
 99    additionalProperties: false
100
101  smp-twd-clock:
102    description: A subnode for the ARM SMP Timer Watchdog cluster with zero
103      clock cells.
104    type: object
105
106    properties:
107      '#clock-cells':
108        const: 0
109
110    additionalProperties: false
111
112  clkout-clock:
113    description: A subnode with three clock cells for externally routed clocks,
114      output clocks. These are two PRCMU-internal clocks that can be divided and
115      muxed out on the pads of the DB8500 SoC.
116    type: object
117
118    properties:
119      '#clock-cells':
120        description:
121          The first cell indicates which output clock we are using,
122          possible values are 0 (CLKOUT1) and 1 (CLKOUT2).
123          The second cell indicates which clock we want to use as source,
124          possible values are 0 thru 7, see the defines for the different
125          source clocks.
126          The third cell is a divider, legal values are 1 thru 63.
127        const: 3
128
129    additionalProperties: false
130
131required:
132  - compatible
133  - reg
134  - prcmu-clock
135  - prcc-periph-clock
136  - prcc-kernel-clock
137  - rtc32k-clock
138  - smp-twd-clock
139
140additionalProperties: false
141
142examples:
143  - |
144    #include <dt-bindings/clock/ste-db8500-clkout.h>
145    clocks@8012 {
146      compatible = "stericsson,u8500-clks";
147      reg = <0x8012f000 0x1000>, <0x8011f000 0x1000>,
148            <0x8000f000 0x1000>, <0xa03ff000 0x1000>,
149            <0xa03cf000 0x1000>;
150
151      prcmu_clk: prcmu-clock {
152        #clock-cells = <1>;
153      };
154
155      prcc_pclk: prcc-periph-clock {
156        #clock-cells = <2>;
157      };
158
159      prcc_kclk: prcc-kernel-clock {
160        #clock-cells = <2>;
161      };
162
163      prcc_reset: prcc-reset-controller {
164        #reset-cells = <2>;
165      };
166
167      rtc_clk: rtc32k-clock {
168        #clock-cells = <0>;
169      };
170
171      smp_twd_clk: smp-twd-clock {
172        #clock-cells = <0>;
173      };
174
175      clkout_clk: clkout-clock {
176        #clock-cells = <3>;
177      };
178    };
~/ Read-only file preview.