diff options
author | Pramod Gurav <pramod.gurav@smartplayin.com> | 2014-12-01 15:13:59 +0530 |
---|---|---|
committer | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | 2015-11-17 09:21:18 +0000 |
commit | 245f655a743e877db7378c67593531820ab82e3b (patch) | |
tree | 073852dbff9860af89bc5de0588a69a2754357ec | |
parent | 7e19e55f027ca3e7ee79a49496832723a1a39f0b (diff) |
pci: qcom: Add ext_3p3v regulator support
This regulator is needed by ethernet hence enable in the pcie driver
so that ethernet is functional.
Signed-off-by: Pramod Gurav <pramod.gurav@smartplayin.com>
-rw-r--r-- | drivers/pci/host/pci-qcom.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/pci/host/pci-qcom.c b/drivers/pci/host/pci-qcom.c index 22ca8b776868..fc851b73a372 100644 --- a/drivers/pci/host/pci-qcom.c +++ b/drivers/pci/host/pci-qcom.c @@ -151,6 +151,7 @@ struct qcom_pcie { struct regulator *vdd_supply; struct regulator *avdd_supply; struct regulator *pcie_clk_supply; + struct regulator *pcie_ext3p3v_supply; struct qcom_msi msi; }; @@ -651,6 +652,12 @@ static int qcom_pcie_vreg_on(struct qcom_pcie *qcom_pcie) return err; } + err = regulator_enable(qcom_pcie->pcie_ext3p3v_supply); + if (err < 0) { + dev_err(qcom_pcie->dev, "failed to enable pcie_ext3p3v regulator\n"); + return err; + } + return err; } @@ -726,6 +733,12 @@ static int qcom_pcie_parse_dt(struct qcom_pcie *qcom_pcie, return PTR_ERR(qcom_pcie->avdd_supply); } + qcom_pcie->pcie_ext3p3v_supply = devm_regulator_get(&pdev->dev, + "ext-3p3v"); + if (IS_ERR(qcom_pcie->pcie_ext3p3v_supply)) { + dev_err(&pdev->dev, "Failed to get pcie_ext3p3v supply\n"); + return PTR_ERR(qcom_pcie->pcie_ext3p3v_supply); + } qcom_pcie->reset_gpio = of_get_named_gpio(np, "reset-gpio", 0); if (!gpio_is_valid(qcom_pcie->reset_gpio)) { |