diff options
author | Vijay Mali <vmali@nvidia.com> | 2012-09-18 04:34:14 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 12:35:56 -0700 |
commit | edc387d668e09b40588b53dfe3d754aa2f7a4ed1 (patch) | |
tree | 96370df3e1b09ff93b8becf0f5225a2d96050062 /sound | |
parent | bcffef1100b02d9a7694cec6c0568b9e599a7d01 (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.c | 43 |
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); } |