mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
dm: pinctrl: Add pinctrl_get_pin_name and pinctrl_get_pins_count
Add pinctrl_get_pin_name() and pinctrl_get_pins_count() methods to obtain pin's name and pin's muxing given a pin reference. This will be used by the new pinmux command. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
f55a0c0a20
commit
8bbb5b2085
2 changed files with 45 additions and 0 deletions
|
@ -249,6 +249,29 @@ int pinctrl_get_gpio_mux(struct udevice *dev, int banknum, int index)
|
|||
return ops->get_gpio_mux(dev, banknum, index);
|
||||
}
|
||||
|
||||
int pinctrl_get_pins_count(struct udevice *dev)
|
||||
{
|
||||
struct pinctrl_ops *ops = pinctrl_get_ops(dev);
|
||||
|
||||
if (!ops->get_pins_count)
|
||||
return -ENOSYS;
|
||||
|
||||
return ops->get_pins_count(dev);
|
||||
}
|
||||
|
||||
int pinctrl_get_pin_name(struct udevice *dev, int selector, char *buf,
|
||||
int size)
|
||||
{
|
||||
struct pinctrl_ops *ops = pinctrl_get_ops(dev);
|
||||
|
||||
if (!ops->get_pin_name)
|
||||
return -ENOSYS;
|
||||
|
||||
snprintf(buf, size, ops->get_pin_name(dev, selector));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pinctrl_get_pin_muxing(struct udevice *dev, int selector, char *buf,
|
||||
int size)
|
||||
{
|
||||
|
|
|
@ -382,4 +382,26 @@ int pinctrl_get_gpio_mux(struct udevice *dev, int banknum, int index);
|
|||
int pinctrl_get_pin_muxing(struct udevice *dev, int selector, char *buf,
|
||||
int size);
|
||||
|
||||
/**
|
||||
* pinctrl_get_pins_count() - display pin-controller pins number
|
||||
*
|
||||
* This allows to know the number of pins owned by a given pin-controller
|
||||
*
|
||||
* @dev: Pinctrl device to use
|
||||
* @return pins number if OK, -ve on error
|
||||
*/
|
||||
int pinctrl_get_pins_count(struct udevice *dev);
|
||||
|
||||
/**
|
||||
* pinctrl_get_pin_name() - Returns the pin's name
|
||||
*
|
||||
* This allows to display the pin's name for debug purpose
|
||||
*
|
||||
* @dev: Pinctrl device to use
|
||||
* @selector Pin index within pin-controller
|
||||
* @buf Pin's name
|
||||
* @return 0 if OK, -ve on error
|
||||
*/
|
||||
int pinctrl_get_pin_name(struct udevice *dev, int selector, char *buf,
|
||||
int size);
|
||||
#endif /* __PINCTRL_H */
|
||||
|
|
Loading…
Reference in a new issue