Lines Matching +full:cmd +full:- +full:dat +full:- +full:pins
5 * Copyright (C) 2009-2011 ST-Ericsson AB
10 * pins, so we enumerate the pads we can mux rather than actual pins. The pads
11 * are connected to different pins in different packaging types, so it would
24 #include <linux/pinctrl/pinconf-generic.h>
25 #include "pinctrl-coh901.h"
169 #define DRIVER_NAME "pinctrl-u300"
360 PINCTRL_PIN(171, "MMC CMD DIR LS"),
365 PINCTRL_PIN(176, "MMC CMD"),
622 PINCTRL_PIN(431, "PIO ACC SDIO0 CMD"),
630 PINCTRL_PIN(439, "PIO USB DAT VP"),
671 * u300_pmx_registers - the array of registers read/written for each pinmux
683 * struct u300_pin_group - describes a U300 pin group
685 * @pins: an array of discrete physical pins used in this group, taken
686 * from the driver-local pin enumeration space
687 * @num_pins: the number of pins in this group array, i.e. the number of
688 * elements in .pins so we can iterate over that array
692 const unsigned int *pins; member
697 * struct pmx_onmask - mask bits to enable/disable padmux
715 /* The chip power pins are VDD, GND, VDDIO and VSSIO */
808 .pins = power_pins,
813 .pins = emif0_pins,
818 .pins = emif1_pins,
823 .pins = uart0_pins,
828 .pins = mmc0_pins,
833 .pins = spi0_pins,
850 const unsigned **pins, in u300_get_group_pins() argument
853 *pins = u300_pin_groups[selector].pins; in u300_get_group_pins()
876 * struct u300_pmx_func - describes U300 pinmux functions
944 val = upmx_mask->bits; in u300_pmx_endisable()
948 mask = upmx_mask->mask; in u300_pmx_endisable()
950 regval = readw(upmx->virtbase + u300_pmx_registers[i]); in u300_pmx_endisable()
953 writew(regval, upmx->virtbase + u300_pmx_registers[i]); in u300_pmx_endisable()
964 /* There is nothing to do with the power pins */ in u300_pmx_set_mux()
1007 /* We get config for those pins we CAN get it for and that's it */ in u300_pin_config_get()
1009 return -ENOTSUPP; in u300_pin_config_get()
1011 return u300_gpio_config_get(range->gc, in u300_pin_config_get()
1012 (pin - range->pin_base + range->base), in u300_pin_config_get()
1024 return -EINVAL; in u300_pin_config_set()
1028 ret = u300_gpio_config_set(range->gc, in u300_pin_config_set()
1029 (pin - range->pin_base + range->base), in u300_pin_config_set()
1046 .pins = u300_pads,
1060 upmx = devm_kzalloc(&pdev->dev, sizeof(*upmx), GFP_KERNEL); in u300_pmx_probe()
1062 return -ENOMEM; in u300_pmx_probe()
1064 upmx->dev = &pdev->dev; in u300_pmx_probe()
1067 upmx->virtbase = devm_ioremap_resource(&pdev->dev, res); in u300_pmx_probe()
1068 if (IS_ERR(upmx->virtbase)) in u300_pmx_probe()
1069 return PTR_ERR(upmx->virtbase); in u300_pmx_probe()
1071 upmx->pctl = devm_pinctrl_register(&pdev->dev, &u300_pmx_desc, upmx); in u300_pmx_probe()
1072 if (IS_ERR(upmx->pctl)) { in u300_pmx_probe()
1073 dev_err(&pdev->dev, "could not register U300 pinmux driver\n"); in u300_pmx_probe()
1074 return PTR_ERR(upmx->pctl); in u300_pmx_probe()
1079 dev_info(&pdev->dev, "initialized U300 pin control driver\n"); in u300_pmx_probe()
1085 { .compatible = "stericsson,pinctrl-u300" },