summaryrefslogtreecommitdiff
path: root/drivers/mfd
diff options
context:
space:
mode:
authorPhilippe Langlais <philippe.langlais@linaro.org>2011-05-04 17:19:21 +0200
committerRobert Marklund <robert.marklund@stericsson.com>2011-10-05 11:17:57 +0200
commitbdf696000df4d7026aeafc9dab40b2d6565fffc4 (patch)
treeecd8b0f11ebeeb5c651ac39aa327433a572f61e5 /drivers/mfd
parent5756b45159e98d3d01188f845c28293d0c396522 (diff)
drivers: video: add regulator for CVBS out
- Adds a regulator that is used for CVBS TV out by AB8500 DENC and AV8100 DENC. The regulator is for the switch at the AV connector that switches between video out and mic in. ST-Ericsson ID: AP 322391 Linux-next: ST-Ericsson ID: ER 282779 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ie7a821b8d3965aa65384b4393e3083ef406c8282 Signed-off-by: Marcel Tunnissen <Marcel.Tuennissen@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/16819 Tested-by: Marcel TUNNISSEN <marcel.tuennissen@stericsson.com> Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com> Reviewed-by: Robert FEKETE <robert.fekete@stericsson.com> Conflicts: arch/arm/mach-ux500/board-mop500-regulators.c arch/arm/mach-ux500/board-pdp-mcde.c
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/ab8500-denc.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/drivers/mfd/ab8500-denc.c b/drivers/mfd/ab8500-denc.c
index 06e4b282cbf..1bf61e41bcd 100644
--- a/drivers/mfd/ab8500-denc.c
+++ b/drivers/mfd/ab8500-denc.c
@@ -434,6 +434,20 @@ static int debugfs_ab8500_open_file(struct inode *inode, struct file *file)
#define DEBUG_BUF_SIZE 900
+#define AB8500_GPIO_DIR5 0x1014
+#define AB8500_GPIO_DIR5_35_SHIFT 2
+#define AB8500_GPIO_DIR5_35_MASK (1 << AB8500_GPIO_DIR5_35_SHIFT)
+#define AB8500_GPIO_OUT5 0x1024
+#define AB8500_GPIO_OUT5_35_SHIFT 2
+#define AB8500_GPIO_OUT5_35_MASK (1 << AB8500_GPIO_OUT5_35_SHIFT)
+#define AB8500_GPIO_OUT5_35_VIDEO 0
+#define AB8500_GPIO_OUT5_35_AUDIO 1
+#define AB8500_GPIO_NPUD5 0x1034
+#define AB8500_GPIO_NPUD5_35_SHIFT 2
+#define AB8500_GPIO_NPUD5_35_MASK (1 << AB8500_GPIO_NPUD5_35_SHIFT)
+#define AB8500_GPIO_NPUD5_35_ACTIVE 0
+#define AB8500_GPIO_NPUD5_35_INACTIVE 1
+
static ssize_t debugfs_ab8500_dump_regs(struct file *file, char __user *buf,
size_t count, loff_t *f_pos)
{
@@ -444,12 +458,14 @@ static ssize_t debugfs_ab8500_dump_regs(struct file *file, char __user *buf,
data_size += sprintf(buffer + data_size,
"AB8500 DENC registers:\n"
+ "------Regulators etc ----------\n"
"CTRL3 : 0x%04x = 0x%02x\n"
"SYSULPCLK_CONF: 0x%04x = 0x%02x\n"
"SYSCLK_CTRL : 0x%04x = 0x%02x\n"
"REGU_MISC1 : 0x%04x = 0x%02x\n"
"VAUX12_REGU : 0x%04x = 0x%02x\n"
"VAUX1_SEL1 : 0x%04x = 0x%02x\n"
+ "------TVout only --------------\n"
"DENC_CONF0 : 0x%04x = 0x%02x\n"
"DENC_CONF1 : 0x%04x = 0x%02x\n"
"DENC_CONF2 : 0x%04x = 0x%02x\n"
@@ -458,6 +474,10 @@ static ssize_t debugfs_ab8500_dump_regs(struct file *file, char __user *buf,
"TVOUT_CTRL : 0x%04x = 0x%02x\n"
"TVOUT_CTRL2 : 0x%04x = 0x%02x\n"
"IT_MASK1 : 0x%04x = 0x%02x\n"
+ "------AV connector-------------\n"
+ "GPIO_DIR5 : 0x%04x = 0x%02x\n"
+ "GPIO_OUT5 : 0x%04x = 0x%02x\n"
+ "GPIO_NPUD5 : 0x%04x = 0x%02x\n"
,
AB8500_CTRL3, ab8500_rreg(dev, AB8500_CTRL3),
AB8500_SYS_ULP_CLK_CONF, ab8500_rreg(dev,
@@ -473,7 +493,10 @@ static ssize_t debugfs_ab8500_dump_regs(struct file *file, char __user *buf,
AB8500_DENC_CONF8, ab8500_rreg(dev, AB8500_DENC_CONF8),
AB8500_TVOUT_CTRL, ab8500_rreg(dev, AB8500_TVOUT_CTRL),
AB8500_TVOUT_CTRL2, ab8500_rreg(dev, AB8500_TVOUT_CTRL2),
- AB8500_IT_MASK1, ab8500_rreg(dev, AB8500_IT_MASK1)
+ AB8500_IT_MASK1, ab8500_rreg(dev, AB8500_IT_MASK1),
+ AB8500_GPIO_DIR5, ab8500_rreg(dev, AB8500_GPIO_DIR5),
+ AB8500_GPIO_OUT5, ab8500_rreg(dev, AB8500_GPIO_OUT5),
+ AB8500_GPIO_NPUD5, ab8500_rreg(dev, AB8500_GPIO_NPUD5)
);
if (data_size >= DEBUG_BUF_SIZE) {
printk(KERN_EMERG "AB8500 DENC: Buffer overrun\n");