Lines Matching refs:padctl
6 #define pr_fmt(fmt) "tegra-xusb-padctl: " fmt
11 #include "xusb-padctl-common.h"
52 for (i = 0; i < padctl.socdata->num_phys; i++) {
53 phy = &padctl.socdata->phys[i];
63 tegra_xusb_padctl_find_lane(struct tegra_xusb_padctl *padctl, const char *name)
67 for (i = 0; i < padctl->socdata->num_lanes; i++)
68 if (strcmp(name, padctl->socdata->lanes[i].name) == 0)
69 return &padctl->socdata->lanes[i];
75 tegra_xusb_padctl_group_parse_dt(struct tegra_xusb_padctl *padctl,
115 static int tegra_xusb_padctl_find_function(struct tegra_xusb_padctl *padctl,
120 for (i = 0; i < padctl->socdata->num_functions; i++)
121 if (strcmp(name, padctl->socdata->functions[i]) == 0)
128 tegra_xusb_padctl_lane_find_function(struct tegra_xusb_padctl *padctl,
135 func = tegra_xusb_padctl_find_function(padctl, name);
147 tegra_xusb_padctl_group_apply(struct tegra_xusb_padctl *padctl,
157 lane = tegra_xusb_padctl_find_lane(padctl, group->pins[i]);
163 func = tegra_xusb_padctl_lane_find_function(padctl, lane,
171 value = padctl_readl(padctl, lane->offset);
188 padctl_writel(padctl, value, lane->offset);
195 tegra_xusb_padctl_config_apply(struct tegra_xusb_padctl *padctl,
206 err = tegra_xusb_padctl_group_apply(padctl, group);
218 tegra_xusb_padctl_config_parse_dt(struct tegra_xusb_padctl *padctl,
232 err = tegra_xusb_padctl_group_parse_dt(padctl, group, subnode);
244 static int tegra_xusb_padctl_parse_dt(struct tegra_xusb_padctl *padctl,
250 err = ofnode_read_resource(node, 0, &padctl->regs);
257 struct tegra_xusb_padctl_config *config = &padctl->config;
260 err = tegra_xusb_padctl_config_parse_dt(padctl, config,
273 struct tegra_xusb_padctl padctl;
287 padctl.socdata = socdata;
289 err = tegra_xusb_padctl_parse_dt(&padctl, nodes[i]);
295 /* deassert XUSB padctl reset */
298 err = tegra_xusb_padctl_config_apply(&padctl, &padctl.config);