forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'pinctrl-for-3.4' of git://git.kernel.org/pub/scm/linux/ker…
…nel/git/linusw/linux-pinctrl Pull pinctrl updates for v3.4 from Linus Walleij (*): - Switches the PXA 168, 910 and MMP over to use pinctrl - Locking revamped - Massive refactorings... - Reform the driver API to use multiple states - Support pin config in the mapping tables - Pinctrl drivers for the nVidia Tegra series - Generic pin config support lib for simple pin controllers - Implement pin config for the U300 * tag 'pinctrl-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (48 commits) ARM: u300: configure some pins as an example pinctrl: support pinconfig on the U300 pinctrl/coh901: use generic pinconf enums and parameters pinctrl: introduce generic pin config pinctrl: fix error path in pinconf_map_to_setting() pinctrl: allow concurrent gpio and mux function ownership of pins pinctrl: forward-declare struct device pinctrl: split pincontrol states into its own header pinctrl: include machine header to core.h ARM: tegra: Select PINCTRL Kconfig variables pinctrl: add a driver for NVIDIA Tegra pinctrl: Show selected function and group in pinmux-pins debugfs pinctrl: enhance mapping table to support pin config operations pinctrl: API changes to support multiple states per device pinctrl: add usecount to pins for muxing pinctrl: refactor struct pinctrl handling in core.c vs pinmux.c pinctrl: fix and simplify locking pinctrl: fix the pin descriptor kerneldoc pinctrl: assume map table entries can't have a NULL name field pinctrl: introduce PINCTRL_STATE_DEFAULT, define hogs as that state ... (*) What is it with all these Linuses these days? There's a Linus at google too. Some day I will get myself my own broadsword, and run around screaming "There can be only one". I used to be _special_ dammit. Snif.
- Loading branch information
Showing
35 changed files
with
12,805 additions
and
1,447 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
/* | ||
* pinctrl configuration definitions for the NVIDIA Tegra pinmux | ||
* | ||
* Copyright (c) 2011, NVIDIA CORPORATION. All rights reserved. | ||
* | ||
* This program is free software; you can redistribute it and/or modify it | ||
* under the terms and conditions of the GNU General Public License, | ||
* version 2, as published by the Free Software Foundation. | ||
* | ||
* This program is distributed in the hope it will be useful, but WITHOUT | ||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
* more details. | ||
*/ | ||
|
||
#ifndef __PINCONF_TEGRA_H__ | ||
#define __PINCONF_TEGRA_H__ | ||
|
||
enum tegra_pinconf_param { | ||
/* argument: tegra_pinconf_pull */ | ||
TEGRA_PINCONF_PARAM_PULL, | ||
/* argument: tegra_pinconf_tristate */ | ||
TEGRA_PINCONF_PARAM_TRISTATE, | ||
/* argument: Boolean */ | ||
TEGRA_PINCONF_PARAM_ENABLE_INPUT, | ||
/* argument: Boolean */ | ||
TEGRA_PINCONF_PARAM_OPEN_DRAIN, | ||
/* argument: Boolean */ | ||
TEGRA_PINCONF_PARAM_LOCK, | ||
/* argument: Boolean */ | ||
TEGRA_PINCONF_PARAM_IORESET, | ||
/* argument: Boolean */ | ||
TEGRA_PINCONF_PARAM_HIGH_SPEED_MODE, | ||
/* argument: Boolean */ | ||
TEGRA_PINCONF_PARAM_SCHMITT, | ||
/* argument: Boolean */ | ||
TEGRA_PINCONF_PARAM_LOW_POWER_MODE, | ||
/* argument: Integer, range is HW-dependant */ | ||
TEGRA_PINCONF_PARAM_DRIVE_DOWN_STRENGTH, | ||
/* argument: Integer, range is HW-dependant */ | ||
TEGRA_PINCONF_PARAM_DRIVE_UP_STRENGTH, | ||
/* argument: Integer, range is HW-dependant */ | ||
TEGRA_PINCONF_PARAM_SLEW_RATE_FALLING, | ||
/* argument: Integer, range is HW-dependant */ | ||
TEGRA_PINCONF_PARAM_SLEW_RATE_RISING, | ||
}; | ||
|
||
enum tegra_pinconf_pull { | ||
TEGRA_PINCONFIG_PULL_NONE, | ||
TEGRA_PINCONFIG_PULL_DOWN, | ||
TEGRA_PINCONFIG_PULL_UP, | ||
}; | ||
|
||
enum tegra_pinconf_tristate { | ||
TEGRA_PINCONFIG_DRIVEN, | ||
TEGRA_PINCONFIG_TRISTATE, | ||
}; | ||
|
||
#define TEGRA_PINCONF_PACK(_param_, _arg_) ((_param_) << 16 | (_arg_)) | ||
#define TEGRA_PINCONF_UNPACK_PARAM(_conf_) ((_conf_) >> 16) | ||
#define TEGRA_PINCONF_UNPACK_ARG(_conf_) ((_conf_) & 0xffff) | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.