Back to home page

OSCL-LXR

 
 

    


0001 STMicroelectronics STM32H7 Reset and Clock Controller
0002 =====================================================
0003 
0004 The RCC IP is both a reset and a clock controller.
0005 
0006 Please refer to clock-bindings.txt for common clock controller binding usage.
0007 Please also refer to reset.txt for common reset controller binding usage.
0008 
0009 Required properties:
0010 - compatible: Should be:
0011   "st,stm32h743-rcc"
0012 
0013 - reg: should be register base and length as documented in the
0014   datasheet
0015 
0016 - #reset-cells: 1, see below
0017 
0018 - #clock-cells : from common clock binding; shall be set to 1
0019 
0020 - clocks: External oscillator clock phandle
0021   - high speed external clock signal (HSE)
0022   - low speed external clock signal (LSE)
0023   - external I2S clock (I2S_CKIN)
0024 
0025 Optional properties:
0026 - st,syscfg: phandle for pwrcfg, mandatory to disable/enable backup domain
0027   write protection (RTC clock).
0028 
0029 Example:
0030 
0031         rcc: reset-clock-controller@58024400 {
0032                 compatible = "st,stm32h743-rcc", "st,stm32-rcc";
0033                 reg = <0x58024400 0x400>;
0034                 #reset-cells = <1>;
0035                 #clock-cells = <1>;
0036                 clocks = <&clk_hse>, <&clk_lse>, <&clk_i2s_ckin>;
0037 
0038                 st,syscfg = <&pwrcfg>;
0039 };
0040 
0041 The peripheral clock consumer should specify the desired clock by
0042 having the clock ID in its "clocks" phandle cell.
0043 
0044 Example:
0045 
0046                 timer5: timer@40000c00 {
0047                         compatible = "st,stm32-timer";
0048                         reg = <0x40000c00 0x400>;
0049                         interrupts = <50>;
0050                         clocks = <&rcc TIM5_CK>;
0051                 };
0052 
0053 Specifying softreset control of devices
0054 =======================================
0055 
0056 Device nodes should specify the reset channel required in their "resets"
0057 property, containing a phandle to the reset device node and an index specifying
0058 which channel to use.
0059 The index is the bit number within the RCC registers bank, starting from RCC
0060 base address.
0061 It is calculated as: index = register_offset / 4 * 32 + bit_offset.
0062 Where bit_offset is the bit offset within the register.
0063 
0064 For example, for CRC reset:
0065   crc = AHB4RSTR_offset / 4 * 32 + CRCRST_bit_offset = 0x88 / 4 * 32 + 19 = 1107
0066 
0067 Example:
0068 
0069         timer2 {
0070                 resets  = <&rcc STM32H7_APB1L_RESET(TIM2)>;
0071         };