sandbox: add: sandbox PMIC device drivers: I2C emul, pmic, regulator
authorPrzemyslaw Marczak <p.marczak@samsung.com>
Wed, 13 May 2015 11:38:32 +0000 (13:38 +0200)
committerSimon Glass <sjg@chromium.org>
Fri, 15 May 2015 01:58:34 +0000 (19:58 -0600)
commit5d387d0df9816cdf05d7bce3b7379057068a7e58
treefdb07e7f1beb9cc1afe1b1653298f33b4d57eb3c
parenta989ec8dd4bb548708220146391d5ed7b575331f
sandbox: add: sandbox PMIC device drivers: I2C emul, pmic, regulator

This commit adds emulation of sandbox PMIC device, which includes:
- PMIC I2C emulation driver
- PMIC I/O driver (UCLASS_PMIC)
- PMIC regulator driver (UCLASS_REGULATOR)

The sandbox PMIC has 12 significant registers and 4 as padding to 16 bytes,
which allows using 'i2c md' command with the default count (16).

The sandbox PMIC provides regulators:
- 2x BUCK
- 2x LDO

Each, with adjustable output:
- Enable state
- Voltage
- Current limit (LDO1/BUCK1 only)
- Operation mode (different for BUCK and LDO)

Each attribute has it's own register, beside the enable state, which depends
on operation mode.

The header file: sandbox_pmic.h includes PMIC's default register values,
which are set on i2c pmic emul driver's probe() method.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested on sandbox:
Tested-by: Simon Glass <sjg@chromium.org>
doc/device-tree-bindings/pmic/sandbox.txt [new file with mode: 0644]
doc/device-tree-bindings/regulator/sandbox.txt [new file with mode: 0644]
drivers/power/pmic/Kconfig
drivers/power/pmic/Makefile
drivers/power/pmic/i2c_pmic_emul.c [new file with mode: 0644]
drivers/power/pmic/sandbox.c [new file with mode: 0644]
drivers/power/regulator/Kconfig
drivers/power/regulator/Makefile
drivers/power/regulator/sandbox.c [new file with mode: 0644]
include/power/sandbox_pmic.h [new file with mode: 0644]