misc: tegra-baseband: add delay before modem reset
fbossy [Thu, 11 Sep 2014 22:57:18 +0000 (15:57 -0700)]
bug 1548385

Change-Id: I65460b245786e7657d05e63484f145a967e3ee4f
Signed-off-by: fbossy <fbossy@nvidia.com>
Reviewed-on: http://git-master/r/488983
Reviewed-by: Rajkumar Jayaraman <rjayaraman@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Thomas Cherry <tcherry@nvidia.com>

drivers/misc/tegra-baseband/tegra_usb_modem_power.c

index 5de9e36..6f6b502 100644 (file)
@@ -38,6 +38,7 @@
 #include <linux/platform_data/tegra_usb_modem_power.h>
 #include <linux/dma-mapping.h>
 #include <linux/tegra-pmc.h>
+#include <linux/delay.h>
 #include "../../../arch/arm/mach-tegra/iomap.h"
 
 #define BOOST_CPU_FREQ_MIN     1200000
@@ -829,6 +830,9 @@ static int tegra_usb_modem_parse_dt(struct platform_device *pdev,
                        dev_err(&pdev->dev, "request gpio %d failed\n", gpio);
                        return ret;
                }
+               /* Modem requires at least 10ms between MDM_EN assertion
+               and release of the reset. 20ms is the min value of msleep */
+               msleep(20);
                /* Release modem reset to start boot */
                gpio_direction_output(gpio, 1);
                gpio_export(gpio, false);