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) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) Kernel driver mp2975
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) ====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) Supported chips:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8)   * MPS MP12254
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10)     Prefix: 'mp2975'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) Author:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 	Vadim Pasternak <vadimp@nvidia.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) This driver implements support for Monolithic Power Systems, Inc. (MPS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) vendor dual-loop, digital, multi-phase controller MP2975.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) This device:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) - Supports up to two power rail.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) - Provides 8 pulse-width modulations (PWMs), and can be configured up
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26)   to 8-phase operation for rail 1 and up to 4-phase operation for rail
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)   2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) - Supports two pages 0 and 1 for telemetry and also pages 2 and 3 for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29)   configuration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) - Can configured VOUT readout in direct or VID format and allows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31)   setting of different formats on rails 1 and 2. For VID the following
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)   protocols are available: VR13 mode with 5-mV DAC; VR13 mode with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)   10-mV DAC, IMVP9 mode with 5-mV DAC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) Device supports:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) - SVID interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) - AVSBus interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) Device complaint with:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) - PMBus rev 1.3 interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) Device supports direct format for reading output current, output voltage,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) input and output power and temperature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) Device supports linear format for reading input voltage and input power.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) Device supports VID and direct formats for reading output voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) The below VID modes are supported: VR12, VR13, IMVP9.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) The driver provides the next attributes for the current:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) - for current in: input, maximum alarm;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) - for current out input, maximum alarm and highest values;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) - for phase current: input and label.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55)   attributes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) The driver exports the following attributes via the 'sysfs' files, where
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) - 'n' is number of telemetry pages (from 1 to 2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) - 'k' is number of configured phases (from 1 to 8);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) - indexes 1, 1*n for "iin";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) - indexes n+1, n+2 for "iout";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) - indexes 2*n+1 ... 2*n + k for phases.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) **curr[1-{2n}]_alarm**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) **curr[{n+1}-{n+2}]_highest**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) **curr[1-{2n+k}]_input**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) **curr[1-{2n+k}]_label**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) The driver provides the next attributes for the voltage:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) - for voltage in: input, high critical threshold, high critical alarm, all only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76)   from page 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) - for voltage out: input, low and high critical thresholds, low and high
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78)   critical alarms, from pages 0 and 1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) The driver exports the following attributes via the 'sysfs' files, where
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) - 'n' is number of telemetry pages (from 1 to 2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) - indexes 1 for "iin";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) - indexes n+1, n+2 for "vout";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) **in[1-{2n+1}]_crit**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) **in[1-{2n+1}]_crit_alarm**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) **in[1-{2n+1}]_input**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) **in[1-{2n+1}]_label**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) **in[2-{n+1}]_lcrit**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) **in[2-{n+1}1_lcrit_alarm**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) The driver provides the next attributes for the power:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) - for power in alarm and input.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) - for power out: highest and input.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) The driver exports the following attributes via the 'sysfs' files, where
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) - 'n' is number of telemetry pages (from 1 to 2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) - indexes 1 for "pin";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) - indexes n+1, n+2 for "pout";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) **power1_alarm**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) **power[2-{n+1}]_highest**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) **power[1-{2n+1}]_input**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) **power[1-{2n+1}]_label**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) The driver provides the next attributes for the temperature (only from page 0):
^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) **temp1_crit**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) **temp1_crit_alarm**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) **temp1_input**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) **temp1_max**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) **temp1_max_alarm**