ARM: tegra: Set NVC config for cardhu-focusers
Sudhir Vyas [Thu, 7 Jun 2012 07:12:27 +0000 (12:12 +0530)]
* NVC framework provides NVC_CFG_NODEV config for all
NVC compliant camera drivers to make sure to delete
the device nodes which are not found in I2C probing.
This config is not set for all focuser modules on PM269,
which introduces the issue.

* Earlier only sh532u focuser was suppose to be on
cardhu, hence this error condition did not get triggered
but newly added focuser has exposed this error.

* Set NVC_CFG_NODEV for both sh532u and ad5816 focusers.

* Add regulator supply for cam2 ad5816 focuser, it fixes
camera crash on first reboot on E1198 cardhu and I2C
warnings.

Bug 992611
Bug 995072

Change-Id: I3382a896e4e246a0a323bd13ae0889b6701351c7
Signed-off-by: Sudhir vyas <svyas@nvidia.com>
Reviewed-on: http://git-master/r/106960
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Prayas Mohanty <pmohanty@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Frank Chen <frankc@nvidia.com>

arch/arm/mach-tegra/board-cardhu-power.c
arch/arm/mach-tegra/board-cardhu-sensors.c

index 187cc48..687ab03 100644 (file)
@@ -612,6 +612,7 @@ static struct regulator_consumer_supply fixed_reg_cam1_ldo_en_supply[] = {
 static struct regulator_consumer_supply fixed_reg_cam2_ldo_en_supply[] = {
        REGULATOR_SUPPLY("vdd_2v8_cam2", NULL),
        REGULATOR_SUPPLY("avdd", "7-0072"),
+       REGULATOR_SUPPLY("vdd", "7-000e"),
 };
 
 /* CAM3_LDO_EN from AP GPIO KB_ROW8 S00*/
@@ -652,6 +653,7 @@ static struct regulator_consumer_supply fixed_reg_en_1v8_cam_supply[] = {
        REGULATOR_SUPPLY("dvdd", "6-0072"),
        REGULATOR_SUPPLY("dvdd", "7-0072"),
        REGULATOR_SUPPLY("vdd_i2c", "6-000e"),
+       REGULATOR_SUPPLY("vdd_i2c", "7-000e"),
        REGULATOR_SUPPLY("vdd_i2c", "2-0033"),
 };
 
index 1b4d733..a0ea38f 100644 (file)
@@ -576,7 +576,7 @@ static struct nvc_gpio_pdata pm269_sh532u_left_gpio_pdata[] = {
 };
 
 static struct sh532u_platform_data pm269_sh532u_left_pdata = {
-       .cfg            = 0,
+       .cfg            = NVC_CFG_NODEV,
        .num            = 1,
        .sync           = 2,
        .dev_name       = "focuser",
@@ -589,7 +589,7 @@ static struct nvc_gpio_pdata pm269_sh532u_right_gpio_pdata[] = {
 };
 
 static struct sh532u_platform_data pm269_sh532u_right_pdata = {
-       .cfg            = 0,
+       .cfg            = NVC_CFG_NODEV,
        .num            = 2,
        .sync           = 1,
        .dev_name       = "focuser",
@@ -624,7 +624,7 @@ static struct nvc_gpio_pdata pm269_ad5816_left_gpio_pdata[] = {
 };
 
 static struct ad5816_platform_data pm269_ad5816_left_pdata = {
-       .cfg            = 0,
+       .cfg            = NVC_CFG_NODEV,
        .num            = 1,
        .sync           = 2,
        .dev_name       = "focuser",
@@ -637,7 +637,7 @@ static struct nvc_gpio_pdata pm269_ad5816_right_gpio_pdata[] = {
 };
 
 static struct ad5816_platform_data pm269_ad5816_right_pdata = {
-       .cfg            = 0,
+       .cfg            = NVC_CFG_NODEV,
        .num            = 2,
        .sync           = 1,
        .dev_name       = "focuser",