mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 08:59:33 +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);
|
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 pinctrl_get_pin_muxing(struct udevice *dev, int selector, char *buf,
|
||||||
int size)
|
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 pinctrl_get_pin_muxing(struct udevice *dev, int selector, char *buf,
|
||||||
int size);
|
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 */
|
#endif /* __PINCTRL_H */
|
||||||
|
|
Loading…
Reference in a new issue