summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorVijay Mali <vmali@nvidia.com>2012-09-18 04:34:14 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 12:35:56 -0700
commitedc387d668e09b40588b53dfe3d754aa2f7a4ed1 (patch)
tree96370df3e1b09ff93b8becf0f5225a2d96050062 /sound
parentbcffef1100b02d9a7694cec6c0568b9e599a7d01 (diff)
asoc: tegra: pinmux, gpio for RT5640
Reviewed-on: http://git-master/r/133495 (cherry picked from commit 81f4822d421e1cfb027b97920cb3221a47b60595) Change-Id: Iee61d788f85ba3cadf4f861bcc18cdf7c50c944b Signed-off-by: Vijay Mali <vmali@nvidia.com> Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/143107 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com> Rebase-Id: Rf37465a6c60d077aefd45b340d87b68029c6c32b
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/tegra/tegra_rt5640.c43
1 files changed, 40 insertions, 3 deletions
diff --git a/sound/soc/tegra/tegra_rt5640.c b/sound/soc/tegra/tegra_rt5640.c
index d4ab57b4484f..0d70d134a8b2 100644
--- a/sound/soc/tegra/tegra_rt5640.c
+++ b/sound/soc/tegra/tegra_rt5640.c
@@ -712,9 +712,9 @@ static int tegra_rt5640_driver_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "No platform data supplied\n");
return -EINVAL;
}
-
if (pdata->codec_name)
card->dai_link->codec_name = pdata->codec_name;
+
if (pdata->codec_dai_name)
card->dai_link->codec_dai_name = pdata->codec_dai_name;
@@ -729,10 +729,47 @@ static int tegra_rt5640_driver_probe(struct platform_device *pdev)
if (ret) {
dev_err(&pdev->dev, "Fail gpio_request AUDIO_LDO1\n");
}
+
ret = gpio_direction_output(pdata->gpio_ldo1_en, 1);
- if (ret) {
+ if (ret)
dev_err(&pdev->dev, "Fail gpio_direction AUDIO_LDO1\n");
- }
+
+ msleep(200);
+ }
+
+ if (gpio_is_valid(pdata->gpio_codec1)) {
+ ret = gpio_request(pdata->gpio_codec1, "rt5640");
+ if (ret)
+ dev_err(&pdev->dev, "Fail gpio_request GPIO_CODEC1\n");
+
+ ret = gpio_direction_output(pdata->gpio_codec1, 1);
+ if (ret)
+ dev_err(&pdev->dev, "Fail gpio_direction GPIO_CODEC1\n");
+
+ msleep(200);
+ }
+
+ if (gpio_is_valid(pdata->gpio_codec2)) {
+ ret = gpio_request(pdata->gpio_codec2, "rt5640");
+ if (ret)
+ dev_err(&pdev->dev, "Fail gpio_request GPIO_CODEC2\n");
+
+ ret = gpio_direction_output(pdata->gpio_codec2, 1);
+ if (ret)
+ dev_err(&pdev->dev, "Fail gpio_direction GPIO_CODEC2\n");
+
+ msleep(200);
+ }
+
+ if (gpio_is_valid(pdata->gpio_codec3)) {
+ ret = gpio_request(pdata->gpio_codec3, "rt5640");
+ if (ret)
+ dev_err(&pdev->dev, "Fail gpio_request GPIO_CODEC3\n");
+
+ ret = gpio_direction_output(pdata->gpio_codec3, 1);
+ if (ret)
+ dev_err(&pdev->dev, "Fail gpio_direction GPIO_CODEC3\n");
+
msleep(200);
}