Home
last modified time | relevance | path

Searched refs:padctl (Results 1 – 25 of 36) sorted by relevance

12

/Linux-v6.1/drivers/pinctrl/tegra/
Dpinctrl-tegra-xusb.c93 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-v6.1/drivers/phy/tegra/
Dxusb-tegra210.c432 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 …]
Dxusb.c80 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 …]
Dxusb-tegra186.c276 to_tegra186_xusb_padctl(struct tegra_xusb_padctl *padctl) in to_tegra186_xusb_padctl() argument
278 return container_of(padctl, struct tegra186_xusb_padctl, base); in to_tegra186_xusb_padctl()
318 struct tegra_xusb_padctl *padctl = lane->pad->padctl; in tegra186_utmi_enable_phy_sleepwalk() local
319 struct tegra186_xusb_padctl *priv = to_tegra186_xusb_padctl(padctl); in tegra186_utmi_enable_phy_sleepwalk()
323 mutex_lock(&padctl->lock); in tegra186_utmi_enable_phy_sleepwalk()
455 mutex_unlock(&padctl->lock); in tegra186_utmi_enable_phy_sleepwalk()
462 struct tegra_xusb_padctl *padctl = lane->pad->padctl; in tegra186_utmi_disable_phy_sleepwalk() local
463 struct tegra186_xusb_padctl *priv = to_tegra186_xusb_padctl(padctl); in tegra186_utmi_disable_phy_sleepwalk()
467 mutex_lock(&padctl->lock); in tegra186_utmi_disable_phy_sleepwalk()
496 mutex_unlock(&padctl->lock); in tegra186_utmi_disable_phy_sleepwalk()
[all …]
Dxusb-tegra124.c220 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 …]
Dxusb.h152 struct tegra_xusb_pad *(*probe)(struct tegra_xusb_padctl *padctl,
169 struct tegra_xusb_padctl *padctl; member
185 struct tegra_xusb_padctl *padctl,
277 struct tegra_xusb_padctl *padctl; member
309 tegra_xusb_find_port(struct tegra_xusb_padctl *padctl, const char *type,
328 tegra_xusb_find_usb2_port(struct tegra_xusb_padctl *padctl,
381 tegra_xusb_find_usb3_port(struct tegra_xusb_padctl *padctl,
403 void (*remove)(struct tegra_xusb_padctl *padctl);
405 int (*suspend_noirq)(struct tegra_xusb_padctl *padctl);
406 int (*resume_noirq)(struct tegra_xusb_padctl *padctl);
[all …]
/Linux-v6.1/include/linux/phy/tegra/
Dxusb.h14 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,
29 int tegra_xusb_padctl_enable_phy_sleepwalk(struct tegra_xusb_padctl *padctl, struct phy *phy,
31 int tegra_xusb_padctl_disable_phy_sleepwalk(struct tegra_xusb_padctl *padctl, struct phy *phy);
32 int tegra_xusb_padctl_enable_phy_wake(struct tegra_xusb_padctl *padctl, struct phy *phy);
33 int tegra_xusb_padctl_disable_phy_wake(struct tegra_xusb_padctl *padctl, struct phy *phy);
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/pinctrl/
Dnvidia,tegra124-xusb-padctl.txt7 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-v6.1/Documentation/devicetree/bindings/phy/
Dnvidia,tegra124-xusb-padctl.txt36 - 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"
270 padctl@7009f000 {
272 compatible = "nvidia,tegra124-xusb-padctl";
274 compatible = "nvidia,tegra132-xusb-padctl",
275 "nvidia,tegra124-xusb-padctl";
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/usb/
Dnvidia,tegra124-xusb.txt42 - 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-v6.1/drivers/usb/host/
Dxhci-tegra.c238 struct tegra_xusb_padctl *padctl; member
525 struct tegra_xusb_padctl *padctl = tegra->padctl; in tegra_xusb_mbox_handle() local
573 err = tegra_xusb_padctl_usb3_save_context(padctl, msg->data); in tegra_xusb_mbox_handle()
596 err = tegra_xusb_padctl_hsic_set_idle(padctl, port, in tegra_xusb_mbox_handle()
624 err = tegra_xusb_padctl_usb3_set_lfps_detect(padctl, in tegra_xusb_mbox_handle()
1274 struct tegra_xusb_padctl *padctl = tegra->padctl; in is_usb3_otg_phy() local
1280 port = tegra_xusb_padctl_get_usb3_companion(padctl, i); in is_usb3_otg_phy()
1343 tegra->padctl, in tegra_xhci_id_notify()
1448 tegra->padctl = tegra_xusb_padctl_get(&pdev->dev); in tegra_xusb_probe()
1449 if (IS_ERR(tegra->padctl)) in tegra_xusb_probe()
[all …]
/Linux-v6.1/drivers/pinctrl/starfive/
Dpinctrl-starfive-jh7100.c208 void __iomem *padctl; member
697 void __iomem *reg = sfp->padctl + 4 * (pin / 2); in starfive_padctl_get()
707 void __iomem *reg = sfp->padctl + 4 * (pin / 2); in starfive_padctl_rmw()
1242 sfp->padctl = devm_platform_ioremap_resource_byname(pdev, "padctl"); in starfive_probe()
1243 if (IS_ERR(sfp->padctl)) in starfive_probe()
1244 return PTR_ERR(sfp->padctl); in starfive_probe()
1283 writel(value, sfp->padctl + IO_PADSHARE_SEL); in starfive_probe()
1286 value = readl(sfp->padctl + IO_PADSHARE_SEL); in starfive_probe()
/Linux-v6.1/arch/arm64/boot/dts/nvidia/
Dtegra210-p3450-0000.dts38 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}>;
437 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>,
438 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>,
439 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>,
440 <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>;
450 padctl@7009f000 {
Dtegra210-p2371-2180.dts19 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}>;
Dtegra186-p3509-0000+p3636-0001.dts131 padctl@3520000 {
217 phys = <&{/padctl@3520000/pads/usb2/lanes/usb2-0}>,
218 <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>,
219 <&{/padctl@3520000/pads/usb2/lanes/usb2-2}>,
220 <&{/padctl@3520000/pads/usb3/lanes/usb3-1}>;
Dtegra132.dtsi693 nvidia,xusb-padctl = <&padctl>;
698 padctl: padctl@7009f000 { label
699 compatible = "nvidia,tegra132-xusb-padctl",
700 "nvidia,tegra124-xusb-padctl";
703 reset-names = "padctl";
Dtegra194-p2972-0000.dts2026 padctl@3520000 {
2100 phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
2101 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
2102 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
2103 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
2104 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>,
2105 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-3}>;
Dtegra132-norrin.dts897 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */
898 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */
899 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */
900 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */
901 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */
912 padctl@7009f000 {
Dtegra186.dtsi998 padctl: padctl@3520000 { label
999 compatible = "nvidia,tegra186-xusb-padctl";
1002 reg-names = "padctl", "ao";
1006 reset-names = "padctl";
1130 nvidia,xusb-padctl = <&padctl>;
1151 nvidia,xusb-padctl = <&padctl>;
1820 padctl@15880000 {
1821 compatible = "nvidia,tegra186-dsi-padctl";
Dtegra210-p2597.dtsi1344 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}>;
1375 padctl@7009f000 {
/Linux-v6.1/arch/arm/boot/dts/
Dtegra124-nyan.dtsi403 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */
404 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */
405 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */
406 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */
407 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */
422 padctl@7009f000 {
Dtegra124-venice2.dts915 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */
916 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */
917 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */
918 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */
919 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */
934 padctl@7009f000 {
Dtegra124-apalis-v1.2.dtsi32 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}>;
1789 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>;
1798 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>,
1799 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>,
1800 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>,
1801 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>,
1802 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>;
1815 padctl@7009f000 {
Dtegra124-apalis.dtsi31 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}>;
1782 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>;
1791 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>,
1792 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>,
1793 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>,
1794 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>,
1795 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>;
1807 padctl@7009f000 {
/Linux-v6.1/Documentation/devicetree/bindings/pci/
Dnvidia,tegra20-pcie.txt452 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}>;

12