On 11/19/2015 at 8:15 AM, John Crispin wrote: > > > On 19/11/2015 06:39, Martin Schiller wrote: > > On 11/17/2015 at 8:50 AM, Martin Schiller wrote: > >> Hi, > >> > >> here follows a little review of the 0012-pinctrl-lantiq-fix-up- > >> pinmux.patch > >> to get this stuff upstream: > >> > >>> From 25494c55a4007a1409f53ddbafd661636e47ea34 Mon Sep 17 00:00:00 > >> 2001 > >>> From: John Crispin <[email protected]> > >>> Date: Fri, 9 Aug 2013 20:38:15 +0200 > >>> Subject: [PATCH 12/36] pinctrl/lantiq: fix up pinmux > >>> > >>> We found out how to set the gphy led pinmuxing. > >>> > >>> Signed-off-by: John Crispin <[email protected]> > >>> --- > >>> drivers/pinctrl/pinctrl-xway.c | 28 ++++++++++++++++++++++++++-- > >>> 1 file changed, 26 insertions(+), 2 deletions(-) > >>> > >>> --- a/drivers/pinctrl/pinctrl-xway.c > >>> +++ b/drivers/pinctrl/pinctrl-xway.c > >>> @@ -609,10 +609,9 @@ static struct pinctrl_desc xway_pctrl_de > >>> .confops= &xway_pinconf_ops, > >>> }; > >>> > >>> -static inline int xway_mux_apply(struct pinctrl_dev *pctrldev, > >>> +static int mux_apply(struct ltq_pinmux_info *info, > >>> int pin, int mux) > >>> { > >>> -struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev); > >>> int port = PORT(pin); > >>> u32 alt1_reg = GPIO_ALT1(pin); > >>> > >>> @@ -632,6 +631,14 @@ static inline int xway_mux_apply(struct > >>> return 0; > >>> } > >>> > >>> +static inline int xway_mux_apply(struct pinctrl_dev *pctrldev, > >>> +int pin, int mux) > >>> +{ > >>> +struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev); > >>> + > >>> +return mux_apply(info, pin, mux); > >>> +} > >>> + > >>> static const struct ltq_cfg_param xway_cfg_params[] = { > >>> {"lantiq,pull",LTQ_PINCONF_PARAM_PULL}, > >>> {"lantiq,open-drain",LTQ_PINCONF_PARAM_OPEN_DRAIN}, > >> > >> What are these changes for? > >> > >>> @@ -676,6 +683,10 @@ static int xway_gpio_dir_out(struct gpio > >>> { > >>> struct ltq_pinmux_info *info = dev_get_drvdata(chip->dev); > >>> > >>> +if (PORT(pin) == PORT3) > >>> +gpio_setbit(info->membase[0], GPIO3_OD, PORT_PIN(pin)); > >>> +else > >>> +gpio_setbit(info->membase[0], GPIO_OD(pin), PORT_PIN(pin)); > >>> gpio_setbit(info->membase[0], GPIO_DIR(pin), PORT_PIN(pin)); > >>> xway_gpio_set(chip, pin, val); > >>> > >> > >> This fixes the GPIO Setup for GPIOs >= GPIO48 (GPIO Port3), right? > >> > >> > >>> @@ -696,6 +707,18 @@ static void xway_gpio_free(struct gpio_c > >>> pinctrl_free_gpio(gpio); > >>> } > >>> > >>> +static int xway_gpio_to_irq(struct gpio_chip *chip, unsigned > offset) > >>> +{ > >>> +struct ltq_pinmux_info *info = dev_get_drvdata(chip->dev); > >>> +int i; > >>> + > >>> +for (i = 0; i < info->num_exin; i++) > >>> +if (info->exin[i] == offset) > >>> +return ltq_eiu_get_irq(i); > >>> + > >>> +return -1; > >>> +} > >>> + > >>> static struct gpio_chip xway_chip = { > >>> .label = "gpio-xway", > >>> .direction_input = xway_gpio_dir_in, > >>> @@ -704,6 +727,7 @@ static struct gpio_chip xway_chip = { > >>> .set = xway_gpio_set, > >>> .request = xway_gpio_req, > >>> .free = xway_gpio_free, > >>> +.to_irq = xway_gpio_to_irq, > >>> .base = -1, > >>> }; > >>> > >> > >> This implements the IRQ Mapping for GPIOs. > >> > >> > >> So which of these changes is related to gphy led pinmuxing? > >> > >> I think we can make 2 patches out of this one: > >> > >> [1/2] pinctrl/lantiq: Fix GPIO Setup for GPIO Port3 > >> [2/2] pinctrl/lantiq: Implement gpio_chip.to_irq > > > > Aren't there any comments / suggestions? > > > > we are not a barber shop where you can walk in and demand to be > serviced right away.
It seemed to me that this topic about the pinctrl is interesting for some people here. I just thought this mail was overseen/forgotten. But you are right, there is no obligation for a quick answer. Martin _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
