2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-19 10:44:14 +08:00
linux-next/arch/arm/mach-u300
Patrice Chotard 4f5e1b3708 spi/pl022: adopt pinctrl support
Amend the PL022 pin controller to optionally take a pin control
handle and set the state of the pins to "default" on boot and
runtime resume, and to "sleep" at runtime suspend. This way we
will dynamically save power on the SPI busses, for example some
electronic designs may be able to ground the pins when unused
instead of pull-up. Some pin controllers may want to set the
pins as wake-up sources when sleeping.

Effect on platforms using the PL022 driver:

- If the platform does not use pin control - no semantic effect,
  the pinctrl stubs will kick in and resolve the situation.

- Platforms using this driver and have pin control but no
  function defined for the PL022 need to either supply a
  "default" function in their map or enable pinctrl dummies
  so the driver is satisfied.

- Platforms using this driver with hogs for setting up the PL022
  pin control - stop using hogs to take the pl022 pin control
  handle, let the driver handle this.

I'be looked at some platforms that may be affected:

- SPEAr: appears to define the proper functions in their device
  trees and not hogging them, so things should be smooth, the
  driver will simply start to take its pins.

- Ux500: the proper function is defined and will be taken properly
  by the driver. New sleep states introduced by a separate patch to
  ux500 but no regression, since the default state is sufficient.

- U300: old hog deleted as part of this patch.

- LPC32xx: does not appear to be using pinctrl.

- ARM Integrator IMPD1, RealView & Versatile: does not use pinctrl.

Tested-by: Roland Stigge <stigge@antcom.de>
Signed-off-by: Patrice Chotard <patrice.chotard@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-20 09:02:53 -04:00
..
include/mach ARM: u300: bump all IRQ numbers by one 2012-04-20 09:52:58 +02:00
core.c spi/pl022: adopt pinctrl support 2012-09-20 09:02:53 -04:00
dummyspichip.c spi/pl022: Add spi->mode support to AMBA SPI driver 2010-10-12 21:37:37 -06:00
i2c.c ARM: ux300: Fix unimplementable regulation constraints 2012-04-20 09:52:49 +02:00
i2c.h ARM: 5668/2: U300 I2C board setup 2009-08-15 15:36:29 +01:00
Kconfig pinctrl: rename U300 and SIRF pin controllers 2012-01-03 09:10:08 +01:00
Makefile ARM: u300: convert to common clock 2012-07-11 15:36:45 -07:00
Makefile.boot Merge branch 'next/cleanup' of git://git.linaro.org/people/arnd/arm-soc 2011-11-01 20:11:00 -07:00
regulator.c ARM: 5724/1: U300 AB3100 boardinfo v5 2009-10-19 17:10:09 +01:00
spi.c pinctrl: add a driver for the U300 pinmux 2011-10-13 12:57:45 +02:00
spi.h ARM: 5667/3: U300 SSP/SPI board setup and test 2009-08-15 15:36:29 +01:00
timer.c ARM: u300: convert to common clock 2012-07-11 15:36:45 -07:00
u300-gpio.h ARM: u300: localize GPIO assignments 2012-01-03 09:10:03 +01:00
u300.c Merge branch 'depends/rmk/restart' into next/cleanup 2012-01-07 11:51:28 +00:00