Mika Westerberg
919eb4756e
pinctrl: intel: Add support for variable size pad groups
...
The Intel GPIO hardware has a concept of pad groups, which means 1 to 32
pads occupying their own GPI_IS, GPI_IE, PAD_OWN and so on registers. The
existing hardware has the same amount of pads in each pad group (except the
last one) so it is possible to use community->gpp_size to calculate start
offset of each register.
With the next generation SoCs the pad group size is not always the same
anymore which means we cannot use community->gpp_size for register offset
calculations directly.
To support variable size pad groups we introduce struct intel_padgroup that
can be filled in by the client drivers according the hardware pad group
layout. The core driver will always use these when it performs calculations
for pad register offsets. The core driver will automatically populate pad
groups based on community->gpp_size if the driver does not provide any.
This makes sure the existing drivers still work as expected.
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Chuah, Kim Tatt <kim.tatt.chuah@intel.com>
Signed-off-by: Tan Jui Nee <jui.nee.tan@intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-06-09 13:01:35 +02:00
..
aspeed
pinctrl: aspeed: g5: Add pinconf support
2017-04-24 14:55:50 +02:00
bcm
pinctrl: bcm: cleanup Broadcom license headers
2017-06-09 11:09:43 +02:00
berlin
Pin control bulk changes for the v4.11 kernel cycle:
2017-02-21 16:34:22 -08:00
freescale
pinctrl: imx: add soc specific mux_mode mask and shift property
2017-05-22 11:05:19 +02:00
intel
pinctrl: intel: Add support for variable size pad groups
2017-06-09 13:01:35 +02:00
mediatek
pinctrl: mediatek: reuse pinctrl driver for mt7623
2017-05-22 10:39:25 +02:00
meson
pinctrl: meson: add interrupts to pinctrl data
2017-06-09 09:28:20 +02:00
mvebu
pinctrl: armada-37xx: Add irqchip support
2017-05-22 10:39:24 +02:00
nomadik
pinctrl: nomadik: split up and comments MC0 pins
2016-11-18 09:54:32 +01:00
pxa
pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration
2016-04-21 00:03:04 +02:00
qcom
This is the bulk of pin control changes for the v4.12 cycle:
2017-05-02 17:59:33 -07:00
samsung
This is the bulk of pin control changes for the v4.12 cycle:
2017-05-02 17:59:33 -07:00
sh-pfc
pinctrl: sh-pfc: r8a7794: Add R8A7745 support
2017-05-16 13:53:15 +02:00
sirf
pinctrl: sirf: atlas7: make use of raw_spinlock variants
2017-03-16 16:39:15 +01:00
spear
pinctrl: spear: make bool drivers explicitly non-modular
2017-02-13 14:25:55 +01:00
stm32
pinctrl: stm32: remove useless check
2017-06-09 10:03:23 +02:00
sunxi
pinctrl: sunxi: Add support for A83T R_PIO
2017-06-09 11:20:32 +02:00
tegra
pinctrl: tegra: clean up modular vs. non-modular distinctions
2017-05-29 10:24:42 +02:00
ti
pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()
2017-04-07 01:08:08 +02:00
uniphier
This is the bulk of pin control changes for the v4.12 cycle:
2017-05-02 17:59:33 -07:00
vt8500
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
zte
pinctrl: zte: fix group_desc initialization
2017-05-29 10:16:16 +02:00
core.c
pinctrl: When claiming hog, skip maps not served by same device
2017-05-22 17:05:44 +02:00
core.h
pinctrl: core: Fix regression caused by delayed work for hogs
2017-01-13 16:25:17 +01:00
devicetree.c
pinctrl: core: Make dt_free_map optional
2017-01-09 19:41:07 +01:00
devicetree.h
pinctrl: core: Use delayed work for hogs
2017-01-03 09:26:16 +01:00
Kconfig
pinctrl: mcp23s08: improve I2C Kconfig dependency
2017-05-31 01:58:36 +02:00
Makefile
Merge branch 'mcp23s08' into devel
2017-05-23 09:52:08 +02:00
pinconf-generic.c
pinctrl: generic: Add bi-directional and output-enable
2017-04-11 11:01:33 +02:00
pinconf.c
pinctrl: Add spaces for better code readability
2017-05-22 10:39:24 +02:00
pinconf.h
pinctrl: Allow configuration of pins from gpiolib based drivers
2017-01-26 15:23:01 +01:00
pinctrl-adi2-bf54x.c
pinctrl-adi2-bf60x.c
pinctrl-adi2.c
pinctrl: adi2: Use devm_pinctrl_register() for pinctrl registration
2016-04-21 09:23:20 +02:00
pinctrl-adi2.h
pinctrl-amd.c
pinctrl/amd: Update contact information for AMD pinctrl/amd
2017-05-22 10:39:24 +02:00
pinctrl-amd.h
pinctrl: amd: make use of raw_spinlock variants
2017-03-16 16:39:15 +01:00
pinctrl-artpec6.c
pinctrl: artpec6: Fix return value check in artpec6_pmx_probe()
2017-04-28 09:40:52 +02:00
pinctrl-as3722.c
pinctrl: as3722: Use devm_pinctrl_register() for pinctrl registration
2016-04-21 09:23:21 +02:00
pinctrl-at91-pio4.c
pinctrl: at91-pio4: handle suspend to ram
2017-04-07 14:32:51 +02:00
pinctrl-at91.c
pinctrl: at91: add support for OUTPUT config
2016-10-31 09:16:46 +01:00
pinctrl-at91.h
pinctrl-coh901.c
pinctrl-coh901.h
pinctrl-da850-pupd.c
Merge branch 'ib-pinctrl-genprops' into devel
2017-01-26 15:27:54 +01:00
pinctrl-digicolor.c
Revert "pinctrl: digicolor: add missing platform_set_drvdata() call"
2016-06-23 09:50:05 +02:00
pinctrl-falcon.c
pinctrl: update my email address
2016-12-30 09:17:02 +01:00
pinctrl-ingenic.c
pinctrl: add a pinctrl driver for the Ingenic jz47xx SoCs
2017-05-22 17:17:23 +02:00
pinctrl-lantiq.c
pinctrl: update my email address
2016-12-30 09:17:02 +01:00
pinctrl-lantiq.h
pinctrl: update my email address
2016-12-30 09:17:02 +01:00
pinctrl-lpc18xx.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-max77620.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-mcp23s08.c
pinctrl: mcp23s08: drop comment about missing irq support
2017-05-23 09:51:08 +02:00
pinctrl-oxnas.c
pinctrl: oxnas: Add support for OX820
2016-10-24 16:30:14 +02:00
pinctrl-palmas.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-pic32.c
pinctrl: pic32: Use devm_pinctrl_register() for pinctrl registration
2016-04-21 09:23:24 +02:00
pinctrl-pic32.h
pinctrl-pistachio.c
pinctrl: pistachio: fix mfio pll_lock pinmux
2016-08-22 15:28:35 +02:00
pinctrl-rockchip.c
pinctrl: rockchip: Add iomux-route switching support for rk3399
2017-05-29 14:28:25 +02:00
pinctrl-single.c
pinctrl: single: use of_device_get_match_data() to get soc data
2017-05-29 10:18:46 +02:00
pinctrl-st.c
pinctrl: st: add irq_request/release_resources callbacks
2017-03-23 10:10:39 +01:00
pinctrl-sx150x.c
pinctrl / gpio: Introduce .set_config() callback for GPIO chips
2017-01-26 15:27:37 +01:00
pinctrl-tb10x.c
pinctrl: tb10x: Use devm_pinctrl_register() for pinctrl registration
2016-04-21 09:23:25 +02:00
pinctrl-tz1090-pdc.c
pinctrl: tz1090-pdc: Use devm_pinctrl_register() for pinctrl registration
2016-04-21 09:23:26 +02:00
pinctrl-tz1090.c
pinctrl: tz1090 Use devm_pinctrl_register() for pinctrl registration
2016-04-21 09:23:26 +02:00
pinctrl-u300.c
pinctrl: u300: make u300_pmx_registers static
2016-06-13 09:27:43 +02:00
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c
pinctrl: xway: fix copy/paste error in xrx200_grps
2017-05-29 18:46:42 +02:00
pinctrl-zynq.c
pinctrl: zynq: Add a 8 bit wide nand option
2016-11-04 15:19:00 +01:00
pinmux.c
pinctrl: pinmux: Fix kerneldoc for pinmux_generic_add_function()
2017-04-07 11:52:09 +02:00
pinmux.h
pinctrl: core: Add generic pinctrl functions for managing groups
2017-01-03 09:26:18 +01:00