Lines Matching full:lane
130 const struct tegra_xusb_padctl_lane *lane, in tegra_xusb_padctl_lane_find_function() argument
140 for (i = 0; i < lane->num_funcs; i++) in tegra_xusb_padctl_lane_find_function()
141 if (lane->funcs[i] == func) in tegra_xusb_padctl_lane_find_function()
154 const struct tegra_xusb_padctl_lane *lane; in tegra_xusb_padctl_group_apply() local
158 lane = tegra_xusb_padctl_find_lane(padctl, group->pins[i]); in tegra_xusb_padctl_group_apply()
159 if (!lane) { in tegra_xusb_padctl_group_apply()
160 pr_err("no lane for pin %s", group->pins[i]); in tegra_xusb_padctl_group_apply()
164 func = tegra_xusb_padctl_lane_find_function(padctl, lane, in tegra_xusb_padctl_group_apply()
167 pr_err("function %s invalid for lane %s: %d", in tegra_xusb_padctl_group_apply()
168 group->func, lane->name, func); in tegra_xusb_padctl_group_apply()
172 value = padctl_readl(padctl, lane->offset); in tegra_xusb_padctl_group_apply()
175 value &= ~(lane->mask << lane->shift); in tegra_xusb_padctl_group_apply()
176 value |= func << lane->shift; in tegra_xusb_padctl_group_apply()
179 * Set IDDQ if supported on the lane and specified in the in tegra_xusb_padctl_group_apply()
182 if (lane->iddq > 0 && group->iddq >= 0) { in tegra_xusb_padctl_group_apply()
184 value &= ~(1 << lane->iddq); in tegra_xusb_padctl_group_apply()
186 value |= 1 << lane->iddq; in tegra_xusb_padctl_group_apply()
189 padctl_writel(padctl, value, lane->offset); in tegra_xusb_padctl_group_apply()