/linux/drivers/pinctrl/tegra/ |
H A D | pinctrl-tegra-xusb.c | 96 static inline void padctl_writel(struct tegra_xusb_padctl *padctl, u32 value, in padctl_writel() argument 99 writel(value, padctl->regs + offset); in padctl_writel() 102 static inline u32 padctl_readl(struct tegra_xusb_padctl *padctl, in padctl_readl() argument 105 return readl(padctl->regs + offset); in padctl_readl() 110 struct tegra_xusb_padctl *padctl = pinctrl_dev_get_drvdata(pinctrl); in tegra_xusb_padctl_get_groups_count() local 112 return padctl->soc->num_pins; in tegra_xusb_padctl_get_groups_count() 118 struct tegra_xusb_padctl *padctl = pinctrl_dev_get_drvdata(pinctrl); in tegra_xusb_padctl_get_group_name() local 120 return padctl->soc->pins[group].name; in tegra_xusb_padctl_get_group_name() 153 static int tegra_xusb_padctl_parse_subnode(struct tegra_xusb_padctl *padctl, in tegra_xusb_padctl_parse_subnode() argument 185 err = pinctrl_utils_add_config(padctl->pinctrl, &configs, in tegra_xusb_padctl_parse_subnode() [all …]
|
/linux/drivers/phy/tegra/ |
H A D | xusb-tegra210.c | 432 to_tegra210_xusb_padctl(struct tegra_xusb_padctl *padctl) in to_tegra210_xusb_padctl() argument 434 return container_of(padctl, struct tegra210_xusb_padctl, base); in to_tegra210_xusb_padctl() 454 dev_dbg(lane->pad->padctl->dev, "lane = %s map to port = usb3-%d\n", in tegra210_usb3_lane_map() 464 static int tegra210_pex_uphy_enable(struct tegra_xusb_padctl *padctl) in tegra210_pex_uphy_enable() argument 466 struct tegra_xusb_pcie_pad *pcie = to_pcie_pad(padctl->pcie); in tegra210_pex_uphy_enable() 486 value = padctl_readl(padctl, XUSB_PADCTL_UPHY_PLL_P0_CTL2); in tegra210_pex_uphy_enable() 491 padctl_writel(padctl, value, XUSB_PADCTL_UPHY_PLL_P0_CTL2); in tegra210_pex_uphy_enable() 493 value = padctl_readl(padctl, XUSB_PADCTL_UPHY_PLL_P0_CTL5); in tegra210_pex_uphy_enable() 498 padctl_writel(padctl, value, XUSB_PADCTL_UPHY_PLL_P0_CTL5); in tegra210_pex_uphy_enable() 500 value = padctl_readl(padctl, XUSB_PADCTL_UPHY_PLL_P0_CTL1); in tegra210_pex_uphy_enable() [all …]
|
H A D | xusb-tegra186.c | 289 to_tegra186_xusb_padctl(struct tegra_xusb_padctl *padctl) in to_tegra186_xusb_padctl() argument 291 return container_of(padctl, struct tegra186_xusb_padctl, base); in to_tegra186_xusb_padctl() 331 struct tegra_xusb_padctl *padctl = lane->pad->padctl; in tegra186_utmi_enable_phy_sleepwalk() local 332 struct tegra186_xusb_padctl *priv = to_tegra186_xusb_padctl(padctl); in tegra186_utmi_enable_phy_sleepwalk() 336 mutex_lock(&padctl->lock); in tegra186_utmi_enable_phy_sleepwalk() 428 if (padctl->soc->supports_lp_cfg_en) in tegra186_utmi_enable_phy_sleepwalk() 437 if (padctl->soc->supports_lp_cfg_en) in tegra186_utmi_enable_phy_sleepwalk() 472 mutex_unlock(&padctl->lock); in tegra186_utmi_enable_phy_sleepwalk() 479 struct tegra_xusb_padctl *padctl = lane->pad->padctl; in tegra186_utmi_disable_phy_sleepwalk() local 480 struct tegra186_xusb_padctl *priv = to_tegra186_xusb_padctl(padctl); in tegra186_utmi_disable_phy_sleepwalk() [all …]
|
H A D | xusb-tegra124.c | 220 to_tegra124_xusb_padctl(struct tegra_xusb_padctl *padctl) in to_tegra124_xusb_padctl() argument 222 return container_of(padctl, struct tegra124_xusb_padctl, base); in to_tegra124_xusb_padctl() 225 static int tegra124_xusb_padctl_enable(struct tegra_xusb_padctl *padctl) in tegra124_xusb_padctl_enable() argument 229 mutex_lock(&padctl->lock); in tegra124_xusb_padctl_enable() 231 if (padctl->enable++ > 0) in tegra124_xusb_padctl_enable() 234 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra124_xusb_padctl_enable() 236 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra124_xusb_padctl_enable() 240 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra124_xusb_padctl_enable() 242 padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM); in tegra124_xusb_padctl_enable() 246 value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM); in tegra124_xusb_padctl_enable() [all …]
|
H A D | xusb.h | 153 struct tegra_xusb_pad *(*probe)(struct tegra_xusb_padctl *padctl, 170 struct tegra_xusb_padctl *padctl; member 186 struct tegra_xusb_padctl *padctl, 278 struct tegra_xusb_padctl *padctl; member 310 tegra_xusb_find_port(struct tegra_xusb_padctl *padctl, const char *type, 329 tegra_xusb_find_usb2_port(struct tegra_xusb_padctl *padctl, 381 tegra_xusb_find_usb3_port(struct tegra_xusb_padctl *padctl, 402 void (*remove)(struct tegra_xusb_padctl *padctl); 404 int (*suspend_noirq)(struct tegra_xusb_padctl *padctl); 405 int (*resume_noirq)(struct tegra_xusb_padctl *padctl); [all …]
|
/linux/include/linux/phy/tegra/ |
H A D | xusb.h | 14 void tegra_xusb_padctl_put(struct tegra_xusb_padctl *padctl); 16 int tegra_xusb_padctl_usb3_save_context(struct tegra_xusb_padctl *padctl, 18 int tegra_xusb_padctl_hsic_set_idle(struct tegra_xusb_padctl *padctl, 20 int tegra_xusb_padctl_usb3_set_lfps_detect(struct tegra_xusb_padctl *padctl, 22 int tegra_xusb_padctl_set_vbus_override(struct tegra_xusb_padctl *padctl, 27 int tegra_xusb_padctl_get_usb3_companion(struct tegra_xusb_padctl *padctl, 30 int tegra_xusb_padctl_enable_phy_sleepwalk(struct tegra_xusb_padctl *padctl, struct phy *phy, 32 int tegra_xusb_padctl_disable_phy_sleepwalk(struct tegra_xusb_padctl *padctl, struct phy *phy); 33 int tegra_xusb_padctl_enable_phy_wake(struct tegra_xusb_padctl *padctl, struct phy *phy); 34 int tegra_xusb_padctl_disable_phy_wake(struct tegra_xusb_padctl *padctl, struct phy *phy); [all …]
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | nvidia,tegra124-xusb-padctl.txt | 7 needed for USB. For the new binding, see ../phy/nvidia,tegra-xusb-padctl.txt. 22 - compatible: For Tegra124, must contain "nvidia,tegra124-xusb-padctl". 23 Otherwise, must contain '"nvidia,<chip>-xusb-padctl", 24 "nvidia-tegra124-xusb-padctl"', where <chip> is tegra132 or tegra210. 29 - padctl 88 padctl@7009f000 { 89 compatible = "nvidia,tegra124-xusb-padctl"; 92 reset-names = "padctl"; 103 phys = <&padctl 0>; 111 padctl: padctl@7009f000 {
|
/linux/arch/arm64/boot/dts/nvidia/ |
H A D | tegra234-p3768-0000+p3767.dtsi | 60 padctl@3520000 { 138 phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>, 139 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>; 146 phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>, 147 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>, 148 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>, 149 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>, 150 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
|
H A D | tegra234-p3740-0002+p3701-0008.dts | 123 padctl@3520000 { 213 phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>, 214 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>; 221 phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>, 222 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>, 223 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>, 224 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>, 225 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>, 226 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>, 227 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
|
H A D | tegra210-p3450-0000.dts | 38 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, 39 <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>, 40 <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>, 41 <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>; 48 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>; 439 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, 440 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, 441 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, 442 <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>; 452 padctl@7009f000 {
|
H A D | tegra194-p2972-0000.dts | 2026 padctl@3520000 { 2107 phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>, 2108 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>; 2115 phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>, 2116 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>, 2117 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>, 2118 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>, 2119 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>, 2120 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-3}>;
|
H A D | tegra210-p2371-2180.dts | 19 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, 20 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, 21 <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>, 22 <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>; 28 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>;
|
H A D | tegra186-p3509-0000+p3636-0001.dts | 615 padctl@3520000 { 701 phys = <&{/padctl@3520000/pads/usb2/lanes/usb2-0}>, 702 <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>, 703 <&{/padctl@3520000/pads/usb2/lanes/usb2-2}>, 704 <&{/padctl@3520000/pads/usb3/lanes/usb3-1}>;
|
H A D | tegra132.dtsi | 686 nvidia,xusb-padctl = <&padctl>; 691 padctl: padctl@7009f000 { label 692 compatible = "nvidia,tegra132-xusb-padctl", 693 "nvidia,tegra124-xusb-padctl"; 696 reset-names = "padctl";
|
H A D | tegra132-norrin.dts | 900 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */ 901 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */ 902 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */ 903 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */ 904 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */ 915 padctl@7009f000 {
|
H A D | tegra186.dtsi | 1008 padctl: padctl@3520000 { label 1009 compatible = "nvidia,tegra186-xusb-padctl"; 1012 reg-names = "padctl", "ao"; 1016 reset-names = "padctl"; 1140 nvidia,xusb-padctl = <&padctl>; 1161 nvidia,xusb-padctl = <&padctl>; 1825 padctl@15880000 { 1826 compatible = "nvidia,tegra186-dsi-padctl";
|
H A D | tegra210-p2597.dtsi | 1397 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>; 1406 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, 1407 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, 1408 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, 1409 <&{/padctl@7009f000/pads/usb2/lanes/usb2-3}>, 1410 <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>, 1411 <&{/padctl@7009f000/pads/pcie/lanes/pcie-5}>; 1429 padctl@7009f000 {
|
H A D | tegra234-p3701.dtsi | 84 padctl@3520000 {
|
/linux/drivers/pinctrl/starfive/ |
H A D | pinctrl-starfive-jh7100.c | 211 void __iomem *padctl; member 695 void __iomem *reg = sfp->padctl + 4 * (pin / 2); in starfive_padctl_get() 705 void __iomem *reg = sfp->padctl + 4 * (pin / 2); in starfive_padctl_rmw() 1230 sfp->padctl = devm_platform_ioremap_resource_byname(pdev, "padctl"); in starfive_probe() 1231 if (IS_ERR(sfp->padctl)) in starfive_probe() 1232 return PTR_ERR(sfp->padctl); in starfive_probe() 1271 writel(value, sfp->padctl + IO_PADSHARE_SEL); in starfive_probe() 1274 value = readl(sfp->padctl + IO_PADSHARE_SEL); in starfive_probe()
|
/linux/Documentation/devicetree/bindings/pci/ |
H A D | nvidia,tegra20-pcie.txt | 452 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>; 459 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>; 546 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, 547 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, 548 <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>, 549 <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>; 555 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>;
|
/linux/arch/arm/boot/dts/nvidia/ |
H A D | tegra124-venice2.dts | 919 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */ 920 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */ 921 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */ 922 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */ 923 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */ 938 padctl@7009f000 {
|
H A D | tegra124-apalis-v1.2.dtsi | 32 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>, 33 <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>; 39 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>; 1810 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>; 1819 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, 1820 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, 1821 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, 1822 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, 1823 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>; 1836 padctl@7009f000 {
|
H A D | tegra124-apalis.dtsi | 31 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>, 32 <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>; 38 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>; 1803 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>; 1812 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, 1813 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, 1814 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, 1815 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, 1816 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>; 1828 padctl@7009f000 {
|
H A D | tegra124.dtsi | 733 nvidia,xusb-padctl = <&padctl>; 738 padctl: padctl@7009f000 { label 739 compatible = "nvidia,tegra124-xusb-padctl"; 742 reset-names = "padctl";
|
H A D | tegra124-jetson-tk1.dts | 44 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>; 51 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>; 1694 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>; 1710 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* Micro A/B */ 1711 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Mini PCIe */ 1712 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* USB3 */ 1713 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>; /* USB3 */ 1728 padctl@7009f000 {
|