| # Copyright 2023 EPAM Systems |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| description: | |
| GPIO-controlled voltage of regulators |
| |
| Example of dts node: |
| vccq_sd0: regulator-vccq-sd0 { |
| compatible = "regulator-gpio"; |
| |
| regulator-name = "SD0 VccQ"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| |
| enable-gpios = <&gpio5 3 GPIO_ACTIVE_HIGH>; |
| |
| gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>, <&gpio5 2 GPIO_ACTIVE_HIGH>; |
| states = <3300000 2>, <2700000 1>, <1800000 0>; |
| |
| regulator-boot-on; |
| }; |
| |
| In the above example, three GPIO pins are used for controlling the regulator: |
| * two of them for controlling voltage; |
| * third for enabling/disabling the regulator. |
| |
| include: |
| - name: base.yaml |
| - name: regulator.yaml |
| property-allowlist: |
| - regulator-name |
| - regulator-init-microvolt |
| - regulator-min-microvolt |
| - regulator-max-microvolt |
| - regulator-always-on |
| - regulator-boot-on |
| - startup-delay-us |
| |
| compatible: "regulator-gpio" |
| |
| properties: |
| regulator-name: |
| required: true |
| |
| gpios: |
| type: phandle-array |
| required: true |
| description: | |
| GPIO to use to switch voltage. |
| |
| states: |
| type: array |
| description: | |
| Selection of available voltages provided by this regulator and matching |
| GPIO configurations to achieve them. If there are no states in the |
| "states" array, use a fixed regulator instead. First value in an array |
| item is voltage in microvolts and the second is GPIO group state value. |
| |
| enable-gpios: |
| type: phandle-array |
| description: | |
| GPIO to use to enable/disable the regulator. |
| |
| Unlike the gpio property in the Linux bindings this array must provide |
| the GPIO polarity and open-drain status in the phandle selector. The |
| Linux enable-active-high and gpio-open-drain properties are not valid |
| for Zephyr devicetree files. Moreover, the driver isn't capable of |
| working with more than one GPIO and this property does not have a state |
| array. The driver simply sets or clears the appropriate GPIO bit when |
| it is requested to enable or disable the regulator. |
| |
| Example: |
| enable-gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; |