minix/drivers/tps65950
Lionel Sambuc fe3b8cf035 3.3.0j Squashed for testing purposes
Change-Id: Ic32d886158c29b23f322eb777894be3f9b438caf
2013-11-19 18:18:58 +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 3.3.0j Squashed for testing purposes 2013-11-19 18:18:58 +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