Commit b4e18ba2 authored by Krishna Yarlagadda's avatar Krishna Yarlagadda Committed by Linus Walleij

pinctrl: tegra: Support 32 bit register access

Tegra194 chip has 32 bit pinctrl registers. Existing register defines in
header are only 16 bit.
Modified common pinctrl-tegra driver to support 32 bit registers of
Tegra 194 and later chips.
Signed-off-by: default avatarKrishna Yarlagadda <kyarlagadda@nvidia.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 2585a584
...@@ -292,7 +292,7 @@ static int tegra_pinconf_reg(struct tegra_pmx *pmx, ...@@ -292,7 +292,7 @@ static int tegra_pinconf_reg(struct tegra_pmx *pmx,
const struct tegra_pingroup *g, const struct tegra_pingroup *g,
enum tegra_pinconf_param param, enum tegra_pinconf_param param,
bool report_err, bool report_err,
s8 *bank, s16 *reg, s8 *bit, s8 *width) s8 *bank, s32 *reg, s8 *bit, s8 *width)
{ {
switch (param) { switch (param) {
case TEGRA_PINCONF_PARAM_PULL: case TEGRA_PINCONF_PARAM_PULL:
...@@ -451,7 +451,7 @@ static int tegra_pinconf_group_get(struct pinctrl_dev *pctldev, ...@@ -451,7 +451,7 @@ static int tegra_pinconf_group_get(struct pinctrl_dev *pctldev,
const struct tegra_pingroup *g; const struct tegra_pingroup *g;
int ret; int ret;
s8 bank, bit, width; s8 bank, bit, width;
s16 reg; s32 reg;
u32 val, mask; u32 val, mask;
g = &pmx->soc->groups[group]; g = &pmx->soc->groups[group];
...@@ -480,7 +480,7 @@ static int tegra_pinconf_group_set(struct pinctrl_dev *pctldev, ...@@ -480,7 +480,7 @@ static int tegra_pinconf_group_set(struct pinctrl_dev *pctldev,
const struct tegra_pingroup *g; const struct tegra_pingroup *g;
int ret, i; int ret, i;
s8 bank, bit, width; s8 bank, bit, width;
s16 reg; s32 reg;
u32 val, mask; u32 val, mask;
g = &pmx->soc->groups[group]; g = &pmx->soc->groups[group];
...@@ -548,7 +548,7 @@ static void tegra_pinconf_group_dbg_show(struct pinctrl_dev *pctldev, ...@@ -548,7 +548,7 @@ static void tegra_pinconf_group_dbg_show(struct pinctrl_dev *pctldev,
const struct tegra_pingroup *g; const struct tegra_pingroup *g;
int i, ret; int i, ret;
s8 bank, bit, width; s8 bank, bit, width;
s16 reg; s32 reg;
u32 val; u32 val;
g = &pmx->soc->groups[group]; g = &pmx->soc->groups[group];
......
...@@ -143,10 +143,10 @@ struct tegra_pingroup { ...@@ -143,10 +143,10 @@ struct tegra_pingroup {
const unsigned *pins; const unsigned *pins;
u8 npins; u8 npins;
u8 funcs[4]; u8 funcs[4];
s16 mux_reg; s32 mux_reg;
s16 pupd_reg; s32 pupd_reg;
s16 tri_reg; s32 tri_reg;
s16 drv_reg; s32 drv_reg;
u32 mux_bank:2; u32 mux_bank:2;
u32 pupd_bank:2; u32 pupd_bank:2;
u32 tri_bank:2; u32 tri_bank:2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment