~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/hwmon/bt1-pvt.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0-only
  2 
  3 Kernel driver bt1-pvt
  4 =====================
  5 
  6 Supported chips:
  7 
  8   * Baikal-T1 PVT sensor (in SoC)
  9 
 10     Prefix: 'bt1-pvt'
 11 
 12     Addresses scanned: -
 13 
 14     Datasheet: Provided by BAIKAL ELECTRONICS upon request and under NDA
 15 
 16 Authors:
 17     Maxim Kaurkin <maxim.kaurkin@baikalelectronics.ru>
 18     Serge Semin <Sergey.Semin@baikalelectronics.ru>
 19 
 20 Description
 21 -----------
 22 
 23 This driver implements support for the hardware monitoring capabilities of the
 24 embedded into Baikal-T1 process, voltage and temperature sensors. PVT IP-core
 25 consists of one temperature and four voltage sensors, which can be used to
 26 monitor the chip internal environment like heating, supply voltage and
 27 transistors performance. The driver can optionally provide the hwmon alarms
 28 for each sensor the PVT controller supports. The alarms functionality is made
 29 compile-time configurable due to the hardware interface implementation
 30 peculiarity, which is connected with an ability to convert data from only one
 31 sensor at a time. Additional limitation is that the controller performs the
 32 thresholds checking synchronously with the data conversion procedure. Due to
 33 these in order to have the hwmon alarms automatically detected the driver code
 34 must switch from one sensor to another, read converted data and manually check
 35 the threshold status bits. Depending on the measurements timeout settings
 36 (update_interval sysfs node value) this design may cause additional burden on
 37 the system performance. So in case if alarms are unnecessary in your system
 38 design it's recommended to have them disabled to prevent the PVT IRQs being
 39 periodically raised to get the data cache/alarms status up to date. By default
 40 in alarm-less configuration the data conversion is performed by the driver
 41 on demand when read operation is requested via corresponding _input-file.
 42 
 43 Temperature Monitoring
 44 ----------------------
 45 
 46 Temperature is measured with 10-bit resolution and reported in millidegree
 47 Celsius. The driver performs all the scaling by itself therefore reports true
 48 temperatures that don't need any user-space adjustments. While the data
 49 translation formulae isn't linear, which gives us non-linear discreteness,
 50 it's close to one, but giving a bit better accuracy for higher temperatures.
 51 The temperature input is mapped as follows (the last column indicates the input
 52 ranges)::
 53 
 54         temp1: CPU embedded diode       -48.38C - +147.438C
 55 
 56 In case if the alarms kernel config is enabled in the driver the temperature input
 57 has associated min and max limits which trigger an alarm when crossed.
 58 
 59 Voltage Monitoring
 60 ------------------
 61 
 62 The voltage inputs are also sampled with 10-bit resolution and reported in
 63 millivolts. But in this case the data translation formulae is linear, which
 64 provides a constant measurements discreteness. The data scaling is also
 65 performed by the driver, so returning true millivolts. The voltage inputs are
 66 mapped as follows (the last column indicates the input ranges)::
 67 
 68         in0: VDD                (processor core)                0.62V - 1.168V
 69         in1: Low-Vt             (low voltage threshold)         0.62V - 1.168V
 70         in2: High-Vt            (high voltage threshold)        0.62V - 1.168V
 71         in3: Standard-Vt        (standard voltage threshold)    0.62V - 1.168V
 72 
 73 In case if the alarms config is enabled in the driver the voltage inputs
 74 have associated min and max limits which trigger an alarm when crossed.
 75 
 76 Sysfs Attributes
 77 ----------------
 78 
 79 Following is a list of all sysfs attributes that the driver provides, their
 80 permissions and a short description:
 81 
 82 =============================== ======= =======================================
 83 Name                            Perm    Description
 84 =============================== ======= =======================================
 85 update_interval                 RW      Measurements update interval per
 86                                         sensor.
 87 temp1_type                      RO      Sensor type (always 1 as CPU embedded
 88                                         diode).
 89 temp1_label                     RO      CPU Core Temperature sensor.
 90 temp1_input                     RO      Measured temperature in millidegree
 91                                         Celsius.
 92 temp1_min                       RW      Low limit for temp input.
 93 temp1_max                       RW      High limit for temp input.
 94 temp1_min_alarm                 RO      Temperature input alarm. Returns 1 if
 95                                         temperature input went below min limit,
 96                                         0 otherwise.
 97 temp1_max_alarm                 RO      Temperature input alarm. Returns 1 if
 98                                         temperature input went above max limit,
 99                                         0 otherwise.
100 temp1_offset                    RW      Temperature offset in millidegree
101                                         Celsius which is added to the
102                                         temperature reading by the chip. It can
103                                         be used to manually adjust the
104                                         temperature measurements within 7.130
105                                         degrees Celsius.
106 in[0-3]_label                   RO      CPU Voltage sensor (either core or
107                                         low/high/standard thresholds).
108 in[0-3]_input                   RO      Measured voltage in millivolts.
109 in[0-3]_min                     RW      Low limit for voltage input.
110 in[0-3]_max                     RW      High limit for voltage input.
111 in[0-3]_min_alarm               RO      Voltage input alarm. Returns 1 if
112                                         voltage input went below min limit,
113                                         0 otherwise.
114 in[0-3]_max_alarm               RO      Voltage input alarm. Returns 1 if
115                                         voltage input went above max limit,
116                                         0 otherwise.
117 =============================== ======= =======================================

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php