Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) Kernel driver zl6100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) ====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) Supported chips:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6)   * Intersil / Zilker Labs ZL2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8)     Prefix: 'zl2004'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12)     Datasheet: http://www.intersil.com/data/fn/fn6847.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14)   * Intersil / Zilker Labs ZL2005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16)     Prefix: 'zl2005'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)     Datasheet: http://www.intersil.com/data/fn/fn6848.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)   * Intersil / Zilker Labs ZL2006
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24)     Prefix: 'zl2006'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28)     Datasheet: http://www.intersil.com/data/fn/fn6850.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30)   * Intersil / Zilker Labs ZL2008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)     Prefix: 'zl2008'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36)     Datasheet: http://www.intersil.com/data/fn/fn6859.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)   * Intersil / Zilker Labs ZL2105
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40)     Prefix: 'zl2105'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44)     Datasheet: http://www.intersil.com/data/fn/fn6851.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46)   * Intersil / Zilker Labs ZL2106
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48)     Prefix: 'zl2106'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52)     Datasheet: http://www.intersil.com/data/fn/fn6852.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54)   * Intersil / Zilker Labs ZL6100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56)     Prefix: 'zl6100'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60)     Datasheet: http://www.intersil.com/data/fn/fn6876.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62)   * Intersil / Zilker Labs ZL6105
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64)     Prefix: 'zl6105'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68)     Datasheet: http://www.intersil.com/data/fn/fn6906.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70)   * Intersil / Zilker Labs ZL9101M
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72)     Prefix: 'zl9101'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76)     Datasheet: http://www.intersil.com/data/fn/fn7669.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78)   * Intersil / Zilker Labs ZL9117M
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80)     Prefix: 'zl9117'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84)     Datasheet: http://www.intersil.com/data/fn/fn7914.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86)   * Ericsson BMR450, BMR451
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88)     Prefix: 'bmr450', 'bmr451'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92)     Datasheet:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146401
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)   * Ericsson BMR462, BMR463, BMR464
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98)     Prefixes: 'bmr462', 'bmr463', 'bmr464'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)     Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)     Datasheet:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146256
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) Author: Guenter Roeck <linux@roeck-us.net>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) This driver supports hardware monitoring for Intersil / Zilker Labs ZL6100 and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) compatible digital DC-DC controllers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) The driver is a client driver to the core PMBus driver. Please see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) Documentation/hwmon/pmbus.rst and Documentation.hwmon/pmbus-core for details
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) on PMBus client drivers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) Usage Notes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) This driver does not auto-detect devices. You will have to instantiate the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) devices explicitly. Please see Documentation/i2c/instantiating-devices.rst for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) .. warning::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)   Do not access chip registers using the i2cdump command, and do not use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)   any of the i2ctools commands on a command register used to save and restore
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)   configuration data (0x11, 0x12, 0x15, 0x16, and 0xf4). The chips supported by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)   this driver interpret any access to those command registers (including read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)   commands) as request to execute the command in question. Unless write accesses
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)   to those registers are protected, this may result in power loss, board resets,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)   and/or Flash corruption. Worst case, your board may turn into a brick.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) Platform data support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) ---------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) The driver supports standard PMBus driver platform data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) Module parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) -----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) delay
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) -----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) Intersil/Zilker Labs DC-DC controllers require a minimum interval between I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) bus accesses. According to Intersil, the minimum interval is 2 ms, though 1 ms
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) appears to be sufficient and has not caused any problems in testing. The problem
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) is known to affect all currently supported chips. For manual override, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) driver provides a writeable module parameter, 'delay', which can be used to set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) the interval to a value between 0 and 65,535 microseconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) Sysfs entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) -------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) The following attributes are supported. Limits are read-write; all other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) attributes are read-only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) ======================= ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) in1_label		"vin"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) in1_input		Measured input voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) in1_min			Minimum input voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) in1_max			Maximum input voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) in1_lcrit		Critical minimum input voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) in1_crit		Critical maximum input voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) in1_min_alarm		Input voltage low alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) in1_max_alarm		Input voltage high alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) in1_lcrit_alarm		Input voltage critical low alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) in1_crit_alarm		Input voltage critical high alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) in2_label		"vmon"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) in2_input		Measured voltage on VMON (ZL2004) or VDRV (ZL9101M,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 			ZL9117M) pin. Reported voltage is 16x the voltage on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 			pin (adjusted internally by the chip).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) in2_lcrit		Critical minimum VMON/VDRV Voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) in2_crit		Critical maximum VMON/VDRV voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) in2_lcrit_alarm		VMON/VDRV voltage critical low alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) in2_crit_alarm		VMON/VDRV voltage critical high alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 			vmon attributes are supported on ZL2004, ZL9101M,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 			and ZL9117M only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) inX_label		"vout1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) inX_input		Measured output voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) inX_lcrit		Critical minimum output Voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) inX_crit		Critical maximum output voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) inX_lcrit_alarm		Critical output voltage critical low alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) inX_crit_alarm		Critical output voltage critical high alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 			X is 3 for ZL2004, ZL9101M, and ZL9117M, 2 otherwise.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) curr1_label		"iout1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) curr1_input		Measured output current.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) curr1_lcrit		Critical minimum output current.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) curr1_crit		Critical maximum output current.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) curr1_lcrit_alarm	Output current critical low alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) curr1_crit_alarm	Output current critical high alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) temp[12]_input		Measured temperature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) temp[12]_min		Minimum temperature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) temp[12]_max		Maximum temperature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) temp[12]_lcrit		Critical low temperature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) temp[12]_crit		Critical high temperature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) temp[12]_min_alarm	Chip temperature low alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) temp[12]_max_alarm	Chip temperature high alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) temp[12]_lcrit_alarm	Chip temperature critical low alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) temp[12]_crit_alarm	Chip temperature critical high alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) ======================= ========================================================