Lines Matching +full:xusb +full:- +full:padctl

2  * Copyright (c) 2014-2015, NVIDIA CORPORATION.  All rights reserved.
4 * SPDX-License-Identifier: GPL-2.0
7 #define pr_fmt(fmt) "tegra-xusb-padctl: " fmt
14 #include "../xusb-padctl-common.h"
16 #include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h>
56 "xusb",
95 TEGRA124_LANE("otg-0", 0x004, 0, 0x3, 0, otg),
96 TEGRA124_LANE("otg-1", 0x004, 2, 0x3, 0, otg),
97 TEGRA124_LANE("otg-2", 0x004, 4, 0x3, 0, otg),
98 TEGRA124_LANE("ulpi-0", 0x004, 12, 0x1, 0, usb),
99 TEGRA124_LANE("hsic-0", 0x004, 14, 0x1, 0, usb),
100 TEGRA124_LANE("hsic-1", 0x004, 15, 0x1, 0, usb),
101 TEGRA124_LANE("pcie-0", 0x134, 16, 0x3, 1, pci),
102 TEGRA124_LANE("pcie-1", 0x134, 18, 0x3, 2, pci),
103 TEGRA124_LANE("pcie-2", 0x134, 20, 0x3, 3, pci),
104 TEGRA124_LANE("pcie-3", 0x134, 22, 0x3, 4, pci),
105 TEGRA124_LANE("pcie-4", 0x134, 24, 0x3, 5, pci),
106 TEGRA124_LANE("sata-0", 0x134, 26, 0x3, 6, pci),
109 static int tegra_xusb_padctl_enable(struct tegra_xusb_padctl *padctl) in tegra_xusb_padctl_enable() argument
113 if (padctl->enable++ > 0) in tegra_xusb_padctl_enable()
116 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
118 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
122 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
124 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
128 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
130 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
135 static int tegra_xusb_padctl_disable(struct tegra_xusb_padctl *padctl) in tegra_xusb_padctl_disable() argument
139 if (padctl->enable == 0) { in tegra_xusb_padctl_disable()
144 if (--padctl->enable > 0) in tegra_xusb_padctl_disable()
147 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
149 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
153 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
155 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
159 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
161 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
168 return tegra_xusb_padctl_enable(phy->padctl); in phy_prepare()
173 return tegra_xusb_padctl_disable(phy->padctl); in phy_unprepare()
178 struct tegra_xusb_padctl *padctl = phy->padctl; in pcie_phy_enable() local
179 int err = -ETIMEDOUT; in pcie_phy_enable()
183 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_enable()
185 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_enable()
187 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_P0_CTL2); in pcie_phy_enable()
191 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_P0_CTL2); in pcie_phy_enable()
193 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_enable()
195 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_enable()
200 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_enable()
212 struct tegra_xusb_padctl *padctl = phy->padctl; in pcie_phy_disable() local
215 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_disable()
217 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_disable()
224 struct tegra_xusb_padctl *padctl = phy->padctl; in sata_phy_enable() local
225 int err = -ETIMEDOUT; in sata_phy_enable()
229 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_MISC_PAD_S0_CTL1); in sata_phy_enable()
232 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_MISC_PAD_S0_CTL1); in sata_phy_enable()
234 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
237 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
239 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
241 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
243 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
245 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
250 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
262 struct tegra_xusb_padctl *padctl = phy->padctl; in sata_phy_disable() local
265 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
267 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
269 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
271 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
273 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
276 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
278 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_MISC_PAD_S0_CTL1); in sata_phy_disable()
281 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_MISC_PAD_S0_CTL1); in sata_phy_disable()
304 .padctl = &padctl,
309 .padctl = &padctl,
331 "nvidia,tegra124-xusb-padctl"); in tegra_xusb_padctl_init()
342 count = fdtdec_find_aliases_for_id(gd->fdt_blob, "padctl", in tegra_xusb_padctl_init()