[PATCH 1/4] pinctrl: Add NVIDIA Tegra XUSB pad controller support
Stephen Warren
swarren at wwwdotorg.org
Thu Jun 5 10:08:54 PDT 2014
On 06/04/2014 09:16 AM, Thierry Reding wrote:
> From: Thierry Reding <treding at nvidia.com>
>
> The XUSB pad controller found on NVIDIA Tegra SoCs provides several pads
> that lanes can be assigned to in order to support a variety of interface
> options: USB 2.0, USB 3.0, PCIe and SATA.
>
> In addition to the pin controller used to assign lanes to pads two PHYs
> are exposed to allow the bricks for PCIe and SATA to be powered up and
> down by PCIe and SATA drivers.
> +#define TEGRA124_GROUP(_funcs) \
> + { \
> + .num_funcs = ARRAY_SIZE(tegra124_##_funcs##_functions), \
> + .funcs = tegra124_##_funcs##_functions, \
> + }
> +
> +static const struct tegra_xusb_padctl_group tegra124_groups[] = {
> + TEGRA124_GROUP(otg),
> + TEGRA124_GROUP(usb),
> + TEGRA124_GROUP(pci),
> +};
I'm not sure what this set of groups is for.
pinctrl muxes functions onto groups, so given that each pin in padctl is
individually configurable, we need 1 group per pin. As far as I can
tell, tegra_xusb_padctl_get_groups_count()/name() implement this
correctly, and this array isn't used anywhere?
More information about the linux-arm-kernel
mailing list