Madhusudhan Chikkature | e0a2938 | 2008-11-12 13:27:12 -0800 | [diff] [blame] | 1 | Kernel driver for omap HDQ/1-wire module. |
| 2 | ======================================== |
| 3 | |
| 4 | Supported chips: |
| 5 | ================ |
| 6 | HDQ/1-wire controller on the TI OMAP 2430/3430 platforms. |
| 7 | |
| 8 | A useful link about HDQ basics: |
| 9 | =============================== |
Justin P. Mattock | 0ea6e61 | 2010-07-23 20:51:24 -0700 | [diff] [blame] | 10 | http://focus.ti.com/lit/an/slua408a/slua408a.pdf |
Madhusudhan Chikkature | e0a2938 | 2008-11-12 13:27:12 -0800 | [diff] [blame] | 11 | |
| 12 | Description: |
| 13 | ============ |
| 14 | The HDQ/1-Wire module of TI OMAP2430/3430 platforms implement the hardware |
| 15 | protocol of the master functions of the Benchmark HDQ and the Dallas |
| 16 | Semiconductor 1-Wire protocols. These protocols use a single wire for |
| 17 | communication between the master (HDQ/1-Wire controller) and the slave |
| 18 | (HDQ/1-Wire external compliant device). |
| 19 | |
| 20 | A typical application of the HDQ/1-Wire module is the communication with battery |
| 21 | monitor (gas gauge) integrated circuits. |
| 22 | |
| 23 | The controller supports operation in both HDQ and 1-wire mode. The essential |
| 24 | difference between the HDQ and 1-wire mode is how the slave device responds to |
| 25 | initialization pulse.In HDQ mode, the firmware does not require the host to |
| 26 | create an initialization pulse to the slave.However, the slave can be reset by |
| 27 | using an initialization pulse (also referred to as a break pulse).The slave |
| 28 | does not respond with a presence pulse as it does in the 1-Wire protocol. |
| 29 | |
| 30 | Remarks: |
| 31 | ======== |
| 32 | The driver (drivers/w1/masters/omap_hdq.c) supports the HDQ mode of the |
| 33 | controller. In this mode, as we can not read the ID which obeys the W1 |
| 34 | spec(family:id:crc), a module parameter can be passed to the driver which will |
| 35 | be used to calculate the CRC and pass back an appropriate slave ID to the W1 |
| 36 | core. |
| 37 | |
| 38 | By default the master driver and the BQ slave i/f |
| 39 | driver(drivers/w1/slaves/w1_bq27000.c) sets the ID to 1. |
| 40 | Please note to load both the modules with a different ID if required, but note |
| 41 | that the ID used should be same for both master and slave driver loading. |
| 42 | |
| 43 | e.g: |
| 44 | insmod omap_hdq.ko W1_ID=2 |
| 45 | inamod w1_bq27000.ko F_ID=2 |
| 46 | |