|  | 
|  | 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | 
|  | 2 | +%YAML 1.2 | 
|  | 3 | +--- | 
|  | 4 | +$id: http://devicetree.org/schemas/regulator/maxim,max77675.yaml# | 
|  | 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | 
|  | 6 | + | 
|  | 7 | +title: Maxim MAX77675 PMIC Regulator | 
|  | 8 | + | 
|  | 9 | +maintainers: | 
|  | 10 | + | 
|  | 11 | + | 
|  | 12 | +description: | | 
|  | 13 | +  The MAX77675 is a PMIC providing multiple switching buck regulators | 
|  | 14 | +  (SBB0–SBB3), accessible via I2C. Each SBB can be configured individually | 
|  | 15 | +  in the Device Tree. Additional PMIC settings can be configured through | 
|  | 16 | +  device-specific properties. | 
|  | 17 | +  Users should use the macros from dt-bindings/regulator/maxim,max77675-regulator.h | 
|  | 18 | +
 | 
|  | 19 | +allOf: | 
|  | 20 | +  - $ref: regulator.yaml# | 
|  | 21 | + | 
|  | 22 | +properties: | 
|  | 23 | +  compatible: | 
|  | 24 | +    const: maxim,max77675 | 
|  | 25 | + | 
|  | 26 | +  reg: | 
|  | 27 | +    maxItems: 1 | 
|  | 28 | + | 
|  | 29 | +  maxim,dvs-slew-rate: | 
|  | 30 | +    description: | | 
|  | 31 | +      DVS slew rate setting. | 
|  | 32 | +      0 (MAX77675_DVS_SLEW_5MV) - 5 mV/μs | 
|  | 33 | +      1 (MAX77675_DVS_SLEW_10MV) - 10 mV/μs | 
|  | 34 | +    $ref: /schemas/types.yaml#/definitions/uint32 | 
|  | 35 | +    enum: [0, 1] | 
|  | 36 | + | 
|  | 37 | +  maxim,latency-mode: | 
|  | 38 | +    description: | | 
|  | 39 | +      Latency mode for voltage transition: | 
|  | 40 | +      0 (MAX77675_LAT_MODE_HIGH_LATENCY) - Low quiescent current, high latency (~100μs) | 
|  | 41 | +      1 (MAX77675_LAT_MODE_LOW_LATENCY) - High quiescent current, low latency (~10μs) | 
|  | 42 | +    $ref: /schemas/types.yaml#/definitions/uint32 | 
|  | 43 | +    enum: [0, 1] | 
|  | 44 | + | 
|  | 45 | +  maxim,drv-sbb-strength: | 
|  | 46 | +    description: | | 
|  | 47 | +      SIMO Buck-Boost Drive Strength Trim. | 
|  | 48 | +      0 (MAX77675_DRV_SBB_FASTEST) - Fastest transition (~0.6 ns) | 
|  | 49 | +      1 (MAX77675_DRV_SBB_FAST) - Faster transition (~1.2 ns) | 
|  | 50 | +      2 (MAX77675_DRV_SBB_MEDIUM) - Moderate transition (~1.8 ns) | 
|  | 51 | +      3 (MAX77675_DRV_SBB_SLOWEST) - Slowest transition (~8 ns) | 
|  | 52 | +    $ref: /schemas/types.yaml#/definitions/uint32 | 
|  | 53 | +    enum: [0, 1, 2, 3] | 
|  | 54 | + | 
|  | 55 | +  maxim,manual-reset-time: | 
|  | 56 | +    description: | | 
|  | 57 | +      Manual reset time in seconds: | 
|  | 58 | +      0 (MAX77675_MRT_4S): 4 seconds | 
|  | 59 | +      1 (MAX77675_MRT_8S): 8 seconds | 
|  | 60 | +      2 (MAX77675_MRT_12S): 12 seconds | 
|  | 61 | +      3 (MAX77675_MRT_16S): 16 seconds | 
|  | 62 | +    $ref: /schemas/types.yaml#/definitions/uint32 | 
|  | 63 | +    enum: [0, 1, 2, 3] | 
|  | 64 | + | 
|  | 65 | +  maxim,en-pullup-disable: | 
|  | 66 | +    description: | | 
|  | 67 | +      Disable internal pull-up for EN pin. | 
|  | 68 | +      0 (MAX77675_PU_EN): Internal pull-up enabled (default). | 
|  | 69 | +      1 (MAX77675_PU_DIS): Internal pull-up disabled. | 
|  | 70 | +    $ref: /schemas/types.yaml#/definitions/uint32 | 
|  | 71 | +    enum: [0, 1] | 
|  | 72 | + | 
|  | 73 | +  maxim,bias-low-power-request: | 
|  | 74 | +    description: | | 
|  | 75 | +      Controls the bias low-power mode setting. | 
|  | 76 | +      0 (MAX77675_BIAS_NORMAL): Normal bias operation | 
|  | 77 | +      1 (MAX77675_BIAS_LPM_REQ): Request low-power bias mode | 
|  | 78 | +    $ref: /schemas/types.yaml#/definitions/uint32 | 
|  | 79 | +    enum: [0, 1] | 
|  | 80 | + | 
|  | 81 | +  maxim,simo-int-ldo-always-on: | 
|  | 82 | +    description: | | 
|  | 83 | +      SIMO internal channel disable configuration. | 
|  | 84 | +      0 (MAX77675_SIMO_INT_NORMAL): SIMO channel enabled | 
|  | 85 | +      1 (MAX77675_SIMO_INT_LDO): SIMO channel disabled | 
|  | 86 | +    $ref: /schemas/types.yaml#/definitions/uint32 | 
|  | 87 | +    enum: [0, 1] | 
|  | 88 | + | 
|  | 89 | +  maxim,en-mode: | 
|  | 90 | +    description: | | 
|  | 91 | +      Enable mode configuration. | 
|  | 92 | +      0 (MAX77675_EN_PUSH_BUTTON): Push button | 
|  | 93 | +      1 (MAX77675_EN_SLIDE_SWITCH): Slide switch | 
|  | 94 | +      2 (MAX77675_EN_LOGIC): Logic mode | 
|  | 95 | +      3 (MAX77675_EN_RESERVED): Reserved | 
|  | 96 | +    $ref: /schemas/types.yaml#/definitions/uint32 | 
|  | 97 | +    enum: [0, 1, 2, 3] | 
|  | 98 | + | 
|  | 99 | +  maxim,en-debounce-time: | 
|  | 100 | +    description: | | 
|  | 101 | +      Debounce timer enable. | 
|  | 102 | +      0 (MAX77675_DBEN_100US): 100us | 
|  | 103 | +      1 (MAX77675_DBEN_30MS): 30ms | 
|  | 104 | +    $ref: /schemas/types.yaml#/definitions/uint32 | 
|  | 105 | +    enum: [0, 1] | 
|  | 106 | + | 
|  | 107 | +  regulators: | 
|  | 108 | +    type: object | 
|  | 109 | +    description: Regulator child nodes | 
|  | 110 | +    patternProperties: | 
|  | 111 | +      "^sbb[0-3]$": | 
|  | 112 | +        type: object | 
|  | 113 | +        $ref: regulator.yaml# | 
|  | 114 | +    properties: | 
|  | 115 | +      maxim,fps-slot: | 
|  | 116 | +        description: | | 
|  | 117 | +          FPS slot selection. | 
|  | 118 | +          0 (MAX77675_FPS_SLOT_0): FPS Slot 0 | 
|  | 119 | +          1 (MAX77675_FPS_SLOT_1): FPS Slot 1 | 
|  | 120 | +          2 (MAX77675_FPS_SLOT_2): FPS Slot 2 | 
|  | 121 | +          3 (MAX77675_FPS_SLOT_3): FPS Slot 3 | 
|  | 122 | +          4 (MAX77675_FPS_NONE): No FPS Slot (disabled) | 
|  | 123 | +          5 (MAX77675_FPS_DEF): Use the defaul | 
|  | 124 | +        $ref: /schemas/types.yaml#/definitions/uint32 | 
|  | 125 | +        enum: [0, 1, 2, 3, 4, 5] | 
|  | 126 | + | 
|  | 127 | +      maxim,slew-rate-use-dvs: | 
|  | 128 | +        description: | | 
|  | 129 | +          0 (MAX77675_SR_2MV_PER_US): Fixed slew rate of 2mV/μs. | 
|  | 130 | +          1 (MAX77675_SR_USE_DVS): Uses maxim,dvs-slew-rate for dynamic voltage scaling. | 
|  | 131 | +        $ref: /schemas/types.yaml#/definitions/uint32 | 
|  | 132 | +        enum: [0, 1] | 
|  | 133 | +    additionalProperties: false | 
|  | 134 | + | 
|  | 135 | +required: | 
|  | 136 | +  - compatible | 
|  | 137 | +  - reg | 
|  | 138 | +  - regulators | 
|  | 139 | + | 
|  | 140 | +additionalProperties: false | 
|  | 141 | + | 
|  | 142 | +examples: | 
|  | 143 | +  - | | 
|  | 144 | +    #include <dt-bindings/regulator/maxim,max77675-regulator.h> | 
|  | 145 | +
 | 
|  | 146 | +    i2c { | 
|  | 147 | +      #address-cells = <1>; | 
|  | 148 | +      #size-cells = <0>; | 
|  | 149 | +
 | 
|  | 150 | +      max77675: pmic@44 { | 
|  | 151 | +        compatible = "maxim,max77675"; | 
|  | 152 | +        reg = <0x44>; | 
|  | 153 | +
 | 
|  | 154 | +        maxim,dvs-slew-rate = <MAX77675_DVS_SLEW_5MV>; | 
|  | 155 | +        maxim,latency-mode = <MAX77675_LAT_MODE_HIGH_LATENCY>; | 
|  | 156 | +        maxim,drv-sbb-strength = <MAX77675_DRV_SBB_FASTEST>; | 
|  | 157 | +        maxim,manual-reset-time = <MAX77675_MRT_4S>; | 
|  | 158 | +        maxim,en-pullup-disable = <MAX77675_PU_EN>; | 
|  | 159 | +        maxim,bias-low-power-request = <MAX77675_BIAS_NORMAL>; | 
|  | 160 | +        maxim,simo-int-ldo-always-on = <MAX77675_SIMO_INT_NORMAL>; | 
|  | 161 | +        maxim,en-mode = <MAX77675_EN_PUSH_BUTTON>; | 
|  | 162 | +        maxim,en-debounce-time = <MAX77675_DBEN_100US>; | 
|  | 163 | +
 | 
|  | 164 | +        regulators { | 
|  | 165 | +          sbb0: sbb0 { | 
|  | 166 | +            regulator-name = "sbb0"; | 
|  | 167 | +            regulator-min-microvolt = <500000>; | 
|  | 168 | +            regulator-max-microvolt = <5500000>; | 
|  | 169 | +            maxim,fps-slot = <MAX77675_FPS_DEF>; | 
|  | 170 | +            maxim,slew-rate-use-dvs = <MAX77675_SR_2MV_PER_US>; | 
|  | 171 | +          }; | 
|  | 172 | +
 | 
|  | 173 | +          sbb1: sbb1 { | 
|  | 174 | +            regulator-name = "sbb1"; | 
|  | 175 | +            regulator-min-microvolt = <500000>; | 
|  | 176 | +            regulator-max-microvolt = <5500000>; | 
|  | 177 | +            regulator-allow-set-voltage; | 
|  | 178 | +            maxim,fps-slot = <MAX77675_FPS_DEF>; | 
|  | 179 | +            maxim,slew-rate-use-dvs = <MAX77675_SR_2MV_PER_US>; | 
|  | 180 | +          }; | 
|  | 181 | +
 | 
|  | 182 | +          sbb2: sbb2 { | 
|  | 183 | +            regulator-name = "sbb2"; | 
|  | 184 | +            regulator-min-microvolt = <500000>; | 
|  | 185 | +            regulator-max-microvolt = <5500000>; | 
|  | 186 | +            regulator-allow-set-voltage; | 
|  | 187 | +            maxim,fps-slot = <MAX77675_FPS_DEF>; | 
|  | 188 | +            maxim,slew-rate-use-dvs = <MAX77675_SR_2MV_PER_US>; | 
|  | 189 | +          }; | 
|  | 190 | +
 | 
|  | 191 | +          sbb3: sbb3 { | 
|  | 192 | +            regulator-name = "sbb3"; | 
|  | 193 | +            regulator-min-microvolt = <500000>; | 
|  | 194 | +            regulator-max-microvolt = <5500000>; | 
|  | 195 | +            regulator-allow-set-voltage; | 
|  | 196 | +            maxim,fps-slot = <MAX77675_FPS_DEF>; | 
|  | 197 | +            maxim,slew-rate-use-dvs = <MAX77675_SR_2MV_PER_US>; | 
|  | 198 | +          }; | 
|  | 199 | +        }; | 
|  | 200 | +      }; | 
|  | 201 | +    }; | 
|  | 202 | +
 | 
0 commit comments