aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2011-04-15 15:05:38 +0800
committerRichard Zhao <richard.zhao@freescale.com>2011-04-19 15:03:45 +0800
commit8d2d03849f541dab7766bf0a8a8fda17ccc549ff (patch)
tree07d43169fec801f5fab1cfc286b3eb5f1e46e7ba
parent499c2576aa6bd3ac4d0c490d3ee8dd8ea9816dfe (diff)
ENGR00141155-2 sii902x: add related regulator
Add related regulator. Signed-off-by: Jason Chen <b02280@freescale.com> Signed-off-by: Richard Zhao <richard.zhao@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 7e1080ffee0..2128d222b12 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();