summaryrefslogtreecommitdiff
path: root/drivers/mfd
diff options
context:
space:
mode:
authorPhilippe Langlais <philippe.langlais@linaro.org>2011-05-04 17:19:21 +0200
committerHenrik Aberg <henrik.aberg@stericsson.com>2011-05-18 09:39:42 +0200
commit23f6c253be0e9603c4eeff4b09f1060d9d52c932 (patch)
tree43ee573db37452789e8c6a252f8ab2bca4939a72 /drivers/mfd
parent3b713126d50c464d556da323a2dc814aac1568ca (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");