linux-stable/drivers/pinctrl
Helmut Buchsbaum 83a21727c3 pinctrl: zynq: configure SPI SSx pins separately
Since SCLK, MISO and MOSI are the only mandatory signals at Zynq's SPI
interfaces, SS0, SS1 and SS2 have to be configured separately as they may
be used as simple GPIO lines.

This, of course, has to be considered in the devicetree, so pin controller
configuration for e.g. an SPI0 using SS0 and SS1 only might look like the
following snippet (derived from the example of chapter "17.5.3
MIO/EMIO" Routing of Zynq-7000 TRM UG585). So MIO20 can now be used
as GPIO instead of being occupied by SPI0 SS2 function. Note the separate
pinmux function for the slave select signals:

pinctrl_spi0_default: spi0-default {
	mux_spi {
		function = "spi0";
		groups = "spi0_0_grp";
	};

	mux_ss {
		function = "spi0_ss";
		groups = "spi0_0_ss0_grp", "spi0_0_ss1_grp";
	}

	conf-output {
		pins = "MIO16", "MIO21";
		slew-rate = <0>;
		bias-disable;
		low-power-disable;
		io-standard = <1>;
	};

	conf-input {
		pins = "MIO17";
		slew-rate = <0>;
		bias-high-impedance;
		low-power-disable;
		io-standard = <1>;
	};

	conf-select {
		pins = "MIO18", "MIO19";
		slew-rate = <0>;
		bias-pull-up;
		low-power-disable;
		io-standard = <1>;
	};
};

pinctrl_gpio0_default {
	mux {
		function = "gpio0";
		groups = "gpio0_20_grp"
	};

	conf {
		pins = "MIO20";
		slew-rate = <0>;
		bias-pull-up;
		low-power-disable;
		io-standard = <1>;
	};
};

Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@gmail.com>
Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-05-06 15:26:52 +02:00
..
bcm pinctrl: bcm2835: Fix support for threaded level triggered IRQs 2015-04-08 16:41:59 +02:00
berlin pinctrl: berlin: drop owner assignment from platform_drivers 2014-10-20 16:21:21 +02:00
freescale pinctrl: add imx7d support 2015-05-06 14:45:19 +02:00
intel This is the bulk of pin control changes for the v4.1 development 2015-04-14 17:58:15 -07:00
mediatek pinctrl: fix allmodconfig noise 2015-04-15 10:02:42 +02:00
meson pinctrl: Add support for Meson8b 2015-04-07 11:44:40 +02:00
mvebu pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
nomadik pinctrl: nomadik: assign chips dynamically 2015-05-06 14:48:22 +02:00
qcom pinctrl: Add support for PM8916 GPIO's and MPP's 2015-04-08 17:00:18 +02:00
samsung pinctrl: exynos: Remove eint_gpio_init call-back for exynos7 alive pinctrl block 2015-03-18 02:02:19 +01:00
sh-pfc sh-pfc: r8a7790: add EtherAVB pin groups 2015-04-07 15:21:26 +02:00
sirf pinctrl: sirf: move sgpio lock into state container 2015-04-09 10:16:13 +02:00
spear Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunxi This is the bulk of pin control changes for the v4.1 development 2015-04-14 17:58:15 -07:00
vt8500 pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
core.c pinctrl: Fix two deadlocks 2015-01-14 14:20:33 +01:00
core.h
devicetree.c
devicetree.h
Kconfig pinctrl: add lpc18xx pinctrl driver 2015-05-06 14:45:18 +02:00
Makefile pinctrl: add lpc18xx pinctrl driver 2015-05-06 14:45:18 +02:00
pinconf-generic.c pinctrl: pinconf-generic: add dt node names to error messages 2015-03-27 09:53:10 +01:00
pinconf.c pinctrl: pinconf-generic: Allow driver to specify DT params 2015-01-11 22:32:19 +01:00
pinconf.h pinctrl: pinconf-generic: Allow driver to specify DT params 2015-01-11 22:32:19 +01:00
pinctrl-adi2-bf54x.c
pinctrl-adi2-bf60x.c
pinctrl-adi2.c pinctrl: move strict option to pinmux_ops 2015-05-06 14:45:19 +02:00
pinctrl-adi2.h
pinctrl-amd.c Fix inconsistent spinlock of AMD GPIO driver which can be 2015-04-07 11:36:49 +02:00
pinctrl-amd.h Fix inconsistent spinlock of AMD GPIO driver which can be 2015-04-07 11:36:49 +02:00
pinctrl-as3722.c pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
pinctrl-at91.c pinctrl: at91: Add set_multiple GPIO chip feature 2015-05-06 14:45:18 +02:00
pinctrl-at91.h pinctrl: at91: use own header 2014-10-29 09:28:35 +01:00
pinctrl-coh901.c
pinctrl-coh901.h
pinctrl-falcon.c staging: drivers: pinctrl: Fixed checkpatch.pl warnings 2015-01-21 11:02:26 +01:00
pinctrl-lantiq.c pinctrl: clean up after enable refactoring 2014-09-04 10:05:07 +02:00
pinctrl-lantiq.h pinctrl: lantiq: fix include guard #endif comment 2015-03-09 18:10:57 +01:00
pinctrl-lpc18xx.c pinctrl: add lpc18xx pinctrl driver 2015-05-06 14:45:18 +02:00
pinctrl-palmas.c pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
pinctrl-rockchip.c pinctrl: rockchip: Only mask interrupts; never disable 2015-01-30 10:38:36 +01:00
pinctrl-single.c pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
pinctrl-st.c pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
pinctrl-tb10x.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pinctrl-tegra-xusb.c USB patches for 3.19-rc1 2014-12-14 14:57:16 -08:00
pinctrl-tegra.c pinctrl: tegra: support nvidia,io-hv DT property 2015-03-09 18:10:58 +01:00
pinctrl-tegra.h pinctrl: tegra: use signed bitfields for optional fields 2015-03-19 09:20:17 +01:00
pinctrl-tegra20.c pinctrl: tegra: some bits move between registers 2015-03-09 18:10:58 +01:00
pinctrl-tegra30.c pinctrl: tegra: some bits move between registers 2015-03-09 18:10:58 +01:00
pinctrl-tegra114.c pinctrl: tegra: some bits move between registers 2015-03-09 18:10:58 +01:00
pinctrl-tegra124.c pinctrl: tegra: some bits move between registers 2015-03-09 18:10:58 +01:00
pinctrl-tegra210.c pinctrl: tegra: add a driver for Tegra210 2015-03-09 18:10:59 +01:00
pinctrl-tz1090-pdc.c pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
pinctrl-tz1090.c pinctrl: constify of_device_id array 2015-03-27 09:58:35 +01:00
pinctrl-u300.c pinctrl: drop owner assignment from platform_drivers 2014-10-20 16:21:21 +02:00
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c pinctrl: lantiq: remove bogus of_gpio_chip_add 2015-01-14 14:20:46 +01:00
pinctrl-zynq.c pinctrl: zynq: configure SPI SSx pins separately 2015-05-06 15:26:52 +02:00
pinmux.c pinctrl: move strict option to pinmux_ops 2015-05-06 14:45:19 +02:00
pinmux.h