1*7ab12d5aSNuno Sá# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*7ab12d5aSNuno Sá%YAML 1.2 3*7ab12d5aSNuno Sá--- 4*7ab12d5aSNuno Sá$id: http://devicetree.org/schemas/hwmon/adi,ltc4283.yaml# 5*7ab12d5aSNuno Sá$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7ab12d5aSNuno Sá 7*7ab12d5aSNuno Sátitle: LTC4283 Negative Voltage Hot Swap Controller 8*7ab12d5aSNuno Sá 9*7ab12d5aSNuno Sámaintainers: 10*7ab12d5aSNuno Sá - Nuno Sá <nuno.sa@analog.com> 11*7ab12d5aSNuno Sá 12*7ab12d5aSNuno Sádescription: | 13*7ab12d5aSNuno Sá The LTC4283 negative voltage hot swap controller drives an external N-channel 14*7ab12d5aSNuno Sá MOSFET to allow a board to be safely inserted and removed from a live 15*7ab12d5aSNuno Sá backplane. 16*7ab12d5aSNuno Sá 17*7ab12d5aSNuno Sá https://www.analog.com/media/en/technical-documentation/data-sheets/ltc4283.pdf 18*7ab12d5aSNuno Sá 19*7ab12d5aSNuno Sáproperties: 20*7ab12d5aSNuno Sá compatible: 21*7ab12d5aSNuno Sá enum: 22*7ab12d5aSNuno Sá - adi,ltc4283 23*7ab12d5aSNuno Sá 24*7ab12d5aSNuno Sá reg: 25*7ab12d5aSNuno Sá maxItems: 1 26*7ab12d5aSNuno Sá 27*7ab12d5aSNuno Sá adi,rsense-nano-ohms: 28*7ab12d5aSNuno Sá description: Value of the sense resistor. 29*7ab12d5aSNuno Sá 30*7ab12d5aSNuno Sá adi,current-limit-sense-microvolt: 31*7ab12d5aSNuno Sá description: 32*7ab12d5aSNuno Sá The current limit sense voltage of the chip is adjustable between 33*7ab12d5aSNuno Sá 15mV and 30mV in 1mV steps. This effectively limits the current 34*7ab12d5aSNuno Sá on the load. 35*7ab12d5aSNuno Sá minimum: 15000 36*7ab12d5aSNuno Sá maximum: 30000 37*7ab12d5aSNuno Sá default: 15000 38*7ab12d5aSNuno Sá 39*7ab12d5aSNuno Sá adi,current-limit-foldback-factor: 40*7ab12d5aSNuno Sá description: 41*7ab12d5aSNuno Sá Specifies the foldback factor for the current limit. The current limit 42*7ab12d5aSNuno Sá can be reduced (folded back) to one of four preset levels. The value 43*7ab12d5aSNuno Sá represents the percentage of the current limit sense voltage to use 44*7ab12d5aSNuno Sá during foldback. A value of 100 means no foldback. 45*7ab12d5aSNuno Sá $ref: /schemas/types.yaml#/definitions/uint32 46*7ab12d5aSNuno Sá enum: [10, 20, 50, 100] 47*7ab12d5aSNuno Sá default: 100 48*7ab12d5aSNuno Sá 49*7ab12d5aSNuno Sá adi,cooling-delay-ms: 50*7ab12d5aSNuno Sá description: 51*7ab12d5aSNuno Sá Cooling time to apply after an overcurrent fault, FET bad or 52*7ab12d5aSNuno Sá external fault. 53*7ab12d5aSNuno Sá enum: [512, 1002, 2005, 4100, 8190, 16400, 32800, 65600] 54*7ab12d5aSNuno Sá default: 512 55*7ab12d5aSNuno Sá 56*7ab12d5aSNuno Sá adi,fet-bad-timer-delay-ms: 57*7ab12d5aSNuno Sá description: 58*7ab12d5aSNuno Sá FET bad timer delay. After a FET bad status condition is detected, 59*7ab12d5aSNuno Sá this timer is started. If the condition persists for the 60*7ab12d5aSNuno Sá specified time, the FET is turned off and a fault is logged. 61*7ab12d5aSNuno Sá enum: [256, 512, 1002, 2005] 62*7ab12d5aSNuno Sá default: 256 63*7ab12d5aSNuno Sá 64*7ab12d5aSNuno Sá adi,power-good-reset-on-fet: 65*7ab12d5aSNuno Sá description: 66*7ab12d5aSNuno Sá If set, resets the power good status when the MOSFET is turned off. 67*7ab12d5aSNuno Sá Otherwise, it resets when a low output voltage is detected. 68*7ab12d5aSNuno Sá type: boolean 69*7ab12d5aSNuno Sá 70*7ab12d5aSNuno Sá adi,fet-turn-off-disable: 71*7ab12d5aSNuno Sá description: 72*7ab12d5aSNuno Sá If set, the MOSFET is not turned off when a FET fault is detected. 73*7ab12d5aSNuno Sá type: boolean 74*7ab12d5aSNuno Sá 75*7ab12d5aSNuno Sá adi,tmr-pull-down-disable: 76*7ab12d5aSNuno Sá description: Disables 2uA pull-down current on the TMR pin. 77*7ab12d5aSNuno Sá type: boolean 78*7ab12d5aSNuno Sá 79*7ab12d5aSNuno Sá adi,dvdt-inrush-control-disable: 80*7ab12d5aSNuno Sá description: 81*7ab12d5aSNuno Sá Disables dV/dt inrush control during startup. In dV/dt mode, the inrush 82*7ab12d5aSNuno Sá current is limited by controlling a constant output voltage ramp rate. 83*7ab12d5aSNuno Sá When disabled, the inrush control mechanism is active current limiting. 84*7ab12d5aSNuno Sá type: boolean 85*7ab12d5aSNuno Sá 86*7ab12d5aSNuno Sá adi,fault-log-enable: 87*7ab12d5aSNuno Sá description: 88*7ab12d5aSNuno Sá If set, enables logging fault registers and ADC data into EEPROM upon a 89*7ab12d5aSNuno Sá fault. 90*7ab12d5aSNuno Sá type: boolean 91*7ab12d5aSNuno Sá 92*7ab12d5aSNuno Sá adi,vpower-drns-enable: 93*7ab12d5aSNuno Sá description: 94*7ab12d5aSNuno Sá If set, enables the attenuated MOSFET drain voltage to be monitored. This 95*7ab12d5aSNuno Sá effectively means that the MOSFET power is monitored. If not set, the 96*7ab12d5aSNuno Sá attenuated input voltage (and hence input power) is monitored. 97*7ab12d5aSNuno Sá type: boolean 98*7ab12d5aSNuno Sá 99*7ab12d5aSNuno Sá adi,external-fault-fet-off-enable: 100*7ab12d5aSNuno Sá description: Turns MOSFET off following an external fault. 101*7ab12d5aSNuno Sá type: boolean 102*7ab12d5aSNuno Sá 103*7ab12d5aSNuno Sá adi,undervoltage-retry-disable: 104*7ab12d5aSNuno Sá description: Do not retry to turn on the MOSFET after an undervoltage fault. 105*7ab12d5aSNuno Sá type: boolean 106*7ab12d5aSNuno Sá 107*7ab12d5aSNuno Sá adi,overvoltage-retry-disable: 108*7ab12d5aSNuno Sá description: Do not retry to turn on the MOSFET after an overvoltage fault. 109*7ab12d5aSNuno Sá type: boolean 110*7ab12d5aSNuno Sá 111*7ab12d5aSNuno Sá adi,external-fault-retry-enable: 112*7ab12d5aSNuno Sá description: Retry to turn on the MOSFET after an external fault. 113*7ab12d5aSNuno Sá type: boolean 114*7ab12d5aSNuno Sá 115*7ab12d5aSNuno Sá adi,overcurrent-retries: 116*7ab12d5aSNuno Sá description: Configures auto-retry following an Overcurrent fault. 117*7ab12d5aSNuno Sá $ref: /schemas/types.yaml#/definitions/string 118*7ab12d5aSNuno Sá enum: [latch-off, "1", "7", unlimited] 119*7ab12d5aSNuno Sá default: latch-off 120*7ab12d5aSNuno Sá 121*7ab12d5aSNuno Sá adi,fet-bad-retries: 122*7ab12d5aSNuno Sá description: 123*7ab12d5aSNuno Sá Configures auto-retry following a FET bad fault and a consequent MOSFET 124*7ab12d5aSNuno Sá turn off. 125*7ab12d5aSNuno Sá $ref: /schemas/types.yaml#/definitions/string 126*7ab12d5aSNuno Sá enum: [latch-off, "1", "7", unlimited] 127*7ab12d5aSNuno Sá default: latch-off 128*7ab12d5aSNuno Sá 129*7ab12d5aSNuno Sá adi,pgio1-func: 130*7ab12d5aSNuno Sá description: Configures the function of the PGIO1 pin. 131*7ab12d5aSNuno Sá $ref: /schemas/types.yaml#/definitions/string 132*7ab12d5aSNuno Sá enum: [inverted_power_good, power_good, gpio] 133*7ab12d5aSNuno Sá default: inverted_power_good 134*7ab12d5aSNuno Sá 135*7ab12d5aSNuno Sá adi,pgio2-func: 136*7ab12d5aSNuno Sá description: Configures the function of the PGIO2 pin. 137*7ab12d5aSNuno Sá $ref: /schemas/types.yaml#/definitions/string 138*7ab12d5aSNuno Sá enum: [inverted_power_good, power_good, gpio, active_current_limiting] 139*7ab12d5aSNuno Sá default: inverted_power_good 140*7ab12d5aSNuno Sá 141*7ab12d5aSNuno Sá adi,pgio3-func: 142*7ab12d5aSNuno Sá description: Configures the function of the PGIO3 pin. 143*7ab12d5aSNuno Sá $ref: /schemas/types.yaml#/definitions/string 144*7ab12d5aSNuno Sá enum: [inverted_power_good_input, power_good_input, gpio] 145*7ab12d5aSNuno Sá default: inverted_power_good_input 146*7ab12d5aSNuno Sá 147*7ab12d5aSNuno Sá adi,pgio4-func: 148*7ab12d5aSNuno Sá description: Configures the function of the PGIO4 pin. 149*7ab12d5aSNuno Sá $ref: /schemas/types.yaml#/definitions/string 150*7ab12d5aSNuno Sá enum: [inverted_external_fault, external_fault, gpio] 151*7ab12d5aSNuno Sá default: inverted_external_fault 152*7ab12d5aSNuno Sá 153*7ab12d5aSNuno Sá adi,gpio-on-adio1: 154*7ab12d5aSNuno Sá description: If set, the ADIO1 pin is used as a GPIO. 155*7ab12d5aSNuno Sá type: boolean 156*7ab12d5aSNuno Sá 157*7ab12d5aSNuno Sá adi,gpio-on-adio2: 158*7ab12d5aSNuno Sá description: If set, the ADIO2 pin is used as a GPIO. 159*7ab12d5aSNuno Sá type: boolean 160*7ab12d5aSNuno Sá 161*7ab12d5aSNuno Sá adi,gpio-on-adio3: 162*7ab12d5aSNuno Sá description: If set, the ADIO3 pin is used as a GPIO. 163*7ab12d5aSNuno Sá type: boolean 164*7ab12d5aSNuno Sá 165*7ab12d5aSNuno Sá adi,gpio-on-adio4: 166*7ab12d5aSNuno Sá description: If set, the ADIO4 pin is used as a GPIO. 167*7ab12d5aSNuno Sá type: boolean 168*7ab12d5aSNuno Sá 169*7ab12d5aSNuno Sá gpio-controller: true 170*7ab12d5aSNuno Sá 171*7ab12d5aSNuno Sá '#gpio-cells': 172*7ab12d5aSNuno Sá const: 2 173*7ab12d5aSNuno Sá 174*7ab12d5aSNuno Sádependencies: 175*7ab12d5aSNuno Sá adi,gpio-on-adio1: 176*7ab12d5aSNuno Sá - gpio-controller 177*7ab12d5aSNuno Sá - '#gpio-cells' 178*7ab12d5aSNuno Sá adi,gpio-on-adio2: 179*7ab12d5aSNuno Sá - gpio-controller 180*7ab12d5aSNuno Sá - '#gpio-cells' 181*7ab12d5aSNuno Sá adi,gpio-on-adio3: 182*7ab12d5aSNuno Sá - gpio-controller 183*7ab12d5aSNuno Sá - '#gpio-cells' 184*7ab12d5aSNuno Sá adi,gpio-on-adio4: 185*7ab12d5aSNuno Sá - gpio-controller 186*7ab12d5aSNuno Sá - '#gpio-cells' 187*7ab12d5aSNuno Sá adi,external-fault-retry-enable: 188*7ab12d5aSNuno Sá - adi,pgio4-func 189*7ab12d5aSNuno Sá adi,external-fault-fet-off-enable: 190*7ab12d5aSNuno Sá - adi,pgio4-func 191*7ab12d5aSNuno Sá 192*7ab12d5aSNuno Sárequired: 193*7ab12d5aSNuno Sá - compatible 194*7ab12d5aSNuno Sá - reg 195*7ab12d5aSNuno Sá - adi,rsense-nano-ohms 196*7ab12d5aSNuno Sá 197*7ab12d5aSNuno SáallOf: 198*7ab12d5aSNuno Sá - if: 199*7ab12d5aSNuno Sá properties: 200*7ab12d5aSNuno Sá adi,pgio1-func: 201*7ab12d5aSNuno Sá const: gpio 202*7ab12d5aSNuno Sá required: 203*7ab12d5aSNuno Sá - adi,pgio1-func 204*7ab12d5aSNuno Sá then: 205*7ab12d5aSNuno Sá required: 206*7ab12d5aSNuno Sá - gpio-controller 207*7ab12d5aSNuno Sá - '#gpio-cells' 208*7ab12d5aSNuno Sá 209*7ab12d5aSNuno Sá - if: 210*7ab12d5aSNuno Sá properties: 211*7ab12d5aSNuno Sá adi,pgio2-func: 212*7ab12d5aSNuno Sá const: gpio 213*7ab12d5aSNuno Sá required: 214*7ab12d5aSNuno Sá - adi,pgio2-func 215*7ab12d5aSNuno Sá then: 216*7ab12d5aSNuno Sá required: 217*7ab12d5aSNuno Sá - gpio-controller 218*7ab12d5aSNuno Sá - '#gpio-cells' 219*7ab12d5aSNuno Sá 220*7ab12d5aSNuno Sá - if: 221*7ab12d5aSNuno Sá properties: 222*7ab12d5aSNuno Sá adi,pgio3-func: 223*7ab12d5aSNuno Sá const: gpio 224*7ab12d5aSNuno Sá required: 225*7ab12d5aSNuno Sá - adi,pgio3-func 226*7ab12d5aSNuno Sá then: 227*7ab12d5aSNuno Sá required: 228*7ab12d5aSNuno Sá - gpio-controller 229*7ab12d5aSNuno Sá - '#gpio-cells' 230*7ab12d5aSNuno Sá 231*7ab12d5aSNuno Sá - if: 232*7ab12d5aSNuno Sá properties: 233*7ab12d5aSNuno Sá adi,pgio4-func: 234*7ab12d5aSNuno Sá const: gpio 235*7ab12d5aSNuno Sá required: 236*7ab12d5aSNuno Sá - adi,pgio4-func 237*7ab12d5aSNuno Sá then: 238*7ab12d5aSNuno Sá properties: 239*7ab12d5aSNuno Sá adi,external-fault-retry-enable: false 240*7ab12d5aSNuno Sá adi,external-fault-fet-off-enable: false 241*7ab12d5aSNuno Sá required: 242*7ab12d5aSNuno Sá - gpio-controller 243*7ab12d5aSNuno Sá - '#gpio-cells' 244*7ab12d5aSNuno Sá 245*7ab12d5aSNuno SáadditionalProperties: false 246*7ab12d5aSNuno Sá 247*7ab12d5aSNuno Sáexamples: 248*7ab12d5aSNuno Sá - | 249*7ab12d5aSNuno Sá i2c { 250*7ab12d5aSNuno Sá #address-cells = <1>; 251*7ab12d5aSNuno Sá #size-cells = <0>; 252*7ab12d5aSNuno Sá 253*7ab12d5aSNuno Sá swap-controller@15 { 254*7ab12d5aSNuno Sá compatible = "adi,ltc4283"; 255*7ab12d5aSNuno Sá reg = <0x15>; 256*7ab12d5aSNuno Sá 257*7ab12d5aSNuno Sá adi,rsense-nano-ohms = <500>; 258*7ab12d5aSNuno Sá adi,current-limit-sense-microvolt = <25000>; 259*7ab12d5aSNuno Sá adi,current-limit-foldback-factor = <10>; 260*7ab12d5aSNuno Sá adi,cooling-delay-ms = <8190>; 261*7ab12d5aSNuno Sá adi,fet-bad-timer-delay-ms = <512>; 262*7ab12d5aSNuno Sá 263*7ab12d5aSNuno Sá adi,external-fault-fet-off-enable; 264*7ab12d5aSNuno Sá adi,pgio4-func = "external_fault"; 265*7ab12d5aSNuno Sá 266*7ab12d5aSNuno Sá adi,gpio-on-adio1; 267*7ab12d5aSNuno Sá adi,pgio1-func = "gpio"; 268*7ab12d5aSNuno Sá gpio-controller; 269*7ab12d5aSNuno Sá #gpio-cells = <2>; 270*7ab12d5aSNuno Sá }; 271*7ab12d5aSNuno Sá }; 272*7ab12d5aSNuno Sá... 273