summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2011-03-25 11:19:55 +0800
committerJason Chen <b02280@freescale.com>2011-03-25 11:19:55 +0800
commita07fd1a3d2cec2bbc6b28dab8bd025afcfc5b5f0 (patch)
tree85d6e4f9f0c05bb5227fb9d73e62cd90b7052a6a
parentec3f2784542685cb478dee4b6b85c69c80583683 (diff)
ENGR00141155-2 sii902x: add related regulator
Add related regulator. Signed-off-by: Jason Chen <b02280@freescale.com>
-rw-r--r--drivers/video/mxc/mxcfb_sii902x.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/video/mxc/mxcfb_sii902x.c b/drivers/video/mxc/mxcfb_sii902x.c
index f0351b280b9a..ab143a62133e 100644
--- a/drivers/video/mxc/mxcfb_sii902x.c
+++ b/drivers/video/mxc/mxcfb_sii902x.c
@@ -41,6 +41,7 @@
#include <linux/fb.h>
#include <linux/init.h>
#include <linux/platform_device.h>
+#include <linux/regulator/consumer.h>
#include <linux/i2c.h>
#include <linux/mxcfb.h>
#include <linux/fsl_devices.h>
@@ -56,6 +57,8 @@ static bool g_enable_hdmi;
struct sii902x_data {
struct platform_device *pdev;
struct i2c_client *client;
+ struct regulator *io_reg;
+ struct regulator *analog_reg;
struct delayed_work det_work;
struct fb_info *fbi;
struct mxc_edid_cfg edid_cfg;
@@ -326,6 +329,17 @@ static int __devinit sii902x_probe(struct i2c_client *client,
sii902x.client = client;
+ sii902x.io_reg = regulator_get(&sii902x.client->dev, plat->io_reg);
+ if (!IS_ERR(sii902x.io_reg)) {
+ regulator_set_voltage(sii902x.io_reg, 3300000, 3300000);
+ regulator_enable(sii902x.io_reg);
+ }
+ sii902x.analog_reg = regulator_get(&sii902x.client->dev, plat->analog_reg);
+ if (!IS_ERR(sii902x.analog_reg)) {
+ regulator_set_voltage(sii902x.analog_reg, 1300000, 1300000);
+ regulator_enable(sii902x.analog_reg);
+ }
+
if (plat->reset) {
sii902x_reset = plat->reset;
sii902x_reset();