The PCIe reference clock needs a 3.3V supply voltage to work properly.

Signed-off-by: Thierry Reding <[email protected]>
---
This patch is based on next-20120217. Note that PCIe works without this
patch when the Linux kernel is booted with a combination of QuickBoot
and U-Boot because either apparently sets LD0 to 3.3V. This is not the
case when booting from mainline U-Boot, so it must be set explicitly.

 arch/arm/mach-tegra/board-harmony-pcie.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-tegra/board-harmony-pcie.c 
b/arch/arm/mach-tegra/board-harmony-pcie.c
index 33c4fed..d521cf4 100644
--- a/arch/arm/mach-tegra/board-harmony-pcie.c
+++ b/arch/arm/mach-tegra/board-harmony-pcie.c
@@ -45,6 +45,10 @@ static int __init harmony_pcie_init(void)
        if (IS_ERR_OR_NULL(regulator))
                goto err_reg;
 
+       err = regulator_set_voltage(regulator, 3300000, 3300000);
+       if (err < 0)
+               goto err_put;
+
        regulator_enable(regulator);
 
        err = tegra_pcie_init(true, true);
@@ -55,6 +59,7 @@ static int __init harmony_pcie_init(void)
 
 err_pcie:
        regulator_disable(regulator);
+err_put:
        regulator_put(regulator);
 err_reg:
        gpio_free(TEGRA_GPIO_EN_VDD_1V05_GPIO);
-- 
1.7.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to