15 #include <linux/module.h>
24 #define V(f6180, f6190, f6192, f6281, f6282) \
25 ((f6180 << 0) | (f6190 << 1) | (f6192 << 2) | \
26 (f6281 << 3) | (f6282 << 4))
364 static struct pinctrl_gpio_range mv88f6180_gpio_ranges[] = {
372 static struct pinctrl_gpio_range mv88f619x_gpio_ranges[] = {
381 static struct pinctrl_gpio_range mv88f628x_gpio_ranges[] = {
388 .controls = mv88f6180_mpp_controls,
389 .ncontrols =
ARRAY_SIZE(mv88f6180_mpp_controls),
390 .modes = mv88f6xxx_mpp_modes,
392 .gpioranges = mv88f6180_gpio_ranges,
393 .ngpioranges =
ARRAY_SIZE(mv88f6180_gpio_ranges),
398 .controls = mv88f619x_mpp_controls,
399 .ncontrols =
ARRAY_SIZE(mv88f619x_mpp_controls),
400 .modes = mv88f6xxx_mpp_modes,
402 .gpioranges = mv88f619x_gpio_ranges,
403 .ngpioranges =
ARRAY_SIZE(mv88f619x_gpio_ranges),
408 .controls = mv88f619x_mpp_controls,
409 .ncontrols =
ARRAY_SIZE(mv88f619x_mpp_controls),
410 .modes = mv88f6xxx_mpp_modes,
412 .gpioranges = mv88f619x_gpio_ranges,
413 .ngpioranges =
ARRAY_SIZE(mv88f619x_gpio_ranges),
418 .controls = mv88f628x_mpp_controls,
419 .ncontrols =
ARRAY_SIZE(mv88f628x_mpp_controls),
420 .modes = mv88f6xxx_mpp_modes,
422 .gpioranges = mv88f628x_gpio_ranges,
423 .ngpioranges =
ARRAY_SIZE(mv88f628x_gpio_ranges),
428 .controls = mv88f628x_mpp_controls,
429 .ncontrols =
ARRAY_SIZE(mv88f628x_mpp_controls),
430 .modes = mv88f6xxx_mpp_modes,
432 .gpioranges = mv88f628x_gpio_ranges,
433 .ngpioranges =
ARRAY_SIZE(mv88f628x_gpio_ranges),
437 { .compatible =
"marvell,88f6180-pinctrl", .data = &mv88f6180_info },
438 { .compatible =
"marvell,88f6190-pinctrl", .data = &mv88f6190_info },
439 { .compatible =
"marvell,88f6192-pinctrl", .data = &mv88f6192_info },
440 { .compatible =
"marvell,88f6281-pinctrl", .data = &mv88f6281_info },
441 { .compatible =
"marvell,88f6282-pinctrl", .data = &mv88f6282_info },
449 pdev->
dev.platform_data = match->
data;
460 .name =
"kirkwood-pinctrl",
462 .of_match_table =
of_match_ptr(kirkwood_pinctrl_of_match),
464 .probe = kirkwood_pinctrl_probe,