From edc387d668e09b40588b53dfe3d754aa2f7a4ed1 Mon Sep 17 00:00:00 2001 From: Vijay Mali Date: Tue, 18 Sep 2012 04:34:14 -0700 Subject: 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 Signed-off-by: Deepak Nibade Reviewed-on: http://git-master/r/143107 Reviewed-by: Simone Willett Tested-by: Simone Willett Rebase-Id: Rf37465a6c60d077aefd45b340d87b68029c6c32b --- sound/soc/tegra/tegra_rt5640.c | 43 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) (limited to 'sound') 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); } -- cgit v1.2.3