An error occurred fetching the project authors.
- 23 Nov, 2018 1 commit
-
-
Chris Brandt authored
Adds support for the pin and gpio controller found in R7S9210 (RZ/A2) SoCs. Signed-off-by:
Chris Brandt <chris.brandt@renesas.com> Reviewed-by:
Jacopo Mondi <jacopo+renesas@jmondi.org> Signed-off-by:
Geert Uytterhoeven <geert+renesas@glider.be>
-
- 02 Oct, 2018 1 commit
-
-
Phil Edworthy authored
This provides a pinctrl driver for the Renesas RZ/N1 device family. Based on a patch originally written by Michel Pollet at Renesas. Signed-off-by:
Phil Edworthy <phil.edworthy@renesas.com> Reviewed-by:
Jacopo Mondi <jacopo+renesas@jmondi.org> Signed-off-by:
Geert Uytterhoeven <geert+renesas@glider.be>
-
- 29 Aug, 2018 3 commits
-
-
Paul Cercueil authored
Depending on MACH_INGENIC prevent us from creating a generic kernel that works on more than one MIPS board. Instead, we just depend on MIPS being set. Signed-off-by:
Paul Cercueil <paul@crapouillou.net> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
Paul Cercueil authored
Merge the code of the gpio-ingenic driver into the pinctrl-ingenic driver. The reason behind this, is that the same hardware block handles both pin config / muxing and GPIO. ingenic_gpio_probe() have been marked as __init, but for the most part, the code is the exact same as what it was in the gpio-ingenic driver. Signed-off-by:
Paul Cercueil <paul@crapouillou.net> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
Tomer Maimon authored
Add Nuvoton BMC NPCM750/730/715/705 Pinmux and GPIO controller driver. Signed-off-by:
Tomer Maimon <tmaimon77@gmail.com> [Add back select GPIO_GENERIC] Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 06 Aug, 2018 1 commit
-
-
Quentin Schulz authored
This GPIO controller can serve as an interrupt controller as well on the GPIOs it handles. An interrupt is generated whenever a GPIO line changes and the interrupt for this GPIO line is enabled. This means that both the changes from low to high and high to low generate an interrupt. For some use cases, it makes sense to ignore the high to low change and not generate an interrupt. Such a use case is a line that is hold in a level high/low manner until the event holding the line gets acked. This can be achieved by making sure the interrupt on the GPIO controller side gets acked and masked only after the line gets hold in its default state, this is what's done with the fasteoi functions. Only IRQ_TYPE_EDGE_BOTH and IRQ_TYPE_LEVEL_HIGH are supported for now. Signed-off-by:
Quentin Schulz <quentin.schulz@bootlin.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 18 Jun, 2018 1 commit
-
-
Jan Kundrát authored
Commit d8f4494e removed comments which described this limitation. The code supported interrupts even before. Also add some spacing so that the chip IDs are a bit more readable. Signed-off-by:
Jan Kundrát <jan.kundrat@cesnet.cz> Reviewed-by:
Phil Reid <preid@electromag.com.au> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 05 Jun, 2018 1 commit
-
-
Richard Fitzgerald authored
These codecs have a variable number of I/O lines each of which is individually selectable to a wide range of possible functions. The functionality is slightly different from the traditional muxed GPIO since most of the functions can be mapped to any pin (and even the same function to multiple pins). Most pins have a dedicated "alternate" function that is only available on that pin. The alternate functions are usually a group of signals, though it is not always necessary to enable the full group, depending on the alternate function and how it is to be used. The mapping between alternate functions and GPIO pins varies between codecs depending on the number of alternate functions and available pins. Signed-off-by:
Richard Fitzgerald <rf@opensource.cirrus.com> Reviewed-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
- 02 May, 2018 1 commit
-
-
Manivannan Sadhasivam authored
Add pinctrl driver for Actions Semi S900 SoC. The driver supports pinctrl, pinmux and pinconf functionalities through a range of registers common to both gpio driver and pinctrl driver. Pinmux functionality is available only for the pin groups while the pinconf functionality is available for both pin groups and individual pins. Signed-off-by:
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 26 Mar, 2018 1 commit
-
-
Arnd Bergmann authored
The blackfin architecture is getting removed, so these are now obsolete. Acked-by:
Aaron Wu <aaron.wu@analog.com> Signed-off-by:
Arnd Bergmann <arnd@arndb.de>
-
- 01 Mar, 2018 1 commit
-
-
James Hogan authored
Now that arch/metag/ has been removed, along with TZ1090 SoC support, remove the TZ1090 pinctrl drivers. They are of no value without the architecture and SoC platform code. Signed-off-by:
James Hogan <jhogan@kernel.org> Cc: linux-gpio@vger.kernel.org Cc: linux-metag@vger.kernel.org Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 09 Jan, 2018 1 commit
-
-
Alexandre Belloni authored
The Microsemi Ocelot SoC has a few pins that can be used as GPIOs or take multiple other functions. Add a driver for the pinmuxing and the GPIOs. There is currently no support for interrupts. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 20 Dec, 2017 1 commit
-
-
Quentin Schulz authored
This fixes some compilation issues. GENERIC_PINCONF and OF at least for pinconf_generic_dt_*, PINMUX at least for pinmux_ops and GPIOLIB for at least gpio_chip. Fixes: 23f75d7d ("pinctrl: axp209: add pinctrl features") Reported-by:
Randy Dunlap <rdunlap@infradead.org> Signed-off-by:
Quentin Schulz <quentin.schulz@free-electrons.com> Acked-by:
Randy Dunlap <rdunlap@infradead.org> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 07 Dec, 2017 1 commit
-
-
Quentin Schulz authored
To prepare the driver for the upcoming pinctrl features, move the GPIO driver AXP209 from GPIO to pinctrl subsystem. Signed-off-by:
Quentin Schulz <quentin.schulz@free-electrons.com> Acked-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by:
Chen-Yu Tsai <wens@csie.org> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 13 Nov, 2017 1 commit
-
-
Linus Walleij authored
Some compilation fallout from UM Linux (which does not have IOMEM) makes it necessary to depend on HAS_IOMEM for drivers that doesn't have other factors restricting their selection. Cc: Phil Reid <preid@electromag.com.au> Reviewed-by:
Sebastian Reichel <sebastian.reichel@collabora.co.uk> Reported-by:
R. Daneel Olivaw <kbuild-all@01.org> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 08 Nov, 2017 1 commit
-
-
Linus Walleij authored
We can just use the generic Device Tree parser code in this driver and save some code. Acked-by:
Hans Ulli Kroll <ulli.kroll@googlemail.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 19 Oct, 2017 1 commit
-
-
Linus Walleij authored
The build robot is complaining on Blackfin: drivers/pinctrl/pinctrl-adi2.c: In function 'port_setup': >> drivers/pinctrl/pinctrl-adi2.c:221:21: error: dereferencing pointer to incomplete type 'struct gpio_port_t' writew(readw(®s->port_fer) & ~BIT(offset), ^~ drivers/pinctrl/pinctrl-adi2.c: In function 'adi_gpio_ack_irq': >> drivers/pinctrl/pinctrl-adi2.c:266:18: error: dereferencing pointer to incomplete type 'struct bfin_pint_regs' if (readl(®s->invert_set) & pintbit) ^~ It seems the driver need to include <asm/gpio.h> and <asm/irq.h> to compile. The Blackfin architecture was re-defining the Kconfig PINCTRL symbol which is not OK, so replaced this with PINCTRL_BLACKFIN_ADI2 which selects PINCTRL and PINCTRL_ADI2 just like most arches do. Further, the old GPIO driver symbol GPIO_ADI was possible to select at the same time as selecting PINCTRL. This was not working because the arch-local <asm/gpio.h> header contains an explicit #ifndef PINCTRL clause making compilation break if you combine them. The same is true for DEBUG_MMRS. Make sure the ADI2 pinctrl driver is not selected at the same time as the old GPIO implementation. (This should be converted to use gpiolib or pincontrol and move to drivers/...) Also make sure the old GPIO_ADI driver or DEBUG_MMRS is not selected at the same time as the new PINCTRL implementation, and only make PINCTRL_ADI2 selectable for the Blackfin families that actually have it. This way it is still possible to add e.g. I2C-based pin control expanders on the Blackfin. Cc: Steven Miao <realmz6@gmail.com> Cc: Huanhuan Feng <huanhuan.feng@analog.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 16 Oct, 2017 1 commit
-
-
Jerome Brunet authored
When meson pinctrl is enabled, all meson platforms pinctrl drivers are built in the kernel, with a significant amount of data. This leads to situation where pinctrl drivers targeting an architecture are also compiled and shipped on another one (ex: meson8 - ARM - compiled and shipped on ARM64 builds). This is a waste of memory we can easily avoid. This change makes 4 pinctrl drivers (1 per SoC) out the original single driver, allowing to compile and ship only the ones required. Reviewed-by:
Neil Armstrong <narmstrong@baylibre.com> Reviewed-by:
Kevin Hilman <khilman@baylibre.com> Signed-off-by:
Jerome Brunet <jbrunet@baylibre.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 12 Oct, 2017 1 commit
-
-
Linus Walleij authored
Instead of depends on GPIOLIB and having to run around in Kconfig menus looking for why your device is not available, simply select it from the pin control drivers that need it. The Kconfig for GPIOLIB is improved, selectable and this should "just work". Cc: Phil Reid <preid@electromag.com.au> Cc: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Cc: Peter Rosin <peda@axentia.se> Cc: Andrey Smirnov <andrew.smirnov@gmail.com> Acked-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 11 Oct, 2017 1 commit
-
-
Phil Reid authored
This allows PINCTRL to be selected manually to allow enabling of the mcp23s08 i2c/spi gpio driver. Which is not platform specific. Signed-off-by:
Phil Reid <preid@electromag.com.au> Reviewed-by:
Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 27 Sep, 2017 1 commit
-
-
Petr Mladek authored
The commit 79d2c8be ("pinctrl/amd: save pin registers over suspend/resume") caused the following compilation errors: drivers/pinctrl/pinctrl-amd.c: In function ‘amd_gpio_should_save’: drivers/pinctrl/pinctrl-amd.c:741:8: error: ‘const struct pin_desc’ has no member named ‘mux_owner’ if (pd->mux_owner || pd->gpio_owner || ^ drivers/pinctrl/pinctrl-amd.c:741:25: error: ‘const struct pin_desc’ has no member named ‘gpio_owner’ if (pd->mux_owner || pd->gpio_owner || We need to enable CONFIG_PINMUX for this driver as well. Cc: stable@vger.kernel.org Fixes: 79d2c8be ("pinctrl/amd: save pin registers over suspend/resume") Signed-off-by:
Petr Mladek <pmladek@suse.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 31 Aug, 2017 1 commit
-
-
Baolin Wang authored
This patch adds the pin control driver for Spreadtrum SC9860 platform. Signed-off-by:
Baolin Wang <baolin.wang@spreadtrum.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 21 Aug, 2017 1 commit
-
-
Joseph Chen authored
RK805 is one of Rockchip PMICs family, it has 2 output only GPIOs. This driver is also designed for other Rockchip PMICs to expend. Different PMIC maybe have different pin features, for example, RK816 has one pin which can be used for TS or GPIO(input/out). The mainly difference between PMICs pins are pinmux, direction and output value, that is 'struct rk805_pin_config'. Signed-off-by:
Joseph Chen <chenjh@rock-chips.com> Acked-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Heiko Stuebner <heiko@sntech.de> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
- 14 Aug, 2017 1 commit
-
-
Linus Walleij authored
This adds a pin control (only multiplexing) driver for the Gemini SoC so we can sort out this complex platform in an orderly manner. This driver will detect the chip/package version as SL3512 or SL3516 (also known as CS3512 and CS3516 etc) and register the apropriate pin set. Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 23 Jun, 2017 1 commit
-
-
Jacopo Mondi authored
Add combined gpio and pin controller driver for Renesas RZ/A1 r7s72100 SoC. Signed-off-by:
Jacopo Mondi <jacopo+renesas@jmondi.org> Signed-off-by:
Geert Uytterhoeven <geert+renesas@glider.be>
-
- 30 May, 2017 1 commit
-
-
Arnd Bergmann authored
With "SPI_MASTER=y && I2C=m", we can build mcp23s08 as a built-in driver, which then results in a link failure: drivers/pinctrl/built-in.o: In function `mcp23s08_probe_one.isra.0': :(.text+0x7910): undefined reference to `__devm_regmap_init_i2c' drivers/pinctrl/built-in.o: In function `mcp23s08_init': :(.init.text+0x110): undefined reference to `i2c_register_driver' drivers/pinctrl/built-in.o: In function `mcp23s08_exit': :(.exit.text+0x3c): undefined reference to `i2c_del_driver' To avoid the problem, this adds another dependency on I2C that enforces mcp23s08 to be a loadable module whenever the I2C core is a module. Fixes: 64ac43e6 ("gpio: mcp23s08: move to pinctrl") Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Reviewed-by:
Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 29 May, 2017 1 commit
-
-
Linus Walleij authored
Fix compile errors due to missing OF. Cc: Paul Cercueil <paul@crapouillou.net> Reported-by:
Randy Dunlap <rdunlap@infradead.org> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 23 May, 2017 3 commits
-
-
Sebastian Reichel authored
The driver compiles & works perfectly fine without OF_GPIO on x86, so lets drop the dependency. Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
Sebastian Reichel authored
mcp23xxx device have configurable 100k pullup resistors. This adds support for enabling them using pinctrl's pinconf interface. Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.co.uk> Tested-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
Sebastian Reichel authored
This moves the mcp23s08 driver from gpio to pinctrl. Actual pinctrl support for configuration of the pull-up resistors follows in its own patch. Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.co.uk> Acked-by:
Sylvain Lemieux <slemieux.tyco@gmail.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 22 May, 2017 2 commits
-
-
Paul Cercueil authored
This driver handles pin configuration and pin muxing for the JZ4740 and JZ4780 SoCs from Ingenic. Signed-off-by:
Paul Cercueil <paul@crapouillou.net> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
Shawn Guo authored
The pin controller on ZTE ZX platforms is kinda of hybrid. It consists of a main controller and an auxiliary one. For example, on ZX296718 SoC, the main controller is TOP_PMM and the auxiliary one is AON_IOCFG. Both controllers work together to control pin multiplexing and configuration. For most of pins, the pinmux function is controlled by main controller only, and this type of pins are meant by term 'TOP pins'. For other pins, the pinmux is controlled by both main and auxiliary controllers, as the available multiplexing functions for the pin spread in both controllers. This type of pins are called 'AON pins'. Though pinmux implementation is quite different, pinconf is same for both types of pins. Both are controlled by auxiliary controller, i.e. AON_IOCFG on ZX296718. The patch adds the ZTE ZX core pinctrl driver to support this hybrid pin controller as well as ZX296718 SoC specific pin data. Signed-off-by:
Shawn Guo <shawn.guo@linaro.org> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 07 Apr, 2017 1 commit
-
-
Jesper Nilsson authored
Add pinctrl driver support for the Axis ARTPEC-6 SoC. There are only some pins that actually have different functions available, but all can control bias (pull-up/-down) and drive strength. Code originally written by Chris Paterson. Signed-off-by:
Jesper Nilsson <jesper.nilsson@axis.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 09 Jan, 2017 1 commit
-
-
Nishanth Menon authored
SoC family such as DRA7 family of processors have, in addition to the regular muxing of pins (as done by pinctrl-single), a separate hardware module called IODelay which is also expected to be configured. The "IODelay" module has it's own register space that is independent of the control module and the padconf register area. With recent changes to the pinctrl framework, we can now support this hardware with a reasonably minimal driver by using #pinctrl-cells, GENERIC_PINCTRL_GROUPS and GENERIC_PINMUX_FUNCTIONS. It is advocated strongly in TI's official documentation considering the existing design of the DRA7 family of processors during mux or IODelay reconfiguration, there is a potential for a significant glitch which may cause functional impairment to certain hardware. It is hence recommended to do as little of muxing as absolutely necessary without I/O isolation (which can only be done in initial stages of bootloader). NOTE: with the system wide I/O isolation scheme present in DRA7 SoC family, it is not reasonable to do stop all I/O operations for every such pad configuration scheme. So, we will let it glitch when used in this mode. Even with the above limitation, certain functionality such as MMC has mandatory need for IODelay reconfiguration requirements, depending on speed of transfer. In these cases, with careful examination of usecase involved, the expected glitch can be controlled such that it does not impact functionality. In short, IODelay module support as a padconf driver being introduced here is not expected to do SoC wide I/O Isolation and is meant for a limited subset of IODelay configuration requirements that need to be dynamic and whose glitchy behavior will not cause functionality failure for that interface. IMPORTANT NOTE: we take the approach of keeping LOCK_BITs cleared to 0x0 at all times, even when configuring Manual IO Timing Modes. This is done by eliminating the LOCK_BIT=1 setting from Step of the Manual IO timing Mode configuration procedure. This option leaves the CFG_* registers unprotected from unintended writes to the CTRL_CORE_PAD_* registers while Manual IO Timing Modes are configured. This approach is taken to allow for a generic driver to exist in kernel world that has to be used carefully in required usecases. Signed-off-by:
Nishanth Menon <nm@ti.com> Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> [tony@atomide.com: updated to use generic pinctrl functions, added binding documentation, updated comments] Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Tony Lindgren <tony@atomide.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 03 Jan, 2017 5 commits
-
-
Tony Lindgren authored
We can now drop the driver specific code for managing functions. Signed-off-by:
Tony Lindgren <tony@atomide.com> [Replaces GENERIC_PINMUX with GENERIC_PINMUX_FUNCTIONS] Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
Tony Lindgren authored
We can now drop the driver specific code for managing groups. Signed-off-by:
Tony Lindgren <tony@atomide.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
Tony Lindgren authored
We can add generic helpers for function handling for cases where the pin controller driver does not need to use static arrays. Signed-off-by:
Tony Lindgren <tony@atomide.com> [Renamed the Kconfig item and moved things around] Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
Linus Walleij authored
Rename the symbol PINCTRL_GENERIC to PINCTRL_GENERIC_GROUPS since it all pertains to groups. Replace everywhere. ifdef out the radix tree and the struct when not using the generic groups. Cc: Tony Lindgren <tony@atomide.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
Tony Lindgren authored
We can add generic helpers for pin group handling for cases where the pin controller driver does not need to use static arrays. Signed-off-by:
Tony Lindgren <tony@atomide.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-
- 07 Dec, 2016 1 commit
-
-
David Lechner authored
This adds a new driver for pinconf on TI DA850/OMAP-L138/AM18XX. These SoCs have a separate controller for controlling pullup/pulldown groups. Signed-off-by:
David Lechner <david@lechnology.com> Reviewed-by:
Sekhar Nori <nsekhar@ti.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org>
-