Lines Matching +full:- +full:pinfunc
6 * SPDX-License-Identifier: GPL-2.0+
13 #include "pinctrl-exynos.h"
36 /* given a pin-name, return the address of pin config registers */
41 const struct samsung_pin_ctrl *pin_ctrl = priv->pin_ctrl; in pin_to_bank_base()
42 const struct samsung_pin_bank_data *bank_data = pin_ctrl->pin_banks; in pin_to_bank_base()
43 u32 nr_banks = pin_ctrl->nr_banks, idx = 0; in pin_to_bank_base()
47 * The format of the pin name is <bank name>-<pin_number>. in pin_to_bank_base()
48 * Example: gpa0-4 (gpa0 is the bank name and 4 is the pin number. in pin_to_bank_base()
50 while (pin_name[idx] != '-') { in pin_to_bank_base()
55 *pin = pin_name[++idx] - '0'; in pin_to_bank_base()
62 return priv->base + bank_data[idx].offset; in pin_to_bank_base()
72 const void *fdt = gd->fdt_blob; in exynos_pinctrl_set_state()
75 unsigned int pinfunc, pinpud, pindrv; in exynos_pinctrl_set_state() local
81 * linux/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt in exynos_pinctrl_set_state()
85 return -EINVAL; in exynos_pinctrl_set_state()
87 pinfunc = fdtdec_get_int(fdt, node, "samsung,pin-function", -1); in exynos_pinctrl_set_state()
88 pinpud = fdtdec_get_int(fdt, node, "samsung,pin-pud", -1); in exynos_pinctrl_set_state()
89 pindrv = fdtdec_get_int(fdt, node, "samsung,pin-drv", -1); in exynos_pinctrl_set_state()
97 if (pinfunc != -1) { in exynos_pinctrl_set_state()
100 value |= (pinfunc << (pin_num << 2)); in exynos_pinctrl_set_state()
104 if (pinpud != -1) { in exynos_pinctrl_set_state()
111 if (pindrv != -1) { in exynos_pinctrl_set_state()
129 return -EINVAL; in exynos_pinctrl_probe()
133 return -EINVAL; in exynos_pinctrl_probe()
135 priv->base = base; in exynos_pinctrl_probe()
136 priv->pin_ctrl = (struct samsung_pin_ctrl *)dev_get_driver_data(dev) + in exynos_pinctrl_probe()
137 dev->req_seq; in exynos_pinctrl_probe()