minix/drivers/tps65950
Lionel Sambuc c3fc9df84a Adding ipc_ prefix to ipc primitives
* Also change _orig to _intr for clarity
 * Cleaned up {IPC,KER}VEC
 * Renamed _minix_kernel_info_struct to get_minix_kerninfo
 * Merged _senda.S into _ipc.S
 * Moved into separate files get_minix_kerninfo and _do_kernel_call
 * Adapted do_kernel_call to follow same _ convention as ipc functions
 * Drop patches in libc/net/send.c and libc/include/namespace.h

Change-Id: If4ea21ecb65435170d7d87de6c826328e84c18d0
2014-03-01 09:05:01 +01:00
..
Makefile tps65950: driver for the TPS65950 PMIC 2013-08-09 12:41:43 +02:00
README.txt tps65950: driver for the TPS65950 PMIC 2013-08-09 12:41:43 +02:00
rtc.c libi2cdriver: add functions for IC register access 2013-09-18 08:10:26 -04:00
rtc.h tps65950: driver for the TPS65950 PMIC 2013-08-09 12:41:43 +02:00
tps65950.c Adding ipc_ prefix to ipc primitives 2014-03-01 09:05:01 +01:00
tps65950.h libi2cdriver: add functions for IC register access 2013-09-18 08:10:26 -04:00

TPS65950 Driver (Power Management IC)
=====================================

Overview
--------

This driver is for the power management chip commonly found on the
BeagleBoard-xM.

Limitations
-----------

The TPS65950 has a pin labelled MSECURE which provides a form of write
protection. Depending on the pin's state (high or low), writing to certain
registers is disabled or enabled. The pin is driven by a GPIO on the SoC. 
There isn't a good way to access that pin on the SoC yet, so the PMIC
is always in the default insecure mode. It isn't really insecure as this
driver is the only one that the i2c bus driver will allow to access the
PMIC.

This is a huge chip. It has two I2C controllers, one with 4 slave addresses
hosting 256 registers per address. The TRM is over 900 pages. Given the
limited usefulness of some peripherals on the chip, not everything is
implemented.

Testing the Code
----------------

Starting up an instance:

/bin/service up /usr/sbin/tps65950 -label tps65950.1.48 \
	-args 'bus=1 address=0x48'

Killing an instance:

/bin/service down tps65950.1.48