lantiq: Fix ar8216 switch configuration
[openwrt.git] / target / linux / lantiq / patches-3.8 / 0013-PINCTRL-lantiq-add-functionality-to-falcon_pinconf_d.patch
1 From 98d06bc9e2a2f534aaaf4229aaf871e394234d20 Mon Sep 17 00:00:00 2001
2 From: John Crispin <blogic@openwrt.org>
3 Date: Wed, 30 Jan 2013 20:13:09 +0100
4 Subject: [PATCH 13/40] PINCTRL: lantiq: add functionality to
5  falcon_pinconf_dbg_show
6
7 The current code only has a stub for falcon_pinconf_dbg_show. This patch adds
8 proper functionality.
9
10 Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
11 Signed-off-by: John Crispin <blogic@openwrt.org>
12 ---
13  drivers/pinctrl/pinctrl-falcon.c |   31 +++++++++++++++++++++++++++++++
14  1 file changed, 31 insertions(+)
15
16 --- a/drivers/pinctrl/pinctrl-falcon.c
17 +++ b/drivers/pinctrl/pinctrl-falcon.c
18 @@ -315,6 +315,37 @@ static int falcon_pinconf_set(struct pin
19  static void falcon_pinconf_dbg_show(struct pinctrl_dev *pctrldev,
20                         struct seq_file *s, unsigned offset)
21  {
22 +       unsigned long config;
23 +       struct pin_desc *desc;
24 +
25 +       struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
26 +       int port = PORT(offset);
27 +
28 +       seq_printf(s, " (port %d) mux %d -- ", port,
29 +               pad_r32(info->membase[port], LTQ_PADC_MUX(PORT_PIN(offset))));
30 +
31 +       config = LTQ_PINCONF_PACK(LTQ_PINCONF_PARAM_PULL, 0);
32 +       if (!falcon_pinconf_get(pctrldev, offset, &config))
33 +               seq_printf(s, "pull %d ",
34 +                       (int)LTQ_PINCONF_UNPACK_ARG(config));
35 +
36 +       config = LTQ_PINCONF_PACK(LTQ_PINCONF_PARAM_DRIVE_CURRENT, 0);
37 +       if (!falcon_pinconf_get(pctrldev, offset, &config))
38 +               seq_printf(s, "drive-current %d ",
39 +                       (int)LTQ_PINCONF_UNPACK_ARG(config));
40 +
41 +       config = LTQ_PINCONF_PACK(LTQ_PINCONF_PARAM_SLEW_RATE, 0);
42 +       if (!falcon_pinconf_get(pctrldev, offset, &config))
43 +               seq_printf(s, "slew-rate %d ",
44 +                       (int)LTQ_PINCONF_UNPACK_ARG(config));
45 +
46 +       desc = pin_desc_get(pctrldev, offset);
47 +       if (desc) {
48 +               if (desc->gpio_owner)
49 +                       seq_printf(s, " owner: %s", desc->gpio_owner);
50 +       } else {
51 +               seq_printf(s, " not registered");
52 +       }
53  }
54  
55  static void falcon_pinconf_group_dbg_show(struct pinctrl_dev *pctrldev,