| # Copyright (c), 2021 NXP |
| # SPDX -License-Identifier: Apache-2.0 |
| |
| description: NXP PCA9420 PMIC |
| |
| |
| compatible: "nxp,pca9420" |
| |
| include: base.yaml |
| |
| properties: |
| regulator-initial-mode: |
| type: int |
| description: | |
| Initial operating mode of the regulator. Regulators modes can be |
| used for better power saving, or different voltage configurations, |
| and are hardware specific. |
| regulator-allowed-modes: |
| type: array |
| description: | |
| Array of operating modes that software may configure for the |
| regulator at runtime. The set of possible operating modes depends on |
| what the hardware supports. |
| |
| modesel-reg: |
| type: int |
| description: | |
| Mode selection register. This register is used by the regulator driver |
| to select the target mode of the regulator |
| |
| modesel-mask: |
| type: int |
| description: | |
| Mode selection mask. Applied to a mode selection when it is written |
| to the modesel-reg. |
| |
| child-binding: |
| include: |
| - name: regulator.yaml |
| property-allowlist: |
| - regulator-boot-on |
| description: Voltage output of PMIC controller regulator |
| properties: |
| voltage-range: |
| type: array |
| required: true |
| description: | |
| array of voltage values in uV, followed by the register value that |
| must be written to enable the voltage. For example, [3300000, 0x3] |
| denotes a value of 0x3 must be written to the register to set 3.3V |
| num-voltages: |
| type: int |
| required: true |
| description: number of voltages present in the voltage-range array. |
| vsel-reg: |
| type: int |
| required: true |
| description: I2C register to write voltage selection value to |
| vsel-mask: |
| type: int |
| required: true |
| description: | |
| Mask to apply to the voltage range value when written to vsel |
| register |
| enable-reg: |
| type: int |
| required: true |
| description: I2C register to write enable value to |
| enable-mask: |
| type: int |
| required: true |
| description: | |
| Mask to apply to the enable bit (either 1 for enabled, |
| or 0 for disabled) when writing it to the I2C enable register. |
| enable-val: |
| type: int |
| required: true |
| description: | |
| value to apply enable-mask to, and write to enable-reg in order |
| to enable the regulator output. |
| min-uV: |
| type: int |
| required: true |
| description: | |
| Minimum voltage in microvolts that this regulator supports |
| max-uV: |
| type: int |
| required: true |
| description: | |
| Maximum voltage in microvolts that this regulator supports |
| enable-inverted: |
| type: boolean |
| description: | |
| If the enable bit should be zero to turn the regulator on, add this |
| property. |
| current-levels: |
| type: array |
| description: | |
| Array of current limit values in uA, followed by the register value |
| that must be written to enable the current limit. For example, |
| [800000, 0x3] denotes a value of 0x3 must be written to the register |
| to set a current limit of 800mA |
| num-current-levels: |
| type: int |
| default: 0 |
| description: | |
| Number of current limit levels this regulator supports. If left as |
| default, regulator current support will be disabled. |
| ilim-reg: |
| type: int |
| description: | |
| Register to write the register value given in current-levels into |
| to set the current limit |
| ilim-mask: |
| type: int |
| description: | |
| Mask to apply to the current-levels value before writing it to the |
| ilim-reg value to set the current limit |