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

TOMOYO Linux Cross Reference
Linux/Documentation/i2c/busses/i2c-mlxcpld.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 ==================
  2 Driver i2c-mlxcpld
  3 ==================
  4 
  5 Author: Michael Shych <michaelsh@mellanox.com>
  6 
  7 This is the Mellanox I2C controller logic, implemented in Lattice CPLD
  8 device.
  9 
 10 Device supports:
 11  - Master mode.
 12  - One physical bus.
 13  - Polling mode.
 14 
 15 This controller is equipped within the next Mellanox systems:
 16 "msx6710", "msx6720", "msb7700", "msn2700", "msx1410", "msn2410", "msb7800",
 17 "msn2740", "msn2100".
 18 
 19 The next transaction types are supported:
 20  - Receive Byte/Block.
 21  - Send Byte/Block.
 22  - Read Byte/Block.
 23  - Write Byte/Block.
 24 
 25 Registers:
 26 
 27 =============== === =======================================================================
 28 CPBLTY          0x0 - capability reg.
 29                         Bits [6:5] - transaction length. b01 - 72B is supported,
 30                         36B in other case.
 31                         Bit 7 - SMBus block read support.
 32 CTRL            0x1 - control reg.
 33                         Resets all the registers.
 34 HALF_CYC        0x4 - cycle reg.
 35                         Configure the width of I2C SCL half clock cycle (in 4 LPC_CLK
 36                         units).
 37 I2C_HOLD        0x5 - hold reg.
 38                         OE (output enable) is delayed by value set to this register
 39                         (in LPC_CLK units)
 40 CMD                     0x6 - command reg.
 41                         Bit 0, 0 = write, 1 = read.
 42                         Bits [7:1] - the 7bit Address of the I2C device.
 43                         It should be written last as it triggers an I2C transaction.
 44 NUM_DATA        0x7 - data size reg.
 45                         Number of data bytes to write in read transaction
 46 NUM_ADDR        0x8 - address reg.
 47                         Number of address bytes to write in read transaction.
 48 STATUS          0x9 - status reg.
 49                         Bit 0 - transaction is completed.
 50                         Bit 4 - ACK/NACK.
 51 DATAx           0xa - 0x54  - 68 bytes data buffer regs.
 52                         For write transaction address is specified in four first bytes
 53                         (DATA1 - DATA4), data starting from DATA4.
 54                         For read transactions address is sent in a separate transaction and
 55                         specified in the four first bytes (DATA0 - DATA3). Data is read
 56                         starting from DATA0.
 57 =============== === =======================================================================

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