1# Copyright (c) 2024 STMicroelectronics
2# SPDX-License-Identifier: Apache-2.0
3
4description: STM32WB0 power controller
5
6compatible: "st,stm32wb0-pwr"
7
8include: "st,stm32-pwr.yaml"
9
10properties:
11  smps-mode:
12    type: string
13    required: true
14    description: |
15      SMPS mode selection
16
17      OFF:
18        - SMPS converter disabled
19        - LDOs supply voltage: VDD
20
21      WARNING: The SMPS must not be disabled on board using the
22      'SMPS supply configuration', so this mode should NEVER be
23      selected on these boards. Only use this mode if your board
24      is using the 'NOSMPS supply configuration'.
25
26      Refer to RM0505 §5.5 "SMPS step down regulator" for details.
27
28      PRECHARGE: (also called BYPASS)
29        - SMPS converter enabled - clock disabled
30        - LDOs supply voltage: VDD (though SMPS)
31          - Current supplied to LDOs can be limited
32            (feature only supported on STM32WB05 / STM32WB09)
33
34      RUN: (also called ON)
35        - SMPS converter enabled - clock enabled
36        - LDOs supply voltage: regulated SMPS output
37          - Target output voltage can be programmed
38    enum:
39      - "OFF"
40      - "PRECHARGE"
41      - "RUN"
42
43  smps-bom:
44    type: int
45    description: |
46      SMPS L/C BOM selection
47
48      Indicates which L/C BOM is present on the board:
49        1: 1.5µH inductance, 2.2µF output capacitance
50        2: 2.2µH inductance, 4.7µF output capacitance
51        3: 10µH inductance, 4.7µF output capacitance
52      Refer to RM0505 §5.5 for more details about L/C BOM.
53
54      This property is required if `smps-mode` is not "OFF".
55    enum:
56      - 1
57      - 2
58      - 3
59
60  smps-clock-prescaler:
61    type: int
62    default: 4
63    description: |
64      SMPS clock prescaler factor
65
66      The SMPS clock, CLK_SMPS, comes from a 16 MHz source that
67      goes through one of two prescalers, with a respective
68      division factor of 2 and 4. This property selects which
69      prescaler should be used.
70
71      Setting this property to 2 results in CLK_SMPS = 8 MHz.
72      Setting this property to 4 results in CLK_SMPS = 4 MHz.
73
74      All features of the SMPS can be used regardless of which
75      prescaler has been chosen. Since a slower clock results
76      in less power consumption, this property defaults to 4.
77
78      This property is only used if `smps-mode` is not "OFF".
79    enum:
80      - 2
81      - 4
82
83  smps-lp-floating:
84    type: boolean
85    description: |
86      Floating SMPS output in low-power state
87
88      If this property is set, the SMPS output pin (VFBSD)
89      is left floating when the SoC is in low-power state.
90
91      If this property is not set, the SMPS is placed in
92      PRECHARGE mode when the SoC is in low-power state.
93      (i.e., VFBSD voltage is equal to VDD)
94
95  smps-current-limit:
96    type: string
97    default: "20"
98    description: |
99      SMPS output current limit (in mA)
100
101      The default value of 20 mA corresponds to the maximal
102      output current allowed for the SMPS, and is also equal
103      to the hardware reset configuration.
104
105      On STM32WB06 and STM32WB07, this property is ignored as
106      the output current limitation feature is not available.
107
108      This property is only used if `smps-mode` is "PRECHARGE".
109    enum:
110      - "2_5"
111      - "5"
112      - "10"
113      - "20"
114
115  smps-output-voltage:
116    type: string
117    default: "1V40"
118    description: |
119      SMPS regulated output voltage
120
121      The default value corresponds to the hardware reset
122      configuration of 1.40V regulated output.
123
124      This property is only used if `smps-mode` is "RUN".
125    enum:
126      - "1V20"
127      - "1V25"
128      - "1V30"
129      - "1V35"
130      - "1V40"
131      - "1V45"
132      - "1V50"
133      - "1V55"
134      - "1V60"
135      - "1V65"
136      - "1V70"
137      - "1V75"
138      - "1V80"
139      - "1V85"
140      - "1V90"
141      - "1V95"
142