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

TOMOYO Linux Cross Reference
Linux/Documentation/misc-devices/max6875.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/misc-devices/max6875.rst (Version linux-6.11.5) and /Documentation/misc-devices/max6875.rst (Version linux-5.18.19)


  1 =====================                               1 =====================
  2 Kernel driver max6875                               2 Kernel driver max6875
  3 =====================                               3 =====================
  4                                                     4 
  5 Supported chips:                                    5 Supported chips:
  6                                                     6 
  7   * Maxim MAX6874, MAX6875                          7   * Maxim MAX6874, MAX6875
  8                                                     8 
  9     Prefix: 'max6875'                               9     Prefix: 'max6875'
 10                                                    10 
 11     Addresses scanned: None (see below)            11     Addresses scanned: None (see below)
 12                                                    12 
 13     Datasheet: http://pdfserv.maxim-ic.com/en/     13     Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6874-MAX6875.pdf
 14                                                    14 
 15 Author: Ben Gardner <bgardner@wabtec.com>           15 Author: Ben Gardner <bgardner@wabtec.com>
 16                                                    16 
 17                                                    17 
 18 Description                                        18 Description
 19 -----------                                        19 -----------
 20                                                    20 
 21 The Maxim MAX6875 is an EEPROM-programmable po     21 The Maxim MAX6875 is an EEPROM-programmable power-supply sequencer/supervisor.
 22 It provides timed outputs that can be used as      22 It provides timed outputs that can be used as a watchdog, if properly wired.
 23 It also provides 512 bytes of user EEPROM.         23 It also provides 512 bytes of user EEPROM.
 24                                                    24 
 25 At reset, the MAX6875 reads the configuration      25 At reset, the MAX6875 reads the configuration EEPROM into its configuration
 26 registers.  The chip then begins to operate ac     26 registers.  The chip then begins to operate according to the values in the
 27 registers.                                         27 registers.
 28                                                    28 
 29 The Maxim MAX6874 is a similar, mostly compati     29 The Maxim MAX6874 is a similar, mostly compatible device, with more inputs
 30 and outputs:                                       30 and outputs:
 31                                                    31 
 32 ===========  ===     ===    ====                   32 ===========  ===     ===    ====
 33 -            vin     gpi    vout                   33 -            vin     gpi    vout
 34 ===========  ===     ===    ====                   34 ===========  ===     ===    ====
 35 MAX6874        6       4       8                   35 MAX6874        6       4       8
 36 MAX6875        4       3       5                   36 MAX6875        4       3       5
 37 ===========  ===     ===    ====                   37 ===========  ===     ===    ====
 38                                                    38 
 39 See the datasheet for more information.            39 See the datasheet for more information.
 40                                                    40 
 41                                                    41 
 42 Sysfs entries                                      42 Sysfs entries
 43 -------------                                      43 -------------
 44                                                    44 
 45 eeprom        - 512 bytes of user-defined EEPR     45 eeprom        - 512 bytes of user-defined EEPROM space.
 46                                                    46 
 47                                                    47 
 48 General Remarks                                    48 General Remarks
 49 ---------------                                    49 ---------------
 50                                                    50 
 51 Valid addresses for the MAX6875 are 0x50 and 0     51 Valid addresses for the MAX6875 are 0x50 and 0x52.
 52                                                    52 
 53 Valid addresses for the MAX6874 are 0x50, 0x52     53 Valid addresses for the MAX6874 are 0x50, 0x52, 0x54 and 0x56.
 54                                                    54 
 55 The driver does not probe any address, so you      55 The driver does not probe any address, so you explicitly instantiate the
 56 devices.                                           56 devices.
 57                                                    57 
 58 Example::                                          58 Example::
 59                                                    59 
 60   $ modprobe max6875                               60   $ modprobe max6875
 61   $ echo max6875 0x50 > /sys/bus/i2c/devices/i     61   $ echo max6875 0x50 > /sys/bus/i2c/devices/i2c-0/new_device
 62                                                    62 
 63 The MAX6874/MAX6875 ignores address bit 0, so      63 The MAX6874/MAX6875 ignores address bit 0, so this driver attaches to multiple
 64 addresses.  For example, for address 0x50, it      64 addresses.  For example, for address 0x50, it also reserves 0x51.
 65 The even-address instance is called 'max6875',     65 The even-address instance is called 'max6875', the odd one is 'dummy'.
 66                                                    66 
 67                                                    67 
 68 Programming the chip using i2c-dev                 68 Programming the chip using i2c-dev
 69 ----------------------------------                 69 ----------------------------------
 70                                                    70 
 71 Use the i2c-dev interface to access and progra     71 Use the i2c-dev interface to access and program the chips.
 72                                                    72 
 73 Reads and writes are performed differently dep     73 Reads and writes are performed differently depending on the address range.
 74                                                    74 
 75 The configuration registers are at addresses 0     75 The configuration registers are at addresses 0x00 - 0x45.
 76                                                    76 
 77 Use i2c_smbus_write_byte_data() to write a reg     77 Use i2c_smbus_write_byte_data() to write a register and
 78 i2c_smbus_read_byte_data() to read a register.     78 i2c_smbus_read_byte_data() to read a register.
 79                                                    79 
 80 The command is the register number.                80 The command is the register number.
 81                                                    81 
 82 Examples:                                          82 Examples:
 83                                                    83 
 84 To write a 1 to register 0x45::                    84 To write a 1 to register 0x45::
 85                                                    85 
 86   i2c_smbus_write_byte_data(fd, 0x45, 1);          86   i2c_smbus_write_byte_data(fd, 0x45, 1);
 87                                                    87 
 88 To read register 0x45::                            88 To read register 0x45::
 89                                                    89 
 90   value = i2c_smbus_read_byte_data(fd, 0x45);      90   value = i2c_smbus_read_byte_data(fd, 0x45);
 91                                                    91 
 92                                                    92 
 93 The configuration EEPROM is at addresses 0x800     93 The configuration EEPROM is at addresses 0x8000 - 0x8045.
 94                                                    94 
 95 The user EEPROM is at addresses 0x8100 - 0x82f     95 The user EEPROM is at addresses 0x8100 - 0x82ff.
 96                                                    96 
 97 Use i2c_smbus_write_word_data() to write a byt     97 Use i2c_smbus_write_word_data() to write a byte to EEPROM.
 98                                                    98 
 99 The command is the upper byte of the address:      99 The command is the upper byte of the address: 0x80, 0x81, or 0x82.
100 The data word is the lower part of the address    100 The data word is the lower part of the address or'd with data << 8::
101                                                   101 
102   cmd = address >> 8;                             102   cmd = address >> 8;
103   val = (address & 0xff) | (data << 8);           103   val = (address & 0xff) | (data << 8);
104                                                   104 
105 Example:                                          105 Example:
106                                                   106 
107 To write 0x5a to address 0x8003::                 107 To write 0x5a to address 0x8003::
108                                                   108 
109   i2c_smbus_write_word_data(fd, 0x80, 0x5a03);    109   i2c_smbus_write_word_data(fd, 0x80, 0x5a03);
110                                                   110 
111                                                   111 
112 Reading data from the EEPROM is a little more     112 Reading data from the EEPROM is a little more complicated.
113                                                   113 
114 Use i2c_smbus_write_byte_data() to set the rea    114 Use i2c_smbus_write_byte_data() to set the read address and then
115 i2c_smbus_read_byte() or i2c_smbus_read_i2c_bl    115 i2c_smbus_read_byte() or i2c_smbus_read_i2c_block_data() to read the data.
116                                                   116 
117 Example:                                          117 Example:
118                                                   118 
119 To read data starting at offset 0x8100, first     119 To read data starting at offset 0x8100, first set the address::
120                                                   120 
121   i2c_smbus_write_byte_data(fd, 0x81, 0x00);      121   i2c_smbus_write_byte_data(fd, 0x81, 0x00);
122                                                   122 
123 And then read the data::                          123 And then read the data::
124                                                   124 
125   value = i2c_smbus_read_byte(fd);                125   value = i2c_smbus_read_byte(fd);
126                                                   126 
127 or::                                              127 or::
128                                                   128 
129   count = i2c_smbus_read_i2c_block_data(fd, 0x    129   count = i2c_smbus_read_i2c_block_data(fd, 0x84, 16, buffer);
130                                                   130 
131 The block read should read 16 bytes.              131 The block read should read 16 bytes.
132                                                   132 
133 0x84 is the block read command.                   133 0x84 is the block read command.
134                                                   134 
135 See the datasheet for more details.               135 See the datasheet for more details.
136                                                   136 
                                                      

~ [ 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