Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/rockchip/rk_gpio.c
Show First 20 Lines • Show All 203 Lines • ▼ Show 20 Lines | rk_gpio_pin_max(device_t dev, int *maxpin) | ||||
*maxpin = 31; | *maxpin = 31; | ||||
return (0); | return (0); | ||||
} | } | ||||
static int | static int | ||||
rk_gpio_pin_getname(device_t dev, uint32_t pin, char *name) | rk_gpio_pin_getname(device_t dev, uint32_t pin, char *name) | ||||
{ | { | ||||
struct rk_gpio_softc *sc; | struct rk_gpio_softc *sc; | ||||
uint32_t bank; | |||||
sc = device_get_softc(dev); | sc = device_get_softc(dev); | ||||
if (pin >= 32) | if (pin >= 32) | ||||
return (EINVAL); | return (EINVAL); | ||||
bank = pin / 8; | |||||
pin = pin - (bank * 8); | |||||
RK_GPIO_LOCK(sc); | RK_GPIO_LOCK(sc); | ||||
snprintf(name, GPIOMAXNAME, "gpio%d", pin); | snprintf(name, GPIOMAXNAME, "P%c%d", bank + 'A', pin); | ||||
RK_GPIO_UNLOCK(sc); | RK_GPIO_UNLOCK(sc); | ||||
return (0); | return (0); | ||||
} | } | ||||
static int | static int | ||||
rk_gpio_pin_getflags(device_t dev, uint32_t pin, uint32_t *flags) | rk_gpio_pin_getflags(device_t dev, uint32_t pin, uint32_t *flags) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 247 Lines • Show Last 20 Lines |