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

1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.
6 #define pr_fmt(fmt) "tegra-xusb-padctl: " fmt
13 #include "../xusb-padctl-common.h"
15 #include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h>
55 "xusb",
94 TEGRA124_LANE("otg-0", 0x004, 0, 0x3, 0, otg),
95 TEGRA124_LANE("otg-1", 0x004, 2, 0x3, 0, otg),
96 TEGRA124_LANE("otg-2", 0x004, 4, 0x3, 0, otg),
97 TEGRA124_LANE("ulpi-0", 0x004, 12, 0x1, 0, usb),
98 TEGRA124_LANE("hsic-0", 0x004, 14, 0x1, 0, usb),
99 TEGRA124_LANE("hsic-1", 0x004, 15, 0x1, 0, usb),
100 TEGRA124_LANE("pcie-0", 0x134, 16, 0x3, 1, pci),
101 TEGRA124_LANE("pcie-1", 0x134, 18, 0x3, 2, pci),
102 TEGRA124_LANE("pcie-2", 0x134, 20, 0x3, 3, pci),
103 TEGRA124_LANE("pcie-3", 0x134, 22, 0x3, 4, pci),
104 TEGRA124_LANE("pcie-4", 0x134, 24, 0x3, 5, pci),
105 TEGRA124_LANE("sata-0", 0x134, 26, 0x3, 6, pci),
108 static int tegra_xusb_padctl_enable(struct tegra_xusb_padctl *padctl) in tegra_xusb_padctl_enable() argument
112 if (padctl->enable++ > 0) in tegra_xusb_padctl_enable()
115 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
117 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
121 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
123 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
127 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
129 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_enable()
134 static int tegra_xusb_padctl_disable(struct tegra_xusb_padctl *padctl) in tegra_xusb_padctl_disable() argument
138 if (padctl->enable == 0) { in tegra_xusb_padctl_disable()
143 if (--padctl->enable > 0) in tegra_xusb_padctl_disable()
146 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
148 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
152 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
154 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
158 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
160 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra_xusb_padctl_disable()
167 return tegra_xusb_padctl_enable(phy->padctl); in phy_prepare()
172 return tegra_xusb_padctl_disable(phy->padctl); in phy_unprepare()
177 struct tegra_xusb_padctl *padctl = phy->padctl; in pcie_phy_enable() local
178 int err = -ETIMEDOUT; in pcie_phy_enable()
182 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_enable()
184 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_enable()
186 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_P0_CTL2); in pcie_phy_enable()
190 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_P0_CTL2); in pcie_phy_enable()
192 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_enable()
194 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_enable()
199 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_enable()
211 struct tegra_xusb_padctl *padctl = phy->padctl; in pcie_phy_disable() local
214 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_disable()
216 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_P0_CTL1); in pcie_phy_disable()
223 struct tegra_xusb_padctl *padctl = phy->padctl; in sata_phy_enable() local
224 int err = -ETIMEDOUT; in sata_phy_enable()
228 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_MISC_PAD_S0_CTL1); in sata_phy_enable()
231 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_MISC_PAD_S0_CTL1); in sata_phy_enable()
233 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
236 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
238 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
240 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
242 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
244 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
249 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_enable()
261 struct tegra_xusb_padctl *padctl = phy->padctl; in sata_phy_disable() local
264 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
266 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
268 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
270 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
272 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
275 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_PLL_S0_CTL1); in sata_phy_disable()
277 value = padctl_readl(padctl, XUSB_PADCTL_IOPHY_MISC_PAD_S0_CTL1); in sata_phy_disable()
280 padctl_writel(padctl, value, XUSB_PADCTL_IOPHY_MISC_PAD_S0_CTL1); in sata_phy_disable()
303 .padctl = &padctl,
308 .padctl = &padctl,
330 "nvidia,tegra124-xusb-padctl"); in tegra_xusb_padctl_init()
341 count = fdtdec_find_aliases_for_id(gd->fdt_blob, "padctl", in tegra_xusb_padctl_init()