* [PATCH 0/2] spi: atmel: adopt pinctrl support @ 2014-03-05 1:58 Wenyou Yang [not found] ` <1393984730-14828-1-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Wenyou Yang @ 2014-03-05 1:58 UTC (permalink / raw) To: broonie-DgEjT+Ai2ygdnm+yROfE0A, nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w, plagnioj-sclMFOaUSTBWk0Htik3J/w, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8, ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg, galak-sgV2jX0FEOL9JmXXK+q4OQ, linux-lFZ/pmaqli7XmaaqVzeoHQ Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-spi-u79uwXL29TY76Z2rM5mHXA, wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w Hi Mark, This patch is to adopt pinctrl support to optimize energy usage for the pins both for the suspend/resume cycle. The patch is based on the branch: for-next git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git Best Regards, Wenyou Yang Wenyou Yang (2): spi: atmel: adopt pinctrl support ARM: dts: sama5d36ek: add spi pinctrl sleep state arch/arm/boot/dts/sama5d36ek.dts | 14 ++++++++++++++ drivers/spi/spi-atmel.c | 9 +++++++++ 2 files changed, 23 insertions(+) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <1393984730-14828-1-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>]
* [PATCH 1/2] spi: atmel: adopt pinctrl support [not found] ` <1393984730-14828-1-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> @ 2014-03-05 1:58 ` Wenyou Yang [not found] ` <1393984730-14828-2-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> 2014-03-05 1:58 ` [PATCH 2/2] ARM: dts: sama5d36ek: add spi pinctrl sleep state Wenyou Yang 1 sibling, 1 reply; 5+ messages in thread From: Wenyou Yang @ 2014-03-05 1:58 UTC (permalink / raw) To: broonie-DgEjT+Ai2ygdnm+yROfE0A, nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w, plagnioj-sclMFOaUSTBWk0Htik3J/w, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8, ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg, galak-sgV2jX0FEOL9JmXXK+q4OQ, linux-lFZ/pmaqli7XmaaqVzeoHQ Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-spi-u79uwXL29TY76Z2rM5mHXA, wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w Amend the spi atmel pin controller to optionally take a pin control handle and set the state of the pins to: - "default" on boot, resume and before performing an spitransfer - "sleep" on suspend() This should make it possible to optimize energy usage for the pins both for the suspend/resume cycle Signed-off-by: Wenyou Yang <wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> --- drivers/spi/spi-atmel.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c index b0842f7..54b4436 100644 --- a/drivers/spi/spi-atmel.c +++ b/drivers/spi/spi-atmel.c @@ -26,6 +26,7 @@ #include <linux/io.h> #include <linux/gpio.h> +#include <linux/pinctrl/consumer.h> /* SPI register offsets */ #define SPI_CR 0x0000 @@ -1303,6 +1304,9 @@ static int atmel_spi_probe(struct platform_device *pdev) struct spi_master *master; struct atmel_spi *as; + /* Select default pin state */ + pinctrl_pm_select_default_state(&pdev->dev); + regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!regs) return -ENXIO; @@ -1457,6 +1461,9 @@ static int atmel_spi_suspend(struct device *dev) struct atmel_spi *as = spi_master_get_devdata(master); clk_disable_unprepare(as->clk); + + pinctrl_pm_select_sleep_state(dev); + return 0; } @@ -1465,6 +1472,8 @@ static int atmel_spi_resume(struct device *dev) struct spi_master *master = dev_get_drvdata(dev); struct atmel_spi *as = spi_master_get_devdata(master); + pinctrl_pm_select_default_state(dev); + clk_prepare_enable(as->clk); return 0; } -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 5+ messages in thread
[parent not found: <1393984730-14828-2-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH 1/2] spi: atmel: adopt pinctrl support [not found] ` <1393984730-14828-2-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> @ 2014-03-05 3:22 ` Mark Brown 0 siblings, 0 replies; 5+ messages in thread From: Mark Brown @ 2014-03-05 3:22 UTC (permalink / raw) To: Wenyou Yang Cc: nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w, plagnioj-sclMFOaUSTBWk0Htik3J/w, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8, ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg, galak-sgV2jX0FEOL9JmXXK+q4OQ, linux-lFZ/pmaqli7XmaaqVzeoHQ, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-spi-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 192 bytes --] On Wed, Mar 05, 2014 at 09:58:49AM +0800, Wenyou Yang wrote: > Amend the spi atmel pin controller to optionally take a pin control > handle and set the state of the pins to: Applied, thanks. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] ARM: dts: sama5d36ek: add spi pinctrl sleep state [not found] ` <1393984730-14828-1-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> 2014-03-05 1:58 ` [PATCH 1/2] " Wenyou Yang @ 2014-03-05 1:58 ` Wenyou Yang 2014-03-05 9:22 ` Alexandre Belloni 1 sibling, 1 reply; 5+ messages in thread From: Wenyou Yang @ 2014-03-05 1:58 UTC (permalink / raw) To: broonie-DgEjT+Ai2ygdnm+yROfE0A, nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w, plagnioj-sclMFOaUSTBWk0Htik3J/w, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8, ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg, galak-sgV2jX0FEOL9JmXXK+q4OQ, linux-lFZ/pmaqli7XmaaqVzeoHQ Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-spi-u79uwXL29TY76Z2rM5mHXA, wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w Signed-off-by: Wenyou Yang <wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> --- arch/arm/boot/dts/sama5d36ek.dts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/arch/arm/boot/dts/sama5d36ek.dts b/arch/arm/boot/dts/sama5d36ek.dts index 59576c6..676d121 100644 --- a/arch/arm/boot/dts/sama5d36ek.dts +++ b/arch/arm/boot/dts/sama5d36ek.dts @@ -18,6 +18,8 @@ ahb { apb { spi0: spi@f0004000 { + pinctrl-names = "default", "sleep"; + pinctrl-1 = <&pinctrl_spi0_sleep>; status = "okay"; }; @@ -44,6 +46,18 @@ macb1: ethernet@f802c000 { status = "okay"; }; + + pinctrl@fffff200 { + spi0 { + pinctrl_spi0_sleep: spi0-1 { + atmel,pins = + <AT91_PIOD 10 AT91_PERIPH_GPIO AT91_PINCTRL_OUTPUT_LOW /* PD10 GPIO Output Low */ + AT91_PIOD 11 AT91_PERIPH_GPIO AT91_PINCTRL_OUTPUT_LOW /* PD11 GPIO Output Low */ + AT91_PIOD 12 AT91_PERIPH_GPIO AT91_PINCTRL_OUTPUT_LOW>; /* PD12 GPIO Output Low */ + }; + }; + + }; }; }; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] ARM: dts: sama5d36ek: add spi pinctrl sleep state 2014-03-05 1:58 ` [PATCH 2/2] ARM: dts: sama5d36ek: add spi pinctrl sleep state Wenyou Yang @ 2014-03-05 9:22 ` Alexandre Belloni 0 siblings, 0 replies; 5+ messages in thread From: Alexandre Belloni @ 2014-03-05 9:22 UTC (permalink / raw) To: Wenyou Yang Cc: broonie, nicolas.ferre, plagnioj, robh+dt, pawel.moll, mark.rutland, ijc+devicetree, galak, linux, devicetree, linux-kernel, linux-arm-kernel, linux-spi Hi, On 05/03/2014 at 09:58:50 +0800, Wenyou Yang wrote : > Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> > --- > arch/arm/boot/dts/sama5d36ek.dts | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/arch/arm/boot/dts/sama5d36ek.dts b/arch/arm/boot/dts/sama5d36ek.dts > index 59576c6..676d121 100644 > --- a/arch/arm/boot/dts/sama5d36ek.dts > +++ b/arch/arm/boot/dts/sama5d36ek.dts > @@ -18,6 +18,8 @@ > ahb { > apb { > spi0: spi@f0004000 { > + pinctrl-names = "default", "sleep"; > + pinctrl-1 = <&pinctrl_spi0_sleep>; > status = "okay"; > }; > > @@ -44,6 +46,18 @@ > macb1: ethernet@f802c000 { > status = "okay"; > }; > + > + pinctrl@fffff200 { > + spi0 { > + pinctrl_spi0_sleep: spi0-1 { > + atmel,pins = > + <AT91_PIOD 10 AT91_PERIPH_GPIO AT91_PINCTRL_OUTPUT_LOW /* PD10 GPIO Output Low */ > + AT91_PIOD 11 AT91_PERIPH_GPIO AT91_PINCTRL_OUTPUT_LOW /* PD11 GPIO Output Low */ > + AT91_PIOD 12 AT91_PERIPH_GPIO AT91_PINCTRL_OUTPUT_LOW>; /* PD12 GPIO Output Low */ I think that one would belong to the dtsi as this is generic enough. Also, it was suggested by Mark that list entries should be bracketed separately. But I guess we may not want to mix styles in the same file. Nicolas, what do you think ? -- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-03-05 9:22 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-03-05 1:58 [PATCH 0/2] spi: atmel: adopt pinctrl support Wenyou Yang [not found] ` <1393984730-14828-1-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> 2014-03-05 1:58 ` [PATCH 1/2] " Wenyou Yang [not found] ` <1393984730-14828-2-git-send-email-wenyou.yang-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> 2014-03-05 3:22 ` Mark Brown 2014-03-05 1:58 ` [PATCH 2/2] ARM: dts: sama5d36ek: add spi pinctrl sleep state Wenyou Yang 2014-03-05 9:22 ` Alexandre Belloni
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).