1dd63353aSNuno Sá.. SPDX-License-Identifier: GPL-2.0-only 2dd63353aSNuno Sá 3dd63353aSNuno SáKernel drivers ltc4283 4dd63353aSNuno Sá========================================== 5dd63353aSNuno Sá 6dd63353aSNuno SáSupported chips: 7dd63353aSNuno Sá 8dd63353aSNuno Sá * Analog Devices LTC4283 9dd63353aSNuno Sá 10dd63353aSNuno Sá Prefix: 'ltc4283' 11dd63353aSNuno Sá 12dd63353aSNuno Sá Addresses scanned: - 13dd63353aSNuno Sá 14dd63353aSNuno Sá Datasheet: 15dd63353aSNuno Sá 16dd63353aSNuno Sá https://www.analog.com/media/en/technical-documentation/data-sheets/ltc4283.pdf 17dd63353aSNuno Sá 18dd63353aSNuno SáAuthor: Nuno Sá <nuno.sa@analog.com> 19dd63353aSNuno Sá 20dd63353aSNuno SáDescription 21dd63353aSNuno Sá___________ 22dd63353aSNuno Sá 23dd63353aSNuno SáThe LTC4283 negative voltage hot swap controller drives an external N-channel 24dd63353aSNuno SáMOSFET to allow a board to be safely inserted and removed from a live backplane. 25dd63353aSNuno SáThe device features programmable current limit with foldback and independently 26dd63353aSNuno Sáadjustable inrush current to optimize the MOSFET safe operating area (SOA). The 27dd63353aSNuno SáSOA timer limits MOSFET temperature rise for reliable protection against 28dd63353aSNuno Sáoverstresses. An I2C interface and onboard gear-shift ADC allow monitoring of 29dd63353aSNuno Sáboard current, voltage, power, energy, and fault status. Additional features 30dd63353aSNuno Sárespond to input UV/OV, interrupt the host when a fault has occurred, notify 31dd63353aSNuno Sáwhen output power is good, detect insertion of a board, turn off the MOSFET 32dd63353aSNuno Sáif an external supply monitor fails to indicate power good within a timeout 33dd63353aSNuno Sáperiod, and auto-reboot after a programmable delay following a host commanded 34dd63353aSNuno Sáturn-off. 35dd63353aSNuno Sá 36dd63353aSNuno SáSysfs entries 37dd63353aSNuno Sá_____________ 38dd63353aSNuno Sá 39dd63353aSNuno SáThe following attributes are supported. Limits are read-write and all the other 40dd63353aSNuno Sáattributes are read-only. Note that the VADIOx channels might not be available 41dd63353aSNuno Sáif the ADIO pins are used as GPIOs (naturally also affects the respective 42dd63353aSNuno Sádifferential channels). 43dd63353aSNuno Sá 44dd63353aSNuno Sá======================= ========================================== 45dd63353aSNuno Sáin0_lcrit_alarm Critical Undervoltage alarm 46dd63353aSNuno Sáin0_crit_alarm Critical Overvoltage alarm 47dd63353aSNuno Sáin0_reset_history Clears Under and Overvoltage fault logs. 48dd63353aSNuno Sáin0_label Channel label (VIN) 49dd63353aSNuno Sá 50dd63353aSNuno Sáin1_input Output voltage (mV). 51dd63353aSNuno Sáin1_min Undervoltage threshold 52dd63353aSNuno Sáin1_max Overvoltage threshold 53dd63353aSNuno Sáin1_lowest Lowest measured voltage 54dd63353aSNuno Sáin1_highest Highest measured voltage 55dd63353aSNuno Sáin1_reset_history Write 1 to reset history. 56dd63353aSNuno Sáin1_min_alarm Undervoltage alarm 57dd63353aSNuno Sáin1_max_alarm Overvoltage alarm 58dd63353aSNuno Sáin1_label Channel label (VPWR) 59dd63353aSNuno Sá 60dd63353aSNuno Sáin2_input Output voltage (mV). 61dd63353aSNuno Sáin2_min Undervoltage threshold 62dd63353aSNuno Sáin2_max Overvoltage threshold 63dd63353aSNuno Sáin2_lowest Lowest measured voltage 64dd63353aSNuno Sáin2_highest Highest measured voltage 65dd63353aSNuno Sáin2_reset_history Write 1 to reset history. 66dd63353aSNuno Sáin2_min_alarm Undervoltage alarm 67dd63353aSNuno Sáin2_max_alarm Overvoltage alarm 68dd63353aSNuno Sáin2_enable Enable/Disable monitoring. 69dd63353aSNuno Sáin2_label Channel label (VADI1) 70dd63353aSNuno Sá 71dd63353aSNuno Sáin3_input Output voltage (mV). 72dd63353aSNuno Sáin3_min Undervoltage threshold 73dd63353aSNuno Sáin3_max Overvoltage threshold 74dd63353aSNuno Sáin3_lowest Lowest measured voltage 75dd63353aSNuno Sáin3_highest Highest measured voltage 76dd63353aSNuno Sáin3_reset_history Write 1 to reset history. 77dd63353aSNuno Sáin3_min_alarm Undervoltage alarm 78dd63353aSNuno Sáin3_max_alarm Overvoltage alarm 79dd63353aSNuno Sáin3_enable Enable/Disable monitoring. 80dd63353aSNuno Sáin3_label Channel label (VADI2) 81dd63353aSNuno Sá 82dd63353aSNuno Sáin4_input Output voltage (mV). 83dd63353aSNuno Sáin4_min Undervoltage threshold 84dd63353aSNuno Sáin4_max Overvoltage threshold 85dd63353aSNuno Sáin4_lowest Lowest measured voltage 86dd63353aSNuno Sáin4_highest Highest measured voltage 87dd63353aSNuno Sáin4_reset_history Write 1 to reset history. 88dd63353aSNuno Sáin4_min_alarm Undervoltage alarm 89dd63353aSNuno Sáin4_max_alarm Overvoltage alarm 90dd63353aSNuno Sáin4_enable Enable/Disable monitoring. 91dd63353aSNuno Sáin4_label Channel label (VADI3) 92dd63353aSNuno Sá 93dd63353aSNuno Sáin5_input Output voltage (mV). 94dd63353aSNuno Sáin5_min Undervoltage threshold 95dd63353aSNuno Sáin5_max Overvoltage threshold 96dd63353aSNuno Sáin5_lowest Lowest measured voltage 97dd63353aSNuno Sáin5_highest Highest measured voltage 98dd63353aSNuno Sáin5_reset_history Write 1 to reset history. 99dd63353aSNuno Sáin5_min_alarm Undervoltage alarm 100dd63353aSNuno Sáin5_max_alarm Overvoltage alarm 101dd63353aSNuno Sáin5_enable Enable/Disable monitoring. 102dd63353aSNuno Sáin5_label Channel label (VADI4) 103dd63353aSNuno Sá 104dd63353aSNuno Sáin6_input Output voltage (mV). 105dd63353aSNuno Sáin6_min Undervoltage threshold 106dd63353aSNuno Sáin6_max Overvoltage threshold 107dd63353aSNuno Sáin6_lowest Lowest measured voltage 108dd63353aSNuno Sáin6_highest Highest measured voltage 109dd63353aSNuno Sáin6_reset_history Write 1 to reset history. 110dd63353aSNuno Sáin6_min_alarm Undervoltage alarm 111dd63353aSNuno Sáin6_max_alarm Overvoltage alarm 112dd63353aSNuno Sáin6_enable Enable/Disable monitoring. 113dd63353aSNuno Sáin6_label Channel label (VADIO1) 114dd63353aSNuno Sá 115dd63353aSNuno Sáin7_input Output voltage (mV). 116dd63353aSNuno Sáin7_min Undervoltage threshold 117dd63353aSNuno Sáin7_max Overvoltage threshold 118dd63353aSNuno Sáin7_lowest Lowest measured voltage 119dd63353aSNuno Sáin7_highest Highest measured voltage 120dd63353aSNuno Sáin7_reset_history Write 1 to reset history. 121dd63353aSNuno Sáin7_min_alarm Undervoltage alarm 122dd63353aSNuno Sáin7_max_alarm Overvoltage alarm 123dd63353aSNuno Sáin7_enable Enable/Disable monitoring. 124dd63353aSNuno Sáin7_label Channel label (VADIO2) 125dd63353aSNuno Sá 126dd63353aSNuno Sáin8_input Output voltage (mV). 127dd63353aSNuno Sáin8_min Undervoltage threshold 128dd63353aSNuno Sáin8_max Overvoltage threshold 129dd63353aSNuno Sáin8_lowest Lowest measured voltage 130dd63353aSNuno Sáin8_highest Highest measured voltage 131dd63353aSNuno Sáin8_reset_history Write 1 to reset history. 132dd63353aSNuno Sáin8_min_alarm Undervoltage alarm 133dd63353aSNuno Sáin8_max_alarm Overvoltage alarm 134dd63353aSNuno Sáin8_enable Enable/Disable monitoring. 135dd63353aSNuno Sáin8_label Channel label (VADIO3) 136dd63353aSNuno Sá 137dd63353aSNuno Sáin9_input Output voltage (mV). 138dd63353aSNuno Sáin9_min Undervoltage threshold 139dd63353aSNuno Sáin9_max Overvoltage threshold 140dd63353aSNuno Sáin9_lowest Lowest measured voltage 141dd63353aSNuno Sáin9_highest Highest measured voltage 142dd63353aSNuno Sáin9_reset_history Write 1 to reset history. 143dd63353aSNuno Sáin9_min_alarm Undervoltage alarm 144dd63353aSNuno Sáin9_max_alarm Overvoltage alarm 145dd63353aSNuno Sáin9_enable Enable/Disable monitoring. 146dd63353aSNuno Sáin9_label Channel label (VADIO4) 147dd63353aSNuno Sá 148dd63353aSNuno Sáin10_input Output voltage (mV). 149dd63353aSNuno Sáin10_min Undervoltage threshold 150dd63353aSNuno Sáin10_max Overvoltage threshold 151dd63353aSNuno Sáin10_lowest Lowest measured voltage 152dd63353aSNuno Sáin10_highest Highest measured voltage 153dd63353aSNuno Sáin10_reset_history Write 1 to reset history. 154dd63353aSNuno Sáin10_min_alarm Undervoltage alarm 155dd63353aSNuno Sáin10_max_alarm Overvoltage alarm 156dd63353aSNuno Sáin10_enable Enable/Disable monitoring. 157dd63353aSNuno Sáin10_label Channel label (DRNS) 158dd63353aSNuno Sá 159dd63353aSNuno Sáin11_input Output voltage (mV). 160dd63353aSNuno Sáin11_min Undervoltage threshold 161dd63353aSNuno Sáin11_max Overvoltage threshold 162dd63353aSNuno Sáin11_lowest Lowest measured voltage 163dd63353aSNuno Sáin11_highest Highest measured voltage 164dd63353aSNuno Sáin11_reset_history Write 1 to reset history. 165dd63353aSNuno Sá Also clears fet bad and short fault logs. 166dd63353aSNuno Sáin11_min_alarm Undervoltage alarm 167dd63353aSNuno Sáin11_max_alarm Overvoltage alarm 168dd63353aSNuno Sáin11_enable Enable/Disable monitoring 169dd63353aSNuno Sáin11_fault Failure in the MOSFET. Either bad or shorted FET. 170dd63353aSNuno Sáin11_label Channel label (DRAIN) 171dd63353aSNuno Sá 172dd63353aSNuno Sáin12_input Output voltage (mV). 173dd63353aSNuno Sáin12_min Undervoltage threshold 174dd63353aSNuno Sáin12_max Overvoltage threshold 175dd63353aSNuno Sáin12_lowest Lowest measured voltage 176dd63353aSNuno Sáin12_highest Highest measured voltage 177dd63353aSNuno Sáin12_reset_history Write 1 to reset history. 178dd63353aSNuno Sáin12_min_alarm Undervoltage alarm 179dd63353aSNuno Sáin12_max_alarm Overvoltage alarm 180dd63353aSNuno Sáin12_enable Enable/Disable monitoring. 181dd63353aSNuno Sáin12_label Channel label (ADIN2-ADIN1) 182dd63353aSNuno Sá 183dd63353aSNuno Sáin13_input Output voltage (mV). 184dd63353aSNuno Sáin13_min Undervoltage threshold 185dd63353aSNuno Sáin13_max Overvoltage threshold 186dd63353aSNuno Sáin13_lowest Lowest measured voltage 187dd63353aSNuno Sáin13_highest Highest measured voltage 188dd63353aSNuno Sáin13_reset_history Write 1 to reset history. 189dd63353aSNuno Sáin13_min_alarm Undervoltage alarm 190dd63353aSNuno Sáin13_max_alarm Overvoltage alarm 191dd63353aSNuno Sáin13_enable Enable/Disable monitoring. 192dd63353aSNuno Sáin13_label Channel label (ADIN4-ADIN3) 193dd63353aSNuno Sá 194dd63353aSNuno Sáin14_input Output voltage (mV). 195dd63353aSNuno Sáin14_min Undervoltage threshold 196dd63353aSNuno Sáin14_max Overvoltage threshold 197dd63353aSNuno Sáin14_lowest Lowest measured voltage 198dd63353aSNuno Sáin14_highest Highest measured voltage 199dd63353aSNuno Sáin14_reset_history Write 1 to reset history. 200dd63353aSNuno Sáin14_min_alarm Undervoltage alarm 201dd63353aSNuno Sáin14_max_alarm Overvoltage alarm 202dd63353aSNuno Sáin14_enable Enable/Disable monitoring. 203dd63353aSNuno Sáin14_label Channel label (ADIO2-ADIO1) 204dd63353aSNuno Sá 205dd63353aSNuno Sáin15_input Output voltage (mV). 206dd63353aSNuno Sáin15_min Undervoltage threshold 207dd63353aSNuno Sáin15_max Overvoltage threshold 208dd63353aSNuno Sáin15_lowest Lowest measured voltage 209dd63353aSNuno Sáin15_highest Highest measured voltage 210dd63353aSNuno Sáin15_reset_history Write 1 to reset history. 211dd63353aSNuno Sáin15_min_alarm Undervoltage alarm 212dd63353aSNuno Sáin15_max_alarm Overvoltage alarm 213dd63353aSNuno Sáin15_enable Enable/Disable monitoring. 214dd63353aSNuno Sáin15_label Channel label (ADIO4-ADIO3) 215dd63353aSNuno Sá 216dd63353aSNuno Sácurr1_input Sense current (mA) 217dd63353aSNuno Sácurr1_min Undercurrent threshold 218dd63353aSNuno Sácurr1_max Overcurrent threshold 219dd63353aSNuno Sácurr1_lowest Lowest measured current 220dd63353aSNuno Sácurr1_highest Highest measured current 221dd63353aSNuno Sácurr1_reset_history Write 1 to reset curr1 history. 222dd63353aSNuno Sá Also clears overcurrent fault logs. 223dd63353aSNuno Sácurr1_min_alarm Undercurrent alarm 224dd63353aSNuno Sácurr1_max_alarm Overcurrent alarm 225dd63353aSNuno Sácurr1_crit_alarm Critical Overcurrent alarm 226dd63353aSNuno Sácurr1_label Channel label (ISENSE) 227dd63353aSNuno Sá 228dd63353aSNuno Sápower1_input Power (in uW) 229dd63353aSNuno Sápower1_min Low power threshold 230dd63353aSNuno Sápower1_max High power threshold 231dd63353aSNuno Sápower1_input_lowest Historical minimum power use 232dd63353aSNuno Sápower1_input_highest Historical maximum power use 233dd63353aSNuno Sápower1_reset_history Write 1 to reset power1 history. 234dd63353aSNuno Sá Also clears power fault logs. 235dd63353aSNuno Sápower1_min_alarm Low power alarm 236dd63353aSNuno Sápower1_max_alarm High power alarm 237dd63353aSNuno Sápower1_label Channel label (Power) 238dd63353aSNuno Sá 239dd63353aSNuno Sáenergy1_input Measured energy over time (in microJoule) 240dd63353aSNuno Sáenergy1_enable Enable/Disable Energy accumulation 241dd63353aSNuno Sá======================= ========================================== 242dd63353aSNuno Sá 243dd63353aSNuno SáDebugFs entries 244dd63353aSNuno Sá_______________ 245dd63353aSNuno Sá 246dd63353aSNuno SáThe chip also has a fault log register where failures can be logged. Hence, 247dd63353aSNuno Sáas these are logging events, we give access to them in debugfs. Note that 248dd63353aSNuno Sáeven if some failure is detected in these logs, it does necessarily mean 249dd63353aSNuno Sáthat the failure is still present. As mentioned in the proper Sysfs entries, 250dd63353aSNuno Sáthese logs can be cleared by writing in the proper reset_history attribute. 251dd63353aSNuno Sá 252dd63353aSNuno Sá.. warning:: The debugfs interface is subject to change without notice 253dd63353aSNuno Sá and is only available when the kernel is compiled with 254dd63353aSNuno Sá ``CONFIG_DEBUG_FS`` defined. 255dd63353aSNuno Sá 256dd63353aSNuno Sá``/sys/kernel/debug/i2c/i2c-[X]/[X]-addr/`` 257dd63353aSNuno Sácontains the following attributes: 258dd63353aSNuno Sá 259*40ac87feSRandy Dunlap============================== ========================================================== 260dd63353aSNuno Sápower1_failed_fault_log Set to 1 by a power1 fault occurring. 261dd63353aSNuno Sápower1_good_input_fault_log Set to 1 by a power1 good input fault occurring at PGIO3. 262dd63353aSNuno Sáin11_fet_short_fault_log Set to 1 when a FET-short fault occurs. 263dd63353aSNuno Sáin11_fet_bad_fault_log Set to 1 when a FET-BAD fault occurs. 264dd63353aSNuno Sáin0_lcrit_fault_log Set to 1 by a VIN undervoltage fault occurring. 265dd63353aSNuno Sáin0_crit_fault_log Set to 1 by a VIN overvoltage fault occurring. 266dd63353aSNuno Sácurr1_crit_fault_log Set to 1 by an overcurrent fault occurring. 267*40ac87feSRandy Dunlap============================== ========================================================== 268