1 STMicroelectronics STM32 Peripheral Reset Clock Controller
2 ==========================================================
4 The RCC IP is both a reset and a clock controller.
6 RCC makes also power management (resume/supend and wakeup interrupt).
8 Please also refer to reset.txt for common reset controller binding usage.
10 Please also refer to clock-bindings.txt for common clock controller
15 - compatible: "st,stm32mp1-rcc", "syscon"
16 - reg: should be register base and length as documented in the datasheet
17 - #clock-cells: 1, device nodes should specify the clock in their
18 "clocks" property, containing a phandle to the clock device node,
19 an index specifying the clock to use.
20 - #reset-cells: Shall be 1
21 - interrupts: Should contain a general interrupt line and a interrupt line
22 to the wake-up of processor (CSTOP).
26 compatible = "st,stm32mp1-rcc", "syscon";
27 reg = <0x50000000 0x1000>;
30 interrupts = <GIC_SPI 5 IRQ_TYPE_NONE>,
31 <GIC_SPI 145 IRQ_TYPE_NONE>;
37 All available clocks are defined as preprocessor macros in
38 dt-bindings/clock/stm32mp1-clks.h header and can be used in device
41 Specifying softreset control of devices
42 =======================================
44 Device nodes should specify the reset channel required in their "resets"
45 property, containing a phandle to the reset device node and an index specifying
47 The index is the bit number within the RCC registers bank, starting from RCC
49 It is calculated as: index = register_offset / 4 * 32 + bit_offset.
50 Where bit_offset is the bit offset within the register.
52 For example on STM32MP1, for LTDC reset:
53 ltdc = APB4_RSTSETR_offset / 4 * 32 + LTDC_bit_offset
54 = 0x180 / 4 * 32 + 0 = 3072
56 The list of valid indices for STM32MP1 is available in:
57 include/dt-bindings/reset-controller/stm32mp1-resets.h
59 This file implements defines like: