linux/drivers/gpio
Martin Blumenstingl edc1ef3ff3 gpio: of: parse stmmac PHY reset line specific active-low property
The stmmac driver currently ignores the GPIO flags which are passed via
devicetree because it operates with legacy GPIO numbers instead of GPIO
descriptors. stmmac assumes that the GPIO is "active HIGH" by default.
This can be overwritten by setting "snps,reset-active-low" to make the
reset line "active LOW".

Recent Amlogic SoCs (G12A which includes S905X2 and S905D2 as well as
G12B which includes S922X) use GPIOZ_14 or GPIOZ_15 for the PHY reset
line. These GPIOs are special because they are marked as "3.3V input
tolerant open drain" pins which means they can only drive the pin output
LOW (to reset the PHY) or to switch to input mode (to take the PHY out
of reset).
The GPIO subsystem already supports this with the GPIO_OPEN_DRAIN and
GPIO_OPEN_SOURCE flags in the devicetree bindings.

Add the stmmac PHY reset line specific active low parsing to gpiolib-of
so stmmac can be ported to GPIO descriptors while being backwards
compatible with device trees which use the "old" way of specifying the
polarity.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-06-12 09:46:52 +02:00
..
gpio-74x164.c gpio: 74x164: Convert to use SPDX identifier 2019-03-26 18:38:07 +01:00
gpio-74xx-mmio.c drivers: gpio: 74xx-mmio: use devm_platform_ioremap_resource() 2019-04-05 00:04:25 +07:00
gpio-104-dio-48e.c gpio: 104-dio-48e: Mask read inputs for get_multiple 2018-11-05 08:54:41 +01:00
gpio-104-idi-48.c gpio: 104-idi-48e: Mask the read inputs for get_multiple 2018-11-05 08:54:41 +01:00
gpio-104-idio-16.c gpio: 104-idio-16: Implement get_multiple callback 2018-03-26 10:10:18 +02:00
gpio-adnp.c gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input 2019-03-22 16:48:47 +01:00
gpio-adp5520.c drivers: gpio: Update MODULE AUTHOR email address 2018-08-29 13:30:25 +02:00
gpio-adp5588.c gpio: adp5588.c: Switch to events system 2019-02-09 11:33:37 +01:00
gpio-altera-a10sr.c gpio: altera-a10sr: Trivial coding style fix 2019-02-14 15:14:38 +01:00
gpio-altera.c gpio: altera: Fixup block comment style 2019-01-28 14:59:58 +01:00
gpio-amd8111.c gpio: amd8111: Include proper header 2018-01-13 22:22:49 +01:00
gpio-amd-fch.c gpio: amd-fch: Set proper output level for direction_output 2019-03-08 14:11:30 +01:00
gpio-amdpt.c drivers: gpio: amdpt: use devm_platform_ioremap_resource() 2019-04-05 00:04:25 +07:00
gpio-arizona.c gpio: arizona: Include proper header 2018-01-13 22:47:48 +01:00
gpio-aspeed.c Linux 5.1-rc3 2019-04-08 13:03:09 +02:00
gpio-ath79.c gpio: fix meaningless return expression 2018-07-29 23:34:54 +02:00
gpio-bcm-kona.c drivers: gpio: bcm-kona: use devm_platform_ioremap_resource() 2019-04-05 00:04:25 +07:00
gpio-bd9571mwv.c
gpio-brcmstb.c gpio: brcmstb: allow 0 width GPIO banks 2018-08-30 11:04:50 +02:00
gpio-bt8xx.c gpio: bt8xx: Include proper header 2018-01-13 22:56:52 +01:00
gpio-cadence.c drivers: gpio: cadence: use devm_platform_ioremap_resource() 2019-04-05 00:04:26 +07:00
gpio-clps711x.c drivers: gpio: clps711x: use devm_platform_ioremap_resource() 2019-04-05 00:04:26 +07:00
gpio-creg-snps.c GPIO: add single-register GPIO via CREG driver 2018-10-10 09:21:06 +02:00
gpio-crystalcove.c gpio: crystalcove: Convert to use SPDX identifier 2019-02-08 15:55:40 +02:00
gpio-cs5535.c gpio: cs5535: Include proper header 2018-01-14 01:56:24 +01:00
gpio-da9052.c gpio: da905x: Include proper header 2018-01-14 02:00:10 +01:00
gpio-da9055.c gpio: da905x: Include proper header 2018-01-14 02:00:10 +01:00
gpio-davinci.c gpio: davinci: use devm_platform_ioremap_resource() 2019-02-21 13:05:52 +01:00
gpio-dln2.c gpio: dln2: Include proper header 2018-03-19 01:50:07 +01:00
gpio-dwapb.c drivers: gpio: dwap: use devm_platform_ioremap_resource() 2019-04-05 00:04:26 +07:00
gpio-eic-sprd.c gpio: eic: sprd: Fix incorrect irq type setting for the sync EIC 2019-04-11 15:39:48 +02:00
gpio-em.c gpio: em: Don't shadow error code of gpiochip_lock_as_irq() 2018-08-06 23:46:55 +02:00
gpio-ep93xx.c gpio: ep93xx: fix test for end of loop 2018-09-10 08:48:24 +02:00
gpio-exar.c gpio: exar: add a check for the return value of ida_simple_get fails 2019-03-22 16:48:39 +01:00
gpio-f7188x.c gpio-f7188x: add support Fintek F81804 & F81966 2019-01-22 15:48:44 +01:00
gpio-ftgpio010.c drivers: gpio: ftgpio010: use devm_platform_ioremap_resource() 2019-04-05 00:04:26 +07:00
gpio-ge.c gpio: ge: Fix build warning 2018-05-16 14:35:24 +02:00
gpio-gpio-mm.c gpio: gpio-mm: Mask read inputs for get_multiple 2018-11-05 08:54:41 +01:00
gpio-grgpio.c drivers/gpio/gpio-grgpio.c: Remove duplicate header 2018-11-19 15:09:22 +01:00
gpio-gw-pld.c gpio: Add a Gateworks PLD GPIO driver 2019-02-09 11:33:37 +01:00
gpio-hlwd.c drivers: gpio: hlwd: use devm_platform_ioremap_resource() 2019-04-05 00:04:26 +07:00
gpio-htc-egpio.c gpio: htc-egpio: Remove set but not used variable 'bit' 2018-10-01 12:27:19 +02:00
gpio-ich.c gpio: ich: Convert to use SPDX identifier 2018-12-07 17:34:07 +02:00
gpio-intel-mid.c gpio: intel-mid: Convert to use SPDX identifier 2018-12-07 17:34:07 +02:00
gpio-iop.c drivers: gpio: iop: use devm_platform_ioremap_resource() 2019-04-05 00:04:26 +07:00
gpio-it87.c gpio: it87: Add support for IT8613 2018-08-10 23:19:17 +02:00
gpio-ixp4xx.c gpio: ixp4xx: Add OF probing support 2019-04-23 16:02:14 +02:00
gpio-janz-ttl.c drivers: gpio: janz-ttl: use devm_platform_ioremap_resource() 2019-04-05 00:04:26 +07:00
gpio-kempld.c gpio: kempld: Include the right header 2018-03-19 01:50:31 +01:00
gpio-ks8695.c gpio: ks8695: Change to use DEFINE_SHOW_ATTRIBUTE macro 2018-12-07 11:10:14 +01:00
gpio-loongson1.c drivers: gpio: loongon1: use devm_platform_ioremap_resource() 2019-04-05 00:04:26 +07:00
gpio-loongson.c gpio: loongson: Use BIT() macros 2018-05-16 14:35:24 +02:00
gpio-lp873x.c gpio: lp873x: Include the right header 2018-05-16 14:35:24 +02:00
gpio-lp3943.c gpio: lp3943: Include the right header 2018-05-16 14:35:24 +02:00
gpio-lp87565.c
gpio-lpc18xx.c drivers: gpio: lpc18xx: use devm_platform_ioremap_resource() 2019-04-05 00:04:26 +07:00
gpio-lpc32xx.c gpio: lpc32xx: Include the right header 2018-05-16 14:35:24 +02:00
gpio-lynxpoint.c intel-gpio for v4.21-1 2018-12-14 14:27:41 +01:00
gpio-madera.c gpio: madera: Add missing const 2019-02-14 15:14:37 +01:00
gpio-max730x.c gpio: max730x: Include the right header 2018-05-16 14:35:24 +02:00
gpio-max732x.c gpio: max732x: add error handling for i2c_new_dummy 2018-06-18 07:55:30 +02:00
gpio-max3191x.c gpiolib: Pass array info to get/set array functions 2018-09-13 11:16:54 +02:00
gpio-max7300.c
gpio-max7301.c gpio: max7301: fix driver for use with CONFIG_VMAP_STACK 2018-12-21 09:23:45 +01:00
gpio-max77620.c regmap: regmap-irq/gpio-max77620: add level-irq support 2018-12-19 18:35:45 +00:00
gpio-max77650.c gpio: max77650: Add GPIO support 2019-05-08 12:06:58 +01:00
gpio-mb86s7x.c drivers: gpio: mb86s7x: use devm_platform_ioremap_resource() 2019-04-05 00:04:26 +07:00
gpio-mc9s08dz60.c gpio: mc9s08dz60: Include the right header 2018-05-16 14:35:24 +02:00
gpio-mc33880.c gpio: mc33880: Include the right header 2018-05-16 14:35:24 +02:00
gpio-menz127.c gpio: Fix wrong rounding in gpio-menz127 2018-06-18 07:55:30 +02:00
gpio-merrifield.c gpio: merrifield: Fix build err without CONFIG_ACPI 2019-04-23 11:30:59 +02:00
gpio-ml-ioh.c PCI: Move Rohm Vendor ID to generic list 2019-02-01 17:24:52 -06:00
gpio-mlxbf.c gpio: mlxbf: remove unused including <linux/version.h> 2019-04-08 08:47:06 +02:00
gpio-mm-lantiq.c gpio: mm-lantiq: Include the right header 2018-05-16 14:35:24 +02:00
gpio-mmio.c gpio: mmio: Drop bgpio_dir_inverted 2019-04-08 11:17:43 +02:00
gpio-mockup.c gpio: mockup: use simple_read_from_buffer() in debugfs read callback 2019-03-28 18:04:53 +01:00
gpio-mpc8xxx.c
gpio-mpc5200.c
gpio-msic.c gpio: msic: Convert to use SPDX identifier 2019-02-08 15:55:41 +02:00
gpio-mt7621.c drivers: gpio: mt7621: use devm_platform_ioremap_resource() 2019-04-05 00:04:27 +07:00
gpio-mvebu.c drivers: gpio: mvebu: use devm_platform_ioremap_resource() 2019-04-05 00:04:27 +07:00
gpio-mxc.c drivers: gpio: mxc: use devm_platform_ioremap_resource() 2019-04-05 00:04:27 +07:00
gpio-mxs.c gpio: mxs: read pin level directly instead of using .get 2018-12-21 11:29:57 +01:00
gpio-octeon.c drivers: gpio: octeon: use devm_platform_ioremap_resource() 2019-04-05 00:04:27 +07:00
gpio-omap.c gpio: gpio-omap: Remove conditional pm_runtime handling for GPIO interrupts 2019-04-11 15:16:26 +02:00
gpio-palmas.c gpio: palmas: Include the right header 2018-05-24 14:25:13 +02:00
gpio-pca953x.c gpio: pca953x: add support for pca6416 2019-04-11 15:35:10 +02:00
gpio-pcf857x.c gpio updates for v5.1 2019-02-17 21:59:33 +01:00
gpio-pch.c PCI: Move Rohm Vendor ID to generic list 2019-02-01 17:24:52 -06:00
gpio-pci-idio-16.c gpio: pci-idio-16: Mask read inputs for get_multiple 2018-11-05 08:54:42 +01:00
gpio-pcie-idio-24.c gpio: pcie-idio-24: Mask read inputs for get_multiple 2018-11-05 08:54:42 +01:00
gpio-pisosr.c gpio-pisosr: add support for get_multiple 2018-07-29 21:55:33 +02:00
gpio-pl061.c gpio: pl061: Move irq_chip definition inside struct pl061 2018-11-05 08:54:42 +01:00
gpio-pmic-eic-sprd.c gpio: sprd: Change to use SoC compatible string 2019-02-21 13:18:49 +01:00
gpio-pxa.c gpio: pxa: Make two symbols static 2019-04-23 13:02:15 +02:00
gpio-raspberrypi-exp.c gpio: raspberrypi-exp: decrease refcount on firmware dt node 2018-12-17 15:28:30 +01:00
gpio-rc5t583.c gpio: rc5t583: Include the right header 2018-07-02 16:00:49 +02:00
gpio-rcar.c drivers: gpio: rcar: use devm_platform_ioremap_resource() 2019-04-05 00:04:27 +07:00
gpio-rdc321x.c gpio: rdc321x: Include the right header 2018-07-02 16:00:49 +02:00
gpio-reg.c gpio: gpio-reg: fix build 2017-12-22 15:24:31 +01:00
gpio-sa1100.c gpio: sa1100: Include the right header 2018-07-02 16:00:49 +02:00
gpio-sama5d2-piobu.c gpio: sama5d2-piobu: Set proper output level for direction_output 2019-01-11 10:34:37 +01:00
gpio-sch311x.c gpio: sch311x: clean an indentation issue, remove extraneous space 2018-11-05 08:54:42 +01:00
gpio-sch.c gpio: sch: Remove write-only core_base 2019-04-23 13:08:33 +02:00
gpio-siox.c gpio: new driver to work with a 8x12 siox 2018-09-28 09:30:42 +02:00
gpio-sodaville.c gpio: sodaville: Convert to use SPDX identifier 2018-12-07 17:34:08 +02:00
gpio-spear-spics.c drivers: gpio: spear-spics: use devm_platform_ioremap_resource() 2019-04-05 00:04:27 +07:00
gpio-sprd.c drivers: gpio: sprd: use devm_platform_ioremap_resource() 2019-04-05 00:04:26 +07:00
gpio-sta2x11.c drivers: gpio: sta2x11: use devm_platform_ioremap_resource() 2019-04-05 00:04:27 +07:00
gpio-stmpe.c gpio: stmpe: Include the right header 2018-07-02 16:00:49 +02:00
gpio-stp-xway.c drivers: gpio: stp-xway: use devm_platform_ioremap_resource() 2019-04-05 00:04:27 +07:00
gpio-syscon.c gpio: syscon: Fix possible NULL ptr usage 2018-10-10 10:33:11 +02:00
gpio-tb10x.c drivers: gpio: tb10x: use devm_platform_ioremap_resource() 2019-04-05 00:04:27 +07:00
gpio-tc3589x.c
gpio-tegra186.c gpio: tegra186: Use TEGRA186_ prefix for GPIO names 2019-02-14 15:14:38 +01:00
gpio-tegra.c drivers: gpio: tegra: use devm_platform_ioremap_resource() 2019-04-05 00:04:28 +07:00
gpio-thunderx.c gpio: thunderx: Use the default parent apis for {request,release}_resources 2019-05-01 10:41:38 +01:00
gpio-timberdale.c drivers: gpio: timberdale: use devm_platform_ioremap_resource() 2019-04-05 00:04:28 +07:00
gpio-tpic2810.c
gpio-tps6586x.c gpio: tps65xxx: Use SPDX license tag 2018-09-04 08:22:47 +02:00
gpio-tps65086.c gpio: tps65xxx: Use SPDX license tag 2018-09-04 08:22:47 +02:00
gpio-tps65218.c
gpio-tps65910.c gpio: tps65xxx: Use SPDX license tag 2018-09-04 08:22:47 +02:00
gpio-tps65912.c gpio: tps65xxx: Use SPDX license tag 2018-09-04 08:22:47 +02:00
gpio-tps68470.c gpio: tps68470: Update to SPDX license identifier 2018-02-23 15:26:42 +01:00
gpio-tqmx86.c gpio: tqmx86: Set proper output level for direction_output 2019-02-21 13:19:52 +01:00
gpio-ts4800.c drivers: gpio: ts4800: use devm_platform_ioremap_resource() 2019-04-05 00:04:28 +07:00
gpio-ts4900.c gpio: ts4900: Use of_device_get_match_data() 2018-05-16 14:35:24 +02:00
gpio-ts5500.c gpio: ts5500: Delete platform data handling 2018-09-04 08:22:47 +02:00
gpio-twl4030.c gpio: twl4030: Implement .get_direction() 2018-09-10 08:48:51 +02:00
gpio-twl6040.c gpio: twl6040: Implement .get_direction() 2018-09-10 08:49:22 +02:00
gpio-ucb1400.c
gpio-uniphier.c drivers: gpio: uniphier: use devm_platform_ioremap_resource() 2019-04-05 00:04:28 +07:00
gpio-vf610.c gpio: updates for v5.2 (part 1) 2019-04-08 15:48:11 +02:00
gpio-viperboard.c gpio: viperboard: Cut down on boilerplate 2018-09-17 10:55:24 -07:00
gpio-vr41xx.c gpio: vr41xx: Delete vr41xx_gpio_pullupdown() callback 2018-09-17 10:55:24 -07:00
gpio-vx855.c gpio: vx855: Cut down on boilerplate 2018-09-17 10:55:24 -07:00
gpio-wcove.c gpio: wcove: Convert to use SPDX identifier 2019-02-08 15:55:41 +02:00
gpio-winbond.c gpio: winbond: Add driver 2018-01-09 14:51:00 +01:00
gpio-wm831x.c gpio: wm8xxx: Cut down on boilerplate 2018-09-17 10:55:24 -07:00
gpio-wm8350.c gpio: wm8xxx: Cut down on boilerplate 2018-09-17 10:55:24 -07:00
gpio-wm8994.c gpio: wm8xxx: Cut down on boilerplate 2018-09-17 10:55:24 -07:00
gpio-ws16c48.c gpio: ws16c48: Mask read inputs for get_multiple 2018-11-05 08:54:42 +01:00
gpio-xgene-sb.c drivers: gpio: xgene-sb: use devm_platform_ioremap_resource() 2019-04-05 00:04:28 +07:00
gpio-xgene.c
gpio-xilinx.c gpio: xilinx: Use the right include 2018-08-10 23:19:17 +02:00
gpio-xlp.c drivers: gpio: xlp: devm_platform_ioremap_resource() 2019-04-05 00:04:28 +07:00
gpio-xra1403.c gpio: xra1403: Switch to a fixed upper bound for registers 2018-04-27 01:06:21 +02:00
gpio-xtensa.c gpio: xtensa: Cut down on boilerplate 2018-09-17 10:55:24 -07:00
gpio-zevio.c gpio: zevio: Include the right header 2018-09-04 08:22:47 +02:00
gpio-zx.c drivers: gpio: zx: use devm_platform_ioremap_resource() 2019-04-05 00:04:28 +07:00
gpio-zynq.c gpio: zynq: use devm_platform_ioremap_resource() 2019-04-05 00:04:28 +07:00
gpiolib-acpi.c gpiolib: acpi: Respect pin bias setting 2019-04-23 10:55:28 +02:00
gpiolib-devprop.c gpiolib: devprop: Fix syntax error 2019-04-08 11:20:12 +02:00
gpiolib-devres.c gpio: Add devm_gpiod_unhinge() 2018-12-11 01:04:23 +00:00
gpiolib-legacy.c gpio: Use SPDX header for core library 2018-09-25 09:08:48 +02:00
gpiolib-of.c gpio: of: parse stmmac PHY reset line specific active-low property 2019-06-12 09:46:52 +02:00
gpiolib-sysfs.c gpio: Use SPDX header for core library 2018-09-25 09:08:48 +02:00
gpiolib.c This is the bulk of the GPIO changes for the v5.2 kernel cycle: 2019-05-11 10:54:43 -04:00
gpiolib.h This is the bulk of the GPIO changes for the v5.2 kernel cycle: 2019-05-11 10:54:43 -04:00
Kconfig ARM: SoC platform updates 2019-05-16 08:31:32 -07:00
Makefile ARM: SoC platform updates 2019-05-16 08:31:32 -07:00
TODO gpio: Add global TODO file for GPIO 2018-11-05 08:54:40 +01:00