Lines Matching +full:drive +full:- +full:open +full:- +full:source

4  * SPDX-License-Identifier:	GPL-2.0+
11 * struct pinconf_param - pin config parameters
25 * struct pinctrl_ops - pin control operations, to be implemented by
45 * in this driver. (necessary for pin-muxing)
48 * certain device to. (necessary for pin-muxing)
52 * may be ignored. (necessary for pin-muxing against a single pin)
57 * (necessary for pin-muxing against a pin group)
58 * @pinconf_num_params: number of driver-specific parameters to be parsed
59 * from device trees (necessary for pin-configuration)
61 * device trees (necessary for pin-configuration)
63 * (necessary for pin-configuration against a single pin)
65 * (necessary for pin-configuration against a pin group)
91 /* for pinctrl-simple */
94 * request() - Request a particular pinctrl function
99 * @func: Function number (driver-specific)
100 * @return 0 if OK, -ve on error
105 * get_periph_id() - get the peripheral ID for a device
114 * @return peripheral ID of @periph, or -ENOENT on error
119 * get_gpio_mux() - get the mux value for a particular GPIO
130 * @return mux value (SoC-specific, e.g. 0 for input, 1 for output)
135 #define pinctrl_get_ops(dev) ((struct pinctrl_ops *)(dev)->driver->ops)
141 * transition from say pull-up to pull-down implies that you disable
142 * pull-up in the process, this setting disables all biasing.
144 * mode, also know as "third-state" (tristate) or "high-Z" or "floating".
146 * if for example some other pin is going to drive the signal connected
155 * impedance to VDD). If the argument is != 0 pull-up is enabled,
156 * if it is 0, pull-up is total, i.e. the pin is connected to VDD.
158 * impedance to GROUND). If the argument is != 0 pull-down is enabled,
159 * if it is 0, pull-down is total, i.e. the pin is connected to GROUND.
171 * push-pull mode, the argument is ignored.
172 * @PIN_CONFIG_DRIVE_OPEN_DRAIN: the pin will be driven with open drain (open
175 * config will enable open drain mode, the argument is ignored.
176 * @PIN_CONFIG_DRIVE_OPEN_SOURCE: the pin will be driven with open source
177 * (open emitter). Setting this config will enable open source mode, the
179 * @PIN_CONFIG_DRIVE_STRENGTH: the pin will sink or source at most the current
182 * affect the pin's ability to drive output. 1 enables input, 0 disables
184 * @PIN_CONFIG_INPUT_SCHMITT_ENABLE: control schmitt-trigger mode on the pin.
185 * If the argument != 0, schmitt-trigger mode is enabled. If it's 0,
186 * schmitt-trigger mode is disabled.
188 * schmitt-trigger mode. If the schmitt-trigger has adjustable hysteresis,
197 * the driver which alternative power source to use.
235 * pinctrl_generic_set_state() - generic set_state operation
248 return -EINVAL; in pinctrl_generic_set_state()
254 * pinctrl_select_state() - set a device to a given state
263 * pinctrl_request() - Request a particular pinctrl function
266 * @func: Function number (driver-specific)
267 * @flags: Flags (driver-specific)
268 * @return 0 if OK, -ve on error
273 * pinctrl_request_noflags() - Request a particular pinctrl function
278 * @func: Function number (driver-specific)
279 * @return 0 if OK, -ve on error
284 * pinctrl_get_periph_id() - get the peripheral ID for a device
292 * @return peripheral ID of @periph, or -ENOENT on error
297 * pinctrl_decode_pin_config() - decode pin configuration flags
305 * @return decoded flag value, or -ve on error
310 * pinctrl_get_gpio_mux() - get the mux value for a particular GPIO
321 * @return mux value (SoC-specific, e.g. 0 for input, 1 for output)
326 * pinctrl_get_pins_count() - get the total pins count for all GPIOs
338 return -EINVAL; in pinctrl_select_state()
343 return -EINVAL; in pinctrl_request()
348 return -EINVAL; in pinctrl_request_noflags()
353 return -EINVAL; in pinctrl_get_periph_id()
358 return -EINVAL; in pinctrl_decode_pin_config()
363 return -EINVAL; in pinctrl_get_gpio_mux()
368 return -EINVAL; in pinctrl_get_pins_count()