minix/drivers/tps65950
Thomas Cort bab2a34e1b tps65950: driver for the TPS65950 PMIC
Change-Id: I6b6163e59233d1f823f03550b949d53e1738a7f4
2013-08-09 12:41:43 +02: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 tps65950: driver for the TPS65950 PMIC 2013-08-09 12:41:43 +02:00
rtc.h tps65950: driver for the TPS65950 PMIC 2013-08-09 12:41:43 +02:00
tps65950.c tps65950: driver for the TPS65950 PMIC 2013-08-09 12:41:43 +02:00
tps65950.h tps65950: driver for the TPS65950 PMIC 2013-08-09 12:41:43 +02: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