Commit 9b5db89e authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Greg Kroah-Hartman

docs: misc-devices: convert files without extension to ReST

Those files are also text files. Convert them to ReST and add
to the misc-files index.rst.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Link: https://lore.kernel.org/r/b7dc829809673bd8cffe0e7bbe9c9308681c6fe2.1561756511.git.mchehab+samsung@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 69416739
====================
Kernel driver eeprom Kernel driver eeprom
==================== ====================
Supported chips: Supported chips:
* Any EEPROM chip in the designated address range * Any EEPROM chip in the designated address range
Prefix: 'eeprom' Prefix: 'eeprom'
Addresses scanned: I2C 0x50 - 0x57 Addresses scanned: I2C 0x50 - 0x57
Datasheets: Publicly available from: Datasheets: Publicly available from:
Atmel (www.atmel.com), Atmel (www.atmel.com),
Catalyst (www.catsemi.com), Catalyst (www.catsemi.com),
Fairchild (www.fairchildsemi.com), Fairchild (www.fairchildsemi.com),
...@@ -16,7 +22,9 @@ Supported chips: ...@@ -16,7 +22,9 @@ Supported chips:
Xicor (www.xicor.com), Xicor (www.xicor.com),
and others. and others.
========= ============= ============================================
Chip Size (bits) Address Chip Size (bits) Address
========= ============= ============================================
24C01 1K 0x50 (shadows at 0x51 - 0x57) 24C01 1K 0x50 (shadows at 0x51 - 0x57)
24C01A 1K 0x50 - 0x57 (Typical device on DIMMs) 24C01A 1K 0x50 - 0x57 (Typical device on DIMMs)
24C02 2K 0x50 - 0x57 24C02 2K 0x50 - 0x57
...@@ -33,14 +41,15 @@ Supported chips: ...@@ -33,14 +41,15 @@ Supported chips:
Fairchild 34W02 2K 0x50 - 0x57, SW write protect at 0x30-37 Fairchild 34W02 2K 0x50 - 0x57, SW write protect at 0x30-37
Microchip 24AA52 2K 0x50 - 0x57, SW write protect at 0x30-37 Microchip 24AA52 2K 0x50 - 0x57, SW write protect at 0x30-37
ST M34C02 2K 0x50 - 0x57, SW write protect at 0x30-37 ST M34C02 2K 0x50 - 0x57, SW write protect at 0x30-37
========= ============= ============================================
Authors: Authors:
Frodo Looijaard <frodol@dds.nl>, - Frodo Looijaard <frodol@dds.nl>,
Philip Edelbrock <phil@netroedge.com>, - Philip Edelbrock <phil@netroedge.com>,
Jean Delvare <jdelvare@suse.de>, - Jean Delvare <jdelvare@suse.de>,
Greg Kroah-Hartman <greg@kroah.com>, - Greg Kroah-Hartman <greg@kroah.com>,
IBM Corp. - IBM Corp.
Description Description
----------- -----------
...@@ -74,23 +83,25 @@ this address will write protect the memory array permanently, and the ...@@ -74,23 +83,25 @@ this address will write protect the memory array permanently, and the
device will no longer respond at the 0x30-37 address. The eeprom driver device will no longer respond at the 0x30-37 address. The eeprom driver
does not support this register. does not support this register.
Lacking functionality: Lacking functionality
---------------------
* Full support for larger devices (24C04, 24C08, 24C16). These are not * Full support for larger devices (24C04, 24C08, 24C16). These are not
typically found on a PC. These devices will appear as separate devices at typically found on a PC. These devices will appear as separate devices at
multiple addresses. multiple addresses.
* Support for really large devices (24C32, 24C64, 24C128, 24C256, 24C512). * Support for really large devices (24C32, 24C64, 24C128, 24C256, 24C512).
These devices require two-byte address fields and are not supported. These devices require two-byte address fields and are not supported.
* Enable Writing. Again, no technical reason why not, but making it easy * Enable Writing. Again, no technical reason why not, but making it easy
to change the contents of the EEPROMs (on DIMMs anyway) also makes it easy to change the contents of the EEPROMs (on DIMMs anyway) also makes it easy
to disable the DIMMs (potentially preventing the computer from booting) to disable the DIMMs (potentially preventing the computer from booting)
until the values are restored somehow. until the values are restored somehow.
Use: Use
---
After inserting the module (and any other required SMBus/i2c modules), you After inserting the module (and any other required SMBus/i2c modules), you
should have some EEPROM directories in /sys/bus/i2c/devices/* of names such should have some EEPROM directories in ``/sys/bus/i2c/devices/*`` of names such
as "0-0050". Inside each of these is a series of files, the eeprom file as "0-0050". Inside each of these is a series of files, the eeprom file
contains the binary data from EEPROM. contains the binary data from EEPROM.
========================
Kernel driver ics932s401 Kernel driver ics932s401
====================== ========================
Supported chips: Supported chips:
* IDT ICS932S401 * IDT ICS932S401
Prefix: 'ics932s401' Prefix: 'ics932s401'
Addresses scanned: I2C 0x69 Addresses scanned: I2C 0x69
Datasheet: Publicly available at the IDT website Datasheet: Publicly available at the IDT website
Author: Darrick J. Wong Author: Darrick J. Wong
......
...@@ -14,4 +14,9 @@ fit into other categories. ...@@ -14,4 +14,9 @@ fit into other categories.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
eeprom
ibmvmc ibmvmc
ics932s401
isl29003
lis3lv02d
max6875
======================
Kernel driver isl29003 Kernel driver isl29003
===================== ======================
Supported chips: Supported chips:
* Intersil ISL29003 * Intersil ISL29003
Prefix: 'isl29003' Prefix: 'isl29003'
Addresses scanned: none Addresses scanned: none
Datasheet: Datasheet:
http://www.intersil.com/data/fn/fn7464.pdf http://www.intersil.com/data/fn/fn7464.pdf
...@@ -37,25 +42,33 @@ Sysfs entries ...@@ -37,25 +42,33 @@ Sysfs entries
------------- -------------
range: range:
== ===========================
0: 0 lux to 1000 lux (default) 0: 0 lux to 1000 lux (default)
1: 0 lux to 4000 lux 1: 0 lux to 4000 lux
2: 0 lux to 16,000 lux 2: 0 lux to 16,000 lux
3: 0 lux to 64,000 lux 3: 0 lux to 64,000 lux
== ===========================
resolution: resolution:
== =====================
0: 2^16 cycles (default) 0: 2^16 cycles (default)
1: 2^12 cycles 1: 2^12 cycles
2: 2^8 cycles 2: 2^8 cycles
3: 2^4 cycles 3: 2^4 cycles
== =====================
mode: mode:
== =================================================
0: diode1's current (unsigned 16bit) (default) 0: diode1's current (unsigned 16bit) (default)
1: diode1's current (unsigned 16bit) 1: diode1's current (unsigned 16bit)
2: difference between diodes (l1 - l2, signed 15bit) 2: difference between diodes (l1 - l2, signed 15bit)
== =================================================
power_state: power_state:
== =================================================
0: device is disabled (default) 0: device is disabled (default)
1: device is enabled 1: device is enabled
== =================================================
lux (read only): lux (read only):
returns the value from the last sensor reading returns the value from the last sensor reading
......
=======================
Kernel driver lis3lv02d Kernel driver lis3lv02d
======================= =======================
...@@ -8,8 +9,8 @@ Supported chips: ...@@ -8,8 +9,8 @@ Supported chips:
LIS331DLH (16 bits) LIS331DLH (16 bits)
Authors: Authors:
Yan Burman <burman.yan@gmail.com> - Yan Burman <burman.yan@gmail.com>
Eric Piel <eric.piel@tremplin-utc.net> - Eric Piel <eric.piel@tremplin-utc.net>
Description Description
...@@ -25,11 +26,15 @@ neverball). The accelerometer data is readable via ...@@ -25,11 +26,15 @@ neverball). The accelerometer data is readable via
to mg values (1/1000th of earth gravity). to mg values (1/1000th of earth gravity).
Sysfs attributes under /sys/devices/platform/lis3lv02d/: Sysfs attributes under /sys/devices/platform/lis3lv02d/:
position - 3D position that the accelerometer reports. Format: "(x,y,z)"
rate - read reports the sampling rate of the accelerometer device in HZ. position
- 3D position that the accelerometer reports. Format: "(x,y,z)"
rate
- read reports the sampling rate of the accelerometer device in HZ.
write changes sampling rate of the accelerometer device. write changes sampling rate of the accelerometer device.
Only values which are supported by HW are accepted. Only values which are supported by HW are accepted.
selftest - performs selftest for the chip as specified by chip manufacturer. selftest
- performs selftest for the chip as specified by chip manufacturer.
This driver also provides an absolute input class device, allowing This driver also provides an absolute input class device, allowing
the laptop to act as a pinball machine-esque joystick. Joystick device can be the laptop to act as a pinball machine-esque joystick. Joystick device can be
...@@ -69,6 +74,7 @@ Axes orientation ...@@ -69,6 +74,7 @@ Axes orientation
For better compatibility between the various laptops. The values reported by For better compatibility between the various laptops. The values reported by
the accelerometer are converted into a "standard" organisation of the axes the accelerometer are converted into a "standard" organisation of the axes
(aka "can play neverball out of the box"): (aka "can play neverball out of the box"):
* When the laptop is horizontal the position reported is about 0 for X and Y * When the laptop is horizontal the position reported is about 0 for X and Y
and a positive value for Z and a positive value for Z
* If the left side is elevated, X increases (becomes positive) * If the left side is elevated, X increases (becomes positive)
......
=====================
Kernel driver max6875 Kernel driver max6875
===================== =====================
Supported chips: Supported chips:
* Maxim MAX6874, MAX6875 * Maxim MAX6874, MAX6875
Prefix: 'max6875' Prefix: 'max6875'
Addresses scanned: None (see below) Addresses scanned: None (see below)
Datasheet:
http://pdfserv.maxim-ic.com/en/ds/MAX6874-MAX6875.pdf Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6874-MAX6875.pdf
Author: Ben Gardner <bgardner@wabtec.com> Author: Ben Gardner <bgardner@wabtec.com>
...@@ -24,9 +28,13 @@ registers. ...@@ -24,9 +28,13 @@ registers.
The Maxim MAX6874 is a similar, mostly compatible device, with more inputs The Maxim MAX6874 is a similar, mostly compatible device, with more inputs
and outputs: and outputs:
vin gpi vout
=========== === === ====
- vin gpi vout
=========== === === ====
MAX6874 6 4 8 MAX6874 6 4 8
MAX6875 4 3 5 MAX6875 4 3 5
=========== === === ====
See the datasheet for more information. See the datasheet for more information.
...@@ -41,13 +49,16 @@ General Remarks ...@@ -41,13 +49,16 @@ General Remarks
--------------- ---------------
Valid addresses for the MAX6875 are 0x50 and 0x52. Valid addresses for the MAX6875 are 0x50 and 0x52.
Valid addresses for the MAX6874 are 0x50, 0x52, 0x54 and 0x56. Valid addresses for the MAX6874 are 0x50, 0x52, 0x54 and 0x56.
The driver does not probe any address, so you explicitly instantiate the The driver does not probe any address, so you explicitly instantiate the
devices. devices.
Example: Example::
$ modprobe max6875
$ echo max6875 0x50 > /sys/bus/i2c/devices/i2c-0/new_device $ modprobe max6875
$ echo max6875 0x50 > /sys/bus/i2c/devices/i2c-0/new_device
The MAX6874/MAX6875 ignores address bit 0, so this driver attaches to multiple The MAX6874/MAX6875 ignores address bit 0, so this driver attaches to multiple
addresses. For example, for address 0x50, it also reserves 0x51. addresses. For example, for address 0x50, it also reserves 0x51.
...@@ -58,52 +69,67 @@ Programming the chip using i2c-dev ...@@ -58,52 +69,67 @@ Programming the chip using i2c-dev
---------------------------------- ----------------------------------
Use the i2c-dev interface to access and program the chips. Use the i2c-dev interface to access and program the chips.
Reads and writes are performed differently depending on the address range. Reads and writes are performed differently depending on the address range.
The configuration registers are at addresses 0x00 - 0x45. The configuration registers are at addresses 0x00 - 0x45.
Use i2c_smbus_write_byte_data() to write a register and Use i2c_smbus_write_byte_data() to write a register and
i2c_smbus_read_byte_data() to read a register. i2c_smbus_read_byte_data() to read a register.
The command is the register number. The command is the register number.
Examples: Examples:
To write a 1 to register 0x45:
To write a 1 to register 0x45::
i2c_smbus_write_byte_data(fd, 0x45, 1); i2c_smbus_write_byte_data(fd, 0x45, 1);
To read register 0x45: To read register 0x45::
value = i2c_smbus_read_byte_data(fd, 0x45); value = i2c_smbus_read_byte_data(fd, 0x45);
The configuration EEPROM is at addresses 0x8000 - 0x8045. The configuration EEPROM is at addresses 0x8000 - 0x8045.
The user EEPROM is at addresses 0x8100 - 0x82ff. The user EEPROM is at addresses 0x8100 - 0x82ff.
Use i2c_smbus_write_word_data() to write a byte to EEPROM. Use i2c_smbus_write_word_data() to write a byte to EEPROM.
The command is the upper byte of the address: 0x80, 0x81, or 0x82. The command is the upper byte of the address: 0x80, 0x81, or 0x82.
The data word is the lower part of the address or'd with data << 8. The data word is the lower part of the address or'd with data << 8::
cmd = address >> 8; cmd = address >> 8;
val = (address & 0xff) | (data << 8); val = (address & 0xff) | (data << 8);
Example: Example:
To write 0x5a to address 0x8003:
To write 0x5a to address 0x8003::
i2c_smbus_write_word_data(fd, 0x80, 0x5a03); i2c_smbus_write_word_data(fd, 0x80, 0x5a03);
Reading data from the EEPROM is a little more complicated. Reading data from the EEPROM is a little more complicated.
Use i2c_smbus_write_byte_data() to set the read address and then Use i2c_smbus_write_byte_data() to set the read address and then
i2c_smbus_read_byte() or i2c_smbus_read_i2c_block_data() to read the data. i2c_smbus_read_byte() or i2c_smbus_read_i2c_block_data() to read the data.
Example: Example:
To read data starting at offset 0x8100, first set the address:
To read data starting at offset 0x8100, first set the address::
i2c_smbus_write_byte_data(fd, 0x81, 0x00); i2c_smbus_write_byte_data(fd, 0x81, 0x00);
And then read the data And then read the data::
value = i2c_smbus_read_byte(fd); value = i2c_smbus_read_byte(fd);
or or::
count = i2c_smbus_read_i2c_block_data(fd, 0x84, 16, buffer); count = i2c_smbus_read_i2c_block_data(fd, 0x84, 16, buffer);
The block read should read 16 bytes. The block read should read 16 bytes.
0x84 is the block read command. 0x84 is the block read command.
See the datasheet for more details. See the datasheet for more details.
......
...@@ -8871,7 +8871,7 @@ F: include/linux/leds.h ...@@ -8871,7 +8871,7 @@ F: include/linux/leds.h
LEGACY EEPROM DRIVER LEGACY EEPROM DRIVER
M: Jean Delvare <jdelvare@suse.com> M: Jean Delvare <jdelvare@suse.com>
S: Maintained S: Maintained
F: Documentation/misc-devices/eeprom F: Documentation/misc-devices/eeprom.rst
F: drivers/misc/eeprom/eeprom.c F: drivers/misc/eeprom/eeprom.c
LEGO MINDSTORMS EV3 LEGO MINDSTORMS EV3
...@@ -9157,7 +9157,7 @@ F: Documentation/memory-barriers.txt ...@@ -9157,7 +9157,7 @@ F: Documentation/memory-barriers.txt
LIS3LV02D ACCELEROMETER DRIVER LIS3LV02D ACCELEROMETER DRIVER
M: Eric Piel <eric.piel@tremplin-utc.net> M: Eric Piel <eric.piel@tremplin-utc.net>
S: Maintained S: Maintained
F: Documentation/misc-devices/lis3lv02d F: Documentation/misc-devices/lis3lv02d.rst
F: drivers/misc/lis3lv02d/ F: drivers/misc/lis3lv02d/
F: drivers/platform/x86/hp_accel.c F: drivers/platform/x86/hp_accel.c
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* isl29003.c - Linux kernel module for * isl29003.c - Linux kernel module for
* Intersil ISL29003 ambient light sensor * Intersil ISL29003 ambient light sensor
* *
* See file:Documentation/misc-devices/isl29003 * See file:Documentation/misc-devices/isl29003.rst
* *
* Copyright (c) 2009 Daniel Mack <daniel@caiaq.de> * Copyright (c) 2009 Daniel Mack <daniel@caiaq.de>
* *
......
...@@ -341,7 +341,7 @@ config HP_ACCEL ...@@ -341,7 +341,7 @@ config HP_ACCEL
Support for a led indicating disk protection will be provided as Support for a led indicating disk protection will be provided as
hp::hddprotect. For more information on the feature, refer to hp::hddprotect. For more information on the feature, refer to
Documentation/misc-devices/lis3lv02d. Documentation/misc-devices/lis3lv02d.rst.
To compile this driver as a module, choose M here: the module will To compile this driver as a module, choose M here: the module will
be called hp_accel. be called hp_accel.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment