/Linux-v5.10/drivers/pinctrl/tegra/ |
D | pinctrl-tegra-xusb.c | 93 static inline void padctl_writel(struct tegra_xusb_padctl *padctl, u32 value, in padctl_writel() argument 96 writel(value, padctl->regs + offset); in padctl_writel() 99 static inline u32 padctl_readl(struct tegra_xusb_padctl *padctl, in padctl_readl() argument 102 return readl(padctl->regs + offset); in padctl_readl() 107 struct tegra_xusb_padctl *padctl = pinctrl_dev_get_drvdata(pinctrl); in tegra_xusb_padctl_get_groups_count() local 109 return padctl->soc->num_pins; in tegra_xusb_padctl_get_groups_count() 115 struct tegra_xusb_padctl *padctl = pinctrl_dev_get_drvdata(pinctrl); in tegra_xusb_padctl_get_group_name() local 117 return padctl->soc->pins[group].name; in tegra_xusb_padctl_get_group_name() 150 static int tegra_xusb_padctl_parse_subnode(struct tegra_xusb_padctl *padctl, in tegra_xusb_padctl_parse_subnode() argument 182 err = pinctrl_utils_add_config(padctl->pinctrl, &configs, in tegra_xusb_padctl_parse_subnode() [all …]
|
/Linux-v5.10/drivers/phy/tegra/ |
D | xusb-tegra210.c | 254 to_tegra210_xusb_padctl(struct tegra_xusb_padctl *padctl) in to_tegra210_xusb_padctl() argument 256 return container_of(padctl, struct tegra210_xusb_padctl, base); in to_tegra210_xusb_padctl() 260 static int tegra210_pex_uphy_enable(struct tegra_xusb_padctl *padctl) in tegra210_pex_uphy_enable() argument 262 struct tegra_xusb_pcie_pad *pcie = to_pcie_pad(padctl->pcie); in tegra210_pex_uphy_enable() 280 value = padctl_readl(padctl, XUSB_PADCTL_UPHY_PLL_P0_CTL2); in tegra210_pex_uphy_enable() 285 padctl_writel(padctl, value, XUSB_PADCTL_UPHY_PLL_P0_CTL2); in tegra210_pex_uphy_enable() 287 value = padctl_readl(padctl, XUSB_PADCTL_UPHY_PLL_P0_CTL5); in tegra210_pex_uphy_enable() 292 padctl_writel(padctl, value, XUSB_PADCTL_UPHY_PLL_P0_CTL5); in tegra210_pex_uphy_enable() 294 value = padctl_readl(padctl, XUSB_PADCTL_UPHY_PLL_P0_CTL1); in tegra210_pex_uphy_enable() 296 padctl_writel(padctl, value, XUSB_PADCTL_UPHY_PLL_P0_CTL1); in tegra210_pex_uphy_enable() [all …]
|
D | xusb.c | 80 tegra_xusb_find_pad_node(struct tegra_xusb_padctl *padctl, const char *name) in tegra_xusb_find_pad_node() argument 84 pads = of_get_child_by_name(padctl->dev->of_node, "pads"); in tegra_xusb_find_pad_node() 154 struct tegra_xusb_padctl *padctl, in tegra_xusb_pad_init() argument 161 pad->dev.parent = padctl->dev; in tegra_xusb_pad_init() 164 pad->padctl = padctl; in tegra_xusb_pad_init() 224 list_add_tail(&lane->list, &pad->padctl->lanes); in tegra_xusb_pad_register() 259 tegra_xusb_pad_create(struct tegra_xusb_padctl *padctl, in tegra_xusb_pad_create() argument 266 np = tegra_xusb_find_pad_node(padctl, soc->name); in tegra_xusb_pad_create() 270 pad = soc->ops->probe(padctl, soc, np); in tegra_xusb_pad_create() 273 dev_err(padctl->dev, "failed to create pad %s: %d\n", in tegra_xusb_pad_create() [all …]
|
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 …]
|
D | xusb-tegra186.c | 144 to_tegra186_xusb_padctl(struct tegra_xusb_padctl *padctl) in to_tegra186_xusb_padctl() argument 146 return container_of(padctl, struct tegra186_xusb_padctl, base); in to_tegra186_xusb_padctl() 188 static void tegra186_utmi_bias_pad_power_on(struct tegra_xusb_padctl *padctl) in tegra186_utmi_bias_pad_power_on() argument 190 struct tegra186_xusb_padctl *priv = to_tegra186_xusb_padctl(padctl); in tegra186_utmi_bias_pad_power_on() 191 struct device *dev = padctl->dev; in tegra186_utmi_bias_pad_power_on() 195 mutex_lock(&padctl->lock); in tegra186_utmi_bias_pad_power_on() 198 mutex_unlock(&padctl->lock); in tegra186_utmi_bias_pad_power_on() 206 value = padctl_readl(padctl, XUSB_PADCTL_USB2_BIAS_PAD_CTL1); in tegra186_utmi_bias_pad_power_on() 211 padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL1); in tegra186_utmi_bias_pad_power_on() 213 value = padctl_readl(padctl, XUSB_PADCTL_USB2_BIAS_PAD_CTL0); in tegra186_utmi_bias_pad_power_on() [all …]
|
D | xusb.h | 138 struct tegra_xusb_pad *(*probe)(struct tegra_xusb_padctl *padctl, 155 struct tegra_xusb_padctl *padctl; member 171 struct tegra_xusb_padctl *padctl, 263 struct tegra_xusb_padctl *padctl; member 295 tegra_xusb_find_port(struct tegra_xusb_padctl *padctl, const char *type, 314 tegra_xusb_find_usb2_port(struct tegra_xusb_padctl *padctl, 367 tegra_xusb_find_usb3_port(struct tegra_xusb_padctl *padctl, 389 void (*remove)(struct tegra_xusb_padctl *padctl); 391 int (*usb3_save_context)(struct tegra_xusb_padctl *padctl, 393 int (*hsic_set_idle)(struct tegra_xusb_padctl *padctl, [all …]
|
/Linux-v5.10/include/linux/phy/tegra/ |
D | xusb.h | 13 void tegra_xusb_padctl_put(struct tegra_xusb_padctl *padctl); 15 int tegra_xusb_padctl_usb3_save_context(struct tegra_xusb_padctl *padctl, 17 int tegra_xusb_padctl_hsic_set_idle(struct tegra_xusb_padctl *padctl, 19 int tegra_xusb_padctl_usb3_set_lfps_detect(struct tegra_xusb_padctl *padctl, 21 int tegra_xusb_padctl_set_vbus_override(struct tegra_xusb_padctl *padctl, 24 int tegra_xusb_padctl_get_usb3_companion(struct tegra_xusb_padctl *padctl,
|
/Linux-v5.10/Documentation/devicetree/bindings/pinctrl/ |
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-v5.10/arch/arm64/boot/dts/nvidia/ |
D | tegra210-p2371-2180.dts | 22 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, 23 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, 24 <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>, 25 <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>; 31 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>;
|
D | tegra194-p2972-0000.dts | 54 padctl@3520000 { 110 phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>, 111 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>, 112 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>, 113 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-3}>;
|
D | tegra194-p3509-0000+p3668-0000.dts | 49 padctl@3520000 { 97 phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>, 98 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>, 99 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
|
D | tegra210-p3450-0000.dts | 41 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, 42 <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>, 43 <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>, 44 <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>; 51 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>; 450 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, 451 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, 452 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, 453 <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>; 468 padctl@7009f000 {
|
D | tegra186-p2771-0000.dts | 105 padctl@3520000 { 194 phys = <&{/padctl@3520000/pads/usb2/lanes/usb2-0}>, 195 <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>, 196 <&{/padctl@3520000/pads/usb3/lanes/usb3-0}>;
|
D | tegra186.dtsi | 683 padctl: padctl@3520000 { label 684 compatible = "nvidia,tegra186-xusb-padctl"; 687 reg-names = "padctl", "ao"; 690 reset-names = "padctl"; 814 nvidia,xusb-padctl = <&padctl>; 832 nvidia,xusb-padctl = <&padctl>; 1422 padctl@15880000 { 1423 compatible = "nvidia,tegra186-dsi-padctl";
|
D | tegra132.dtsi | 684 nvidia,xusb-padctl = <&padctl>; 689 padctl: padctl@7009f000 { label 690 compatible = "nvidia,tegra132-xusb-padctl", 691 "nvidia,tegra124-xusb-padctl"; 694 reset-names = "padctl";
|
D | tegra132-norrin.dts | 899 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */ 900 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */ 901 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */ 902 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */ 903 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */ 914 padctl@7009f000 {
|
D | tegra210-p2597.dtsi | 1344 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>; 1353 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, 1354 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, 1355 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, 1356 <&{/padctl@7009f000/pads/usb2/lanes/usb2-3}>, 1357 <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>, 1358 <&{/padctl@7009f000/pads/pcie/lanes/pcie-5}>; 1380 padctl@7009f000 {
|
/Linux-v5.10/Documentation/devicetree/bindings/phy/ |
D | nvidia,tegra124-xusb-padctl.txt | 36 - Tegra124: "nvidia,tegra124-xusb-padctl" 37 - Tegra132: "nvidia,tegra132-xusb-padctl", "nvidia,tegra124-xusb-padctl" 38 - Tegra210: "nvidia,tegra210-xusb-padctl" 39 - Tegra186: "nvidia,tegra186-xusb-padctl" 40 - Tegra194: "nvidia,tegra194-xusb-padctl" 44 - "padctl" 269 padctl@7009f000 { 271 compatible = "nvidia,tegra124-xusb-padctl"; 273 compatible = "nvidia,tegra132-xusb-padctl", 274 "nvidia,tegra124-xusb-padctl"; [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/usb/ |
D | nvidia,tegra124-xusb.txt | 42 - nvidia,xusb-padctl: phandle to the XUSB pad controller that is used to 117 nvidia,xusb-padctl = <&padctl>; 119 phys = <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-1}>, /* mini-PCIe USB */ 120 <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-2}>, /* USB A */ 121 <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-0}>; /* USB A */
|
/Linux-v5.10/arch/arm/boot/dts/ |
D | tegra124-nyan.dtsi | 398 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */ 399 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */ 400 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */ 401 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */ 402 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */ 417 padctl@7009f000 {
|
D | tegra124-venice2.dts | 907 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */ 908 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */ 909 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */ 910 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */ 911 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */ 926 padctl@7009f000 {
|
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}>; 1779 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>; 1788 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, 1789 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, 1790 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, 1791 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, 1792 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>; 1804 padctl@7009f000 {
|
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}>; 1786 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>; 1795 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, 1796 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, 1797 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, 1798 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, 1799 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>; 1812 padctl@7009f000 {
|
/Linux-v5.10/drivers/usb/host/ |
D | xhci-tegra.c | 235 struct tegra_xusb_padctl *padctl; member 522 struct tegra_xusb_padctl *padctl = tegra->padctl; in tegra_xusb_mbox_handle() local 570 err = tegra_xusb_padctl_usb3_save_context(padctl, msg->data); in tegra_xusb_mbox_handle() 593 err = tegra_xusb_padctl_hsic_set_idle(padctl, port, in tegra_xusb_mbox_handle() 621 err = tegra_xusb_padctl_usb3_set_lfps_detect(padctl, in tegra_xusb_mbox_handle() 1240 tegra->padctl, in tegra_xhci_id_notify() 1344 tegra->padctl = tegra_xusb_padctl_get(&pdev->dev); in tegra_xusb_probe() 1345 if (IS_ERR(tegra->padctl)) in tegra_xusb_probe() 1346 return PTR_ERR(tegra->padctl); in tegra_xusb_probe() 1637 tegra_xusb_padctl_put(tegra->padctl); in tegra_xusb_probe() [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/pci/ |
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}>;
|