minix/drivers/tps65950
Lionel Sambuc d6626d0575 Message type for RTCDEV_*
Change-Id: Ie4257e745e1d8b6a151934949f10c7fdb1ac4778
2014-07-28 17:05:44 +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 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 Message type for RTCDEV_* 2014-07-28 17:05:44 +02: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