64 lines
1.9 KiB
C
64 lines
1.9 KiB
C
|
/*
|
||
|
* 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
|