summaryrefslogtreecommitdiff
path: root/doc/device-tree-bindings/clock/st,stm32h7-rcc.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/device-tree-bindings/clock/st,stm32h7-rcc.txt')
-rw-r--r--doc/device-tree-bindings/clock/st,stm32h7-rcc.txt152
1 files changed, 0 insertions, 152 deletions
diff --git a/doc/device-tree-bindings/clock/st,stm32h7-rcc.txt b/doc/device-tree-bindings/clock/st,stm32h7-rcc.txt
deleted file mode 100644
index 9d4b5873d9..0000000000
--- a/doc/device-tree-bindings/clock/st,stm32h7-rcc.txt
+++ /dev/null
@@ -1,152 +0,0 @@
-STMicroelectronics STM32H7 Reset and Clock Controller
-=====================================================
-
-The RCC IP is both a reset and a clock controller.
-
-Please refer to clock-bindings.txt for common clock controller binding usage.
-Please also refer to reset.txt for common reset controller binding usage.
-
-Required properties:
-- compatible: Should be:
- "st,stm32h743-rcc"
-
-- reg: should be register base and length as documented in the
- datasheet
-
-- #reset-cells: 1, see below
-
-- #clock-cells : from common clock binding; shall be set to 1
-
-- clocks: External oscillator clock phandle
- - high speed external clock signal (HSE)
- - low speed external clock signal (LSE)
- - external I2S clock (I2S_CKIN)
-
-- st,syscfg: phandle for pwrcfg, mandatory to disable/enable backup domain
- write protection (RTC clock).
-
-- pll x node: Allow to register a pll with specific parameters.
- Please see PLL section below.
-
-Example:
-
- rcc: rcc@58024400 {
- #reset-cells = <1>;
- #clock-cells = <2>
- compatible = "st,stm32h743-rcc", "st,stm32-rcc";
- reg = <0x58024400 0x400>;
- clocks = <&clk_hse>, <&clk_lse>, <&clk_i2s_ckin>;
-
- st,syscfg = <&pwrcfg>;
-
- #address-cells = <1>;
- #size-cells = <0>;
-
- vco1@58024430 {
- #clock-cells = <0>;
- compatible = "stm32,pll";
- reg = <0>;
- };
-
- vco2@58024438 {
- #clock-cells = <0>;
- compatible = "stm32,pll";
- reg = <1>;
- st,clock-div = <2>;
- st,clock-mult = <40>;
- st,frac-status = <0>;
- st,frac = <0>;
- st,vcosel = <1>;
- st,pllrge = <2>;
- };
- };
-
-
-STM32H7 PLL
------------
-
-The VCO of STM32 PLL could be reprensented like this:
-
- Vref --------- --------
- ---->| / DIVM |---->| x DIVN | ------> VCO
- --------- --------
- ^
- |
- -------
- | FRACN |
- -------
-
-When the PLL is configured in integer mode:
-- VCO = ( Vref / DIVM ) * DIVN
-
-When the PLL is configured in fractional mode:
-- VCO = ( Vref / DIVM ) * ( DIVN + FRACN / 2^13)
-
-
-Required properties for pll node:
-- compatible: Should be:
- "stm32,pll"
-
-- #clock-cells: from common clock binding; shall be set to 0
-- reg: Should be the pll number.
-
-Optional properties:
-- st,clock-div: DIVM division factor : <1..63>
-- st,clock-mult: DIVN multiplication factor : <4..512>
-
-- st,frac-status:
- - 0 Pll is configured in integer mode
- - 1 Pll is configure in fractional mode
-
-- st,frac: Fractional part of the multiplication factor : <0..8191>
-
-- st,vcosel: VCO selection
- - 0: Wide VCO range:192 to 836 MHz
- - 1: Medium VCO range:150 to 420 MHz
-
-- st,pllrge: PLL input frequency range
- - 0: The PLL input (Vref / DIVM) clock range frequency is between 1 and 2 MHz
- - 1: The PLL input (Vref / DIVM) clock range frequency is between 2 and 4 MHz
- - 2: The PLL input (Vref / DIVM) clock range frequency is between 4 and 8 MHz
- - 3: The PLL input (Vref / DIVM) clock range frequency is between 8 and 16 MHz
-
-
-The peripheral clock consumer should specify the desired clock by
-having the clock ID in its "clocks" phandle cell.
-
-All available clocks are defined as preprocessor macros in
-dt-bindings/clock/stm32h7-clks.h header and can be used in device
-tree sources.
-
-Example:
-
- timer5: timer@40000c00 {
- compatible = "st,stm32-timer";
- reg = <0x40000c00 0x400>;
- interrupts = <50>;
- clocks = <&rcc TIM5_CK>;
-
- };
-
-Specifying softreset control of devices
-=======================================
-
-Device nodes should specify the reset channel required in their "resets"
-property, containing a phandle to the reset device node and an index specifying
-which channel to use.
-The index is the bit number within the RCC registers bank, starting from RCC
-base address.
-It is calculated as: index = register_offset / 4 * 32 + bit_offset.
-Where bit_offset is the bit offset within the register.
-
-For example, for CRC reset:
- crc = AHB4RSTR_offset / 4 * 32 + CRCRST_bit_offset = 0x88 / 4 * 32 + 19 = 1107
-
-All available preprocessor macros for reset are defined dt-bindings//mfd/stm32h7-rcc.h
-header and can be used in device tree sources.
-
-example:
-
- timer2 {
- resets = <&rcc STM32H7_APB1L_RESET(TIM2)>;
- };