pinconf-generic: add BIAS_BUS_HOLD pinconf
Add a new PIN_CONFIG_BIAS_BUS_HOLD pin configuration for a bus holder pin mode (also known as bus keeper, or repeater). This is a weak latch which drives the last value on a tristate bus. Another device on the bus can drive the bus high or low before going tristate to change the value driven by the pin. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:

committed by
Linus Walleij

parent
73ae368cd3
commit
a2df4269ca
@@ -37,6 +37,7 @@ struct pin_config_item {
|
|||||||
static struct pin_config_item conf_items[] = {
|
static struct pin_config_item conf_items[] = {
|
||||||
PCONFDUMP(PIN_CONFIG_BIAS_DISABLE, "input bias disabled", NULL),
|
PCONFDUMP(PIN_CONFIG_BIAS_DISABLE, "input bias disabled", NULL),
|
||||||
PCONFDUMP(PIN_CONFIG_BIAS_HIGH_IMPEDANCE, "input bias high impedance", NULL),
|
PCONFDUMP(PIN_CONFIG_BIAS_HIGH_IMPEDANCE, "input bias high impedance", NULL),
|
||||||
|
PCONFDUMP(PIN_CONFIG_BIAS_BUS_HOLD, "input bias bus hold", NULL),
|
||||||
PCONFDUMP(PIN_CONFIG_BIAS_PULL_UP, "input bias pull up", NULL),
|
PCONFDUMP(PIN_CONFIG_BIAS_PULL_UP, "input bias pull up", NULL),
|
||||||
PCONFDUMP(PIN_CONFIG_BIAS_PULL_DOWN, "input bias pull down", NULL),
|
PCONFDUMP(PIN_CONFIG_BIAS_PULL_DOWN, "input bias pull down", NULL),
|
||||||
PCONFDUMP(PIN_CONFIG_DRIVE_PUSH_PULL, "output drive push pull", NULL),
|
PCONFDUMP(PIN_CONFIG_DRIVE_PUSH_PULL, "output drive push pull", NULL),
|
||||||
|
@@ -29,6 +29,11 @@
|
|||||||
* if for example some other pin is going to drive the signal connected
|
* if for example some other pin is going to drive the signal connected
|
||||||
* to it for a while. Pins used for input are usually always high
|
* to it for a while. Pins used for input are usually always high
|
||||||
* impedance.
|
* impedance.
|
||||||
|
* @PIN_CONFIG_BIAS_BUS_HOLD: the pin will be set to weakly latch so that it
|
||||||
|
* weakly drives the last value on a tristate bus, also known as a "bus
|
||||||
|
* holder", "bus keeper" or "repeater". This allows another device on the
|
||||||
|
* bus to change the value by driving the bus high or low and switching to
|
||||||
|
* tristate. The argument is ignored.
|
||||||
* @PIN_CONFIG_BIAS_PULL_UP: the pin will be pulled up (usually with high
|
* @PIN_CONFIG_BIAS_PULL_UP: the pin will be pulled up (usually with high
|
||||||
* impedance to VDD). If the argument is != 0 pull-up is enabled,
|
* impedance to VDD). If the argument is != 0 pull-up is enabled,
|
||||||
* if it is 0, pull-up is disabled.
|
* if it is 0, pull-up is disabled.
|
||||||
@@ -78,6 +83,7 @@
|
|||||||
enum pin_config_param {
|
enum pin_config_param {
|
||||||
PIN_CONFIG_BIAS_DISABLE,
|
PIN_CONFIG_BIAS_DISABLE,
|
||||||
PIN_CONFIG_BIAS_HIGH_IMPEDANCE,
|
PIN_CONFIG_BIAS_HIGH_IMPEDANCE,
|
||||||
|
PIN_CONFIG_BIAS_BUS_HOLD,
|
||||||
PIN_CONFIG_BIAS_PULL_UP,
|
PIN_CONFIG_BIAS_PULL_UP,
|
||||||
PIN_CONFIG_BIAS_PULL_DOWN,
|
PIN_CONFIG_BIAS_PULL_DOWN,
|
||||||
PIN_CONFIG_DRIVE_PUSH_PULL,
|
PIN_CONFIG_DRIVE_PUSH_PULL,
|
||||||
|
Reference in New Issue
Block a user