100 Commits
Author SHA1 Message Date
Roland Stigge 01100c022d ARM: LPC32xx: Fix reset function
In the recent change to the reset function API (commit
7b6d864b48), the mode argument changed from a
char to an enum. lpc23xx_restart() only handles REBOOT_SOFT and REBOOT_HARD,
but the new kernel code emits REBOOT_COLD (0) on reboots now which leads to
lpc32xx simply not rebooting (but halting).

This patch fixes this by just resetting unconditionally as on other platforms
(e.g. mach-bcm2835).

Pulling lpc32xx_watchdog_reset() into lpc23xx_restart() since the while() in
lpc23xx_restart() is part of the procedure anyway and lpc32xx_watchdog_reset()
isn't used anywhere else anymore.

Signed-off-by: Roland Stigge <[email protected]>
2014-09-10 17:25:14 +02:00
Roland Stigge 4884f769e6 ARM: LPC32xx: defconfig update
This patch adds UBI+UBIFS to LPC32xx defconfig.

Signed-off-by: Roland Stigge <[email protected]>
2014-09-10 15:41:11 +02:00
Roland Stigge 61e89e65e3 spi/pl022: Fix error message
This patch fixes an error message typo ("not" missing).

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
2014-09-09 16:21:51 +01:00
Roland Stigge aff88a0695 net: lpc_eth: Fix crash on ip link up
When a link is already up, the following sequence makes the kernel
block completely:

  ip link set dev eth0 down
  ip link set dev eth0 up

This is because on suspended phy, the following lines

  __lpc_eth_reset(pldat);
  __lpc_eth_init(pldat);

make the LPC ethernet core block (see LPC32x0 manual). The PHY needs to be
(re-)activated low-level first.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-09-02 13:21:55 -07:00
Roland Stigge b62d7946b2 MAINTAINERS: Add maintainer for LPC32xx
This patch adds Roland Stigge as maintainer for NXP LPC32xx.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Olof Johansson <[email protected]>
2013-04-02 13:45:51 -07:00
Roland Stigge c8fa48d372 usb: Fix compile error by selecting USB_OTG_UTILS
The current lpc32xx_defconfig breaks like this, caused by recent phy
restructuring:

  LD      init/built-in.o
drivers/built-in.o: In function `usb_hcd_nxp_probe':
drivers/usb/host/ohci-nxp.c:224: undefined reference to `isp1301_get_client'
drivers/built-in.o: In function `lpc32xx_udc_probe':
drivers/usb/gadget/lpc32xx_udc.c:3104: undefined reference to
`isp1301_get_client' distcc[27867] ERROR: compile (null) on localhost failed
make: *** [vmlinux] Error 1

Caused by 1c2088812f (usb: Makefile: fix
drivers/usb/phy/ Makefile entry)

This patch fixes this by selecting USB_OTG_UTILS in Kconfig which
causes the phy driver to be built again.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Felipe Balbi <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-03-27 08:49:20 -07:00
Roland Stigge 17e7979f83 ARM: LPC32xx: defconfig update: Cleanup (EXPERIMENTAL)
Remove CONFIG_EXPERIMENTAL from the defconfig since it's deprecated.

Signed-off-by: Roland Stigge <[email protected]>
2013-03-27 09:37:01 +01:00
Roland Stigge ea7faa43a7 ARM: LPC32xx: defconfig update: Default drivers and cleanup
This defconfig patch enables devtmpfs and the mmc spi driver, and does a
cleanup of irrelevant driver comment on this platform
(CONFIG_NET_VENDOR_CHELSIO).

Signed-off-by: Roland Stigge <[email protected]>
2013-03-27 09:36:56 +01:00
Roland Stigge 43677a6f05 ARM: LPC32xx: defconfig update: gpio and keys
This patch adjusts LPC32xx to new config:

* CONFIG_INPUT_MATRIXKMAP is selected automatically now
* Enabled some GPIO drivers

Signed-off-by: Roland Stigge <[email protected]>
2013-03-27 09:36:53 +01:00
Roland Stigge 073350f7b5 mmc: mmc_spi: Fix return value evaluation of irq_of_parse_and_map()
When irq_of_parse_and_map() returns an error, it does as zero. But in
mmc_spi_get_pdata(), the error return case is compared against NO_IRQ.
This might work where NO_IRQ is zero (defaults to zero when undefined,
as on MIPS) but not where NO_IRQ is different, e.g. on ARM where it's -1.

This patch changes to comparison with 0 which is the error return value
of irq_of_parse_and_map().

Tested on ARM that mmc_spi is working now.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Chris Ball <[email protected]>
2013-02-24 14:37:10 -05:00
Roland Stigge 968d21c2cf drivers/rtc/rtc-imxdi.c: add devicetree support
Add device tree support to the rtc-imxdi driver.

Signed-off-by: Roland Stigge <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Cc: Grant Likely <[email protected]>
Cc: Sascha Hauer <[email protected]>
Cc: Russell King <[email protected]>
Cc: Shawn Guo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2012-12-17 17:15:20 -08:00
Roland Stigge ef216ad017 drivers/rtc/rtc-imxdi: support for i.MX53
Enable support for i.MX53 in addition to i.MX25 by enabling the driver on
ARCH_MXC generally.

Signed-off-by: Roland Stigge <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Cc: Grant Likely <[email protected]>
Cc: Sascha Hauer <[email protected]>
Cc: Russell King <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2012-12-17 17:15:20 -08:00
Roland Stigge 04553e925b leds: leds-gpio: Defer probing in case of deferred gpio probing
This patch makes leds-gpio's probe() return -EPROBE_DEFER if any of the gpios
to register are deferred themselves. This makes a change of
gpio_leds_create_of()'s return value necessary: Instead of returning NULL on
error, we now use ERR_PTR() error coding.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Bryan Wu <[email protected]>
2012-11-26 14:28:49 -08:00
Roland Stigge 8754fccbae gpio: gpio-max710x: Support device tree probing
For probing via device tree, we need to support the case without platform_data.
In this case, chip.base is set to -1 for automatic numbering.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Wolfram Sang <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
2012-11-17 21:21:08 +01:00
Roland Stigge 48b797adc0 watchdog: Support imx watchdog on SOC_IMX53
This patch fixes watchdog support after devicetree switch for imx53

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
2012-11-16 16:21:48 +01:00
Roland Stigge eebdb17287 ARM: mach-imx: Support for DryIce RTC in i.MX53
This patch enables support for i.MX53 in addition to i.MX25 by providing a
dummy clock on i.MX53 since this one doesn't have a separate clock for internal
RTC but the driver requests one.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
2012-11-16 16:21:48 +01:00
Roland Stigge a1fff236b4 ARM: dts: imx53: pinctl update
This patch supplements pinctl support on i.MX53.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Sascha Hauer <[email protected]>
Signed-off-by: Shawn Guo <[email protected]>
2012-11-16 14:18:53 +08:00
Roland Stigge 91deef8069 ARM: LPC32xx: Cleanup irq.c
This patch removes the IRQ mask initialization which is already done some lines
above.

This was actually a bug: The init was supposed to set the bits for the
(chained) SUB IRQs. But this is already fixed by the previous patch, doing this
implicitely via irq_set_chained_handler().

Signed-off-by: Roland Stigge <[email protected]>
2012-11-07 13:30:50 +01:00
Roland Stigge e40ec953b6 ARM: LPC32xx: Relocate calls to irq_set_chained_handler()
This patch fixes the issue of an access to a yet uninitialized data structure
at the point where irq_set_chained_handler() was called by moving the
respective calls to the end of lpc32xx_init_irq().

The call path was:

irq_set_chained_handler()
-> __irq_set_handler()
-> irq_startup()
-> irq_enable()
-> desc->irq_data.chip->irq_unmask()

at which point lpc32xx_unmask_irq() effectively read desc->irq_data.hwirq which
was only later initialized.

Signed-off-by: Roland Stigge <[email protected]>
2012-11-07 13:30:50 +01:00
Roland Stigge 2998b1d3b1 ARM: LPC32xx: Remove superfluous irq_alloc_descs()
This patch removes the call to irq_alloc_descs() which always returns an error
since the descriptors are always preallocated already.

Signed-off-by: Roland Stigge <[email protected]>
2012-11-07 13:30:50 +01:00
Roland Stigge e07577e1dd Input: lpc32xx-keys - select INPUT_MATRIXKMAP
This adds a "select" dependency of KEYBOARD_LPC32XX on INPUT_MATRIXKMAP,
as the other drivers are doing in this regard. This fixes the following
compile error if KEYBOARD_LPC32XX is enabled but INPUT_MATRIXKMAP is not:

drivers/input/keyboard/lpc32xx-keys.c:230: undefined reference to
`matrix_keypad_build_keymap'

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
2012-10-30 00:10:55 -07:00
Roland Stigge a48221a26e gpio-74x164: Fix buffer allocation size
The new registers handling in the gpio-74x164 driver allocates chip->registers
* 8 bytes where only one byte per register is necessary. This patch fixes this.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
2012-10-16 19:34:43 +02:00
Roland Stigge 1ae963143e gpio: Document device_node's det_debounce
This patch adds documentation for set_debounce in struct device_node.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
2012-09-30 10:27:01 +02:00
Roland Stigge 71fde00095 gpio-lpc32xx: Add GPI_28
This patch adds the missing gpi28 to the list of GPIOs in the GPI P3 "chip".

NOTE: This patch depends on incrementing LPC32XX_GPI_P3_MAX.  When applied
without the respective mach-lpc32xx patch (merged via arm-soc.git), gcc will
give a warning about "excess elements in array initializer" but this doesn't
harm.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
2012-09-30 10:25:45 +02:00
Roland Stigge 62beee20b1 mtd: lpc32xx_mlc: Cleanup after DT-only conversion
The LPC32xx's DT-only conversion of the MLC NAND driver makes NAND config via
platform_data obsolete. Dropped by this patch.

Further, the driver really needs CONFIG_OF, which is already reflected by the
dependency on ARCH_LPC32XX which depends on CONFIG_OF. So also dropping
CONFIG_OF ifdefs.

There is still platform_data necessary to supply the dma_filter callback for
the dma engine. This is a completely different data structure than the old
platform_data for NAND config, so renaming some old "pdata" variable to "ncfg"
to prevent confusion with the new platform data.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
2012-09-29 15:12:49 +01:00
Roland Stigge 10594f6787 mtd: lpc32xx_slc: Cleanup after DT-only conversion
The LPC32xx's DT-only conversion of the SLC NAND driver makes NAND config via
platform_data obsolete. Dropped by this patch.

Further, the driver really needs CONFIG_OF, which is already reflected by the
dependency on ARCH_LPC32XX which depends on CONFIG_OF. So also dropping
CONFIG_OF ifdefs.

There is still platform_data necessary to supply the dma_filter callback for
the dma engine. This is a completely different data structure than the old
platform_data for NAND config, so renaming some old "pdata" variable to "ncfg"
to prevent confusion with the new platform data.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
2012-09-29 15:12:48 +01:00
Roland Stigge 9c6f62a7ef mtd: lpc32xx_mlc: Make driver independent of AMBA DMA engine driver
This patch makes the MLC NAND driver independent of the single AMBA DMA engine
driver by using the platform data provided dma_filter callback.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
2012-09-29 14:53:08 +01:00
Roland Stigge de20c22d2b mtd: lpc32xx_slc: Make driver independent of AMBA DMA engine driver
This patch makes the SLC NAND driver independent of the single AMBA DMA engine
driver by using the platform data provided dma_filter callback.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
2012-09-29 14:52:45 +01:00
Roland Stigge 39a6ac11df spi/pl022: Devicetree support w/o platform data
Even with devicetree support, we needed platform data to provide some data,
leading to mixed device tree and platform data. This patch makes it possible to
provide all that information via device tree. Now, the data must be provided
via platform data _or_ device tree completely.

Only in case of DMA where a callback specification is necessary (dma_filter()),
platform data is the only option.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Acked-by: Linus Walleij <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
2012-09-25 07:06:16 -04:00
Roland Stigge 8e4b97e3b8 ARM: LPC32xx: Support GPI 28
This patch adds the missing gpi28 to the supported GPIOs in the GPI P3 "chip".

Signed-off-by: Roland Stigge <[email protected]>
2012-09-25 10:19:23 +02:00
Roland Stigge a4bc787851 ARM: LPC32xx: Platform update for devicetree completion of spi-pl022
spi-pl022 got a further update to its devicetree support, completing properties
such that no platform data is necessary anymore. This patch adjusts phy3250.c
accordingly: The supplied platform data is deleted. However, OF_DEV_AUXDATA()
are still necessary due to device naming ("dev:ssp0").

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
Acked-by: Linus Walleij <[email protected]>
2012-09-25 10:15:49 +02:00
Roland Stigge 632cbbcf0e ARM: LPC32xx: Board cleanup
This patch removes now unnecessary spi includes.

Signed-off-by: Roland Stigge <[email protected]>
2012-09-25 10:15:41 +02:00
Roland Stigge 07c7e12ca7 ARM: LPC32xx: LED fix in PHY3250 DTS file
This patch adjusts the PHY3250 board file to the actual LED configuration
(active high, default-state and trigger configuration).

Signed-off-by: Roland Stigge <[email protected]>
2012-09-25 10:11:41 +02:00
Roland Stigge b1268d3737 gpio-lpc32xx: Fix value handling of gpio_direction_output()
For GPIOs of gpio-lpc32xx, gpio_direction_output() ignores the value argument
(initial value of output). This patch fixes this by setting the level
accordingly.

Cc: [email protected]
Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
2012-09-24 21:56:01 +02:00
Roland Stigge c28c7456ad video: Remove pnx4008 driver
This patch removes the video driver for pnx4008. The architecture is being
removed via the arm-soc tree.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Florian Tobias Schandinat <[email protected]>
2012-09-22 21:18:53 +00:00
Roland Stigge c076ada4e4 i2c: pnx: Fix read transactions of >= 2 bytes
On transactions with n>=2 bytes, the controller actually wrongly clocks in n+1
bytes. This is caused by the (wrong) assumption that RFE in the Status Register
is 1 iff there is no byte already ordered (via a dummy TX byte). This lead to
the implementation of synchronized byte ordering, e.g.:

Dummy-TX - RX - Dummy-TX - RX - ...

But since RFE actually stays high after some Dummy-TX, it rather looks like:

Dummy-TX - Dummy-TX - RX - Dummy-TX - RX - (RX)

The last RX byte is clocked in by the bus controller, but ignored by the kernel
when filling the userspace buffer.

This patch fixes the issue by asking for RX via Dummy-TX asynchronously.
Introducing a separate counter for TX bytes.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Wolfram Sang <[email protected]>
2012-09-12 17:52:44 +02:00
Roland Stigge b3aafe80c8 i2c: pnx: Fix bit definitions
The I2C Control Register bits RFDAIE and RFFIE were mixed up. In addition to
this fix, this patch adds the missing bit DRSIE for completeness.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Wolfram Sang <[email protected]>
2012-09-12 17:52:38 +02:00
Roland Stigge 25b3ab6c7e ARM: LPC32xx: Extend dts for EA3250 board
This patch adds keys and leds to the EA3250 board's dts device tree file.

Signed-off-by: Roland Stigge <[email protected]>
2012-09-06 11:40:48 +02:00
Roland Stigge 067c182fb5 ARM: LPC32xx: Adjust device tree node to new standard num-cs
In spi-pl022.c, the new device tree binding is now "num-cs" for the number of
chip selects. Further, pl022,hierarchy and pl022,slave-tx-disable isn't
supported in favour of reasonable defaults in the driver.

Adjusting phy3250.dts to it.

Signed-off-by: Roland Stigge <[email protected]>
2012-09-06 11:40:42 +02:00
Roland Stigge 7a5deff68f ARM: LPC32xx: Remove board specific GPIO init
This patch removes a board specific GPIO initialization (for MMC power) from
the platform initialization. On the reference boards (PHY3250 and EA3250), this
separate initialization is not necessary, now reducing board specific
initialization in the platform init of phy3250.c.

Signed-off-by: Roland Stigge <[email protected]>
2012-09-06 11:39:29 +02:00
Roland Stigge 5b941238fe ARM: LPC32xx: Provide DMA filter callbacks via platform data
The SLC and MLC NAND drivers now need their dma_filter callbacks via platform
data to make them independent of single DMA engine drivers.

(This also helps fixing build errors of the SLC and MLC drivers when building
as modules because direct access to AMBA dma filter functions isn't available
via export.)

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
2012-09-06 11:39:18 +02:00
Roland Stigge 4607d65ab3 ARM: LPC32xx: Use handle_edge_irq() callback on edge type irqs
irq.c uses handle_level_irq() as the unconditional default handler. This patch
uses handle_edge_irq() instead for edge type irqs.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Srinivas Bakki <[email protected]>
2012-09-06 11:39:10 +02:00
Roland Stigge 022e3f372a ARM: LPC32xx: Defconfig update
This defconfig update adds PWM support for the LPC32xx SoC, besides some
adjustments to current Kconfigs.

Signed-off-by: Roland Stigge <[email protected]>
2012-09-06 11:38:15 +02:00
Roland Stigge 952230d774 usb: ohci: Fix Kconfig dependency on USB_ISP1301
With "select USB_ISP1301 ...", it could happen that I2C isn't selected although
USB_ISP1301 depends on it. Fixing with "depends on ..." and emulating the
condition via "|| !()".

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alan Stern <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-05 16:52:08 -07:00
Roland Stigge 47c56a1479 USB: isp1301: Remove unused static array and define
This patch removes an unused statically defined array and an associated #define.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-05 16:52:08 -07:00
Roland Stigge b4b8482690 spi/pl022: Fix chipselects pointer computation
The new chip select handling via GPIO introduced a pointer computation bug:

	(int *) pl022 + sizeof(struct pl022)

doesn't point to the data immediately after the actual struct pl022 (as was
intended) but to a multiple of bytes after it because of the (int *) type.

Replacing the kludgy pointer arithmetic with managed memory allocation for the
chip selects.

Reported-by: Shiraz Hashim <[email protected]>
Signed-off-by: Roland Stigge <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
2012-09-06 07:44:10 +08:00
Roland Stigge c4846a1807 usb: gadget: lpc32xx_udc: Support multiple controllers
The lpc32xx_udc driver supported only one controller by defining a global
static struct for it. This patch enables multiple instances of the controller
by dynamic allocation of the struct at probe(). A static struct is kept as a
template on initialization since it does some complex preset, reflecting fixed
hardware endpoint structure.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Felipe Balbi <[email protected]>
2012-08-31 12:41:25 +03:00
Roland Stigge 78ca913973 usb: gadget: lpc32xx_udc: Remove usb_endpoint_descriptor
This patch removes the utilization of struct usb_endpoint_descriptor, as done
by other drivers also. This was done on request by the USB gadget maintainers,
since this API is obsoleted.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Felipe Balbi <[email protected]>
2012-08-31 12:41:21 +03:00
Roland Stigge 252d8cec49 usb: gadget: lpc32xx_udc: Port to new start/stop interface
This patch adjusts the LPC32xx USB gadget driver to the new udc_start /
udc_stop interface.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Felipe Balbi <[email protected]>
2012-08-31 12:41:16 +03:00
Roland Stigge d684f05f2d ARM: mach-pnx4008: Remove architecture
This patch removes the ARM architecture mach-pnx4008. No direct support or user
feedback since 2006. Acknowledgements from NXP/Philips and Linux arm-soc
maintainers.

Signed-off-by: Roland Stigge <[email protected]>
2012-08-26 16:30:37 +02:00
Roland Stigge 41962f90c6 spi/dt: DT bindings documentation: "num-cs" property for SPI controllers
Several SPI controller drivers have defined differently named properties for
the number of chip selects.  Now adding "num-cs" as a reference name for new
bindings.

Signed-off-by: Roland Stigge <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
2012-08-22 20:00:54 +01:00
Roland Stigge 6d3952a7df spi/pl022: Add devicetree support
This patch adds device tree support to the spi-pl022 driver.

Based on the initial patch by Alexandre Pereira da Silva <[email protected]>

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
2012-08-22 20:00:51 +01:00
Roland Stigge f6f46de106 spi/pl022: Add chip select handling via GPIO
This patch adds the ability for the driver to control the chip select directly.
This enables independence from cs_control callbacks.  Configurable via
platform_data, to be extended as DT in the following patch.

Based on the initial patch by Alexandre Pereira da Silva <[email protected]>

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
2012-08-22 20:00:44 +01:00
Roland Stigge e7aafd72f3 usb: phy: isp1301: Remove unused static array and define
This patch removes an unused statically defined array and an associated
#define.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Felipe Balbi <[email protected]>
2012-08-20 10:15:10 +03:00
[email protected] 3a32aea6e0 lpc_eth: remove obsolete ifdefs
The #ifdefs regarding CONFIG_ARCH_LPC32XX_MII_SUPPORT and
CONFIG_ARCH_LPC32XX_IRAM_FOR_NET are obsolete since the symbols have been
removed from Kconfig and replaced by devicetree based configuration.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2012-08-08 16:07:51 -07:00
Roland Stigge bbfc3280ad sound: tegra_alc5632: Adjust to of_get_named_gpio() change
of_get_named_gpio() was changed to return -EPROBE_DEFER in case of
gpios not probed yet. This patch adjusts tegra_alc5632 to this.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Stephen Warren <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
2012-07-26 22:24:54 +01:00
Roland Stigge 0a88f1f01c sound: tegra_wm8903: Adjust to of_get_named_gpio() change
of_get_named_gpio() was changed to return -EPROBE_DEFER in case of
gpios not probed yet. This patch adjusts tegra_wm8903 to this.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Stephen Warren <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
2012-07-26 22:24:44 +01:00
Roland Stigge ed85c60457 serial/of-serial: Add LPC3220 standard UART compatible string
This patch adds a "compatible" string for the new 8250 UART type PORT_LPC3220.
This is necessary for initializing LPC32xx UARTs via DT.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-07-26 13:37:02 -07:00
Roland Stigge 6b583fa318 serial/8250: Add LPC3220 standard UART type
LPC32xx has "Standard" UARTs that are actually 16550A compatible but have
bigger FIFOs. Since the already supported 16X50 line still doesn't match here,
we agreed on adding a new type.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alan Cox <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-07-26 13:37:02 -07:00
Roland Stigge 69690bec40 Input: add support for key scan interface of the LPC32xx SoC
This is a driver for the key scan interface of the LPC32xx SoC

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
2012-07-17 23:16:16 -07:00
Roland Stigge 4fbb0022cb gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available
of_get_named_gpio_flags() and of_get_named_gpio() return -EPROBE_DEFER if the
respective GPIO is not (yet) available. This is useful if driver's probe()
functions try to get a GPIO whose controller isn't probed yet. Thus, the driver
can be probed again later on.

The function still returns -EINVAL on other errors (parse error or node doesn't
exist). This way, the case of an optional/intentionally missing GPIO is handled
appropriately.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
2012-07-17 21:00:21 +02:00
Roland Stigge 79f9df7c00 mtd: lpc32xx_mlc: Adjust to pl08x DMA interface changes
This patch adjusts the LPC32xx MLC NAND driver to the new pl08x DMA interface,
fixing the compile error resulting from changed pl08x structures.

Signed-off-by: Roland Stigge <[email protected]>
Acked-By: Alexandre Pereira da Silva <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
2012-07-13 16:27:34 +01:00
Roland Stigge 314a15664e mtd: lpc32xx_slc: Adjust to pl08x DMA interface changes
This patch adjusts the LPC32xx SLC NAND driver to the new pl08x DMA interface,
fixing the compile error resulting from changed pl08x structures.

Signed-off-by: Roland Stigge <[email protected]>
Acked-By: Alexandre Pereira da Silva <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
2012-07-13 16:27:24 +01:00
Roland Stigge 8ba85f8bff ARM: LPC32xx: Adjust to pl08x DMA interface changes
This patch adjusts the LPC32xx platform support to the new pl08x DMA interface,
fixing the compile error resulting from changed pl08x structures.

Signed-off-by: Roland Stigge <[email protected]>
2012-07-12 14:25:37 +02:00
Roland Stigge 0bdfeddc49 gpio: gpio-lpc32xx: Add gpio_to_irq mapping
This patch helps mapping with gpio_to_irq for the GPIOs that are irq enabled.

Signed-off-by: Roland Stigge <[email protected]>
Tested-by: Alexandre Pereira da Silva <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
2012-07-12 13:40:17 +02:00
Roland Stigge da03d7400a gpio: LPC32xx: Driver cleanup
Since LPC32xx is now switched over to devicetree based GPIO, the unused
lpc32xx_gpio_init() can be removed.

Further, the driver title changed since it referred to the wrong file.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
2012-07-12 13:40:16 +02:00
Roland Stigge 70f7cb78ec mtd: add LPC32xx MLC NAND driver
This patch adds a driver for the MLC NAND controller of the LPC32xx SoC.

[dwmw2: 21st century pedantry]

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
2012-07-06 18:27:04 +01:00
Roland Stigge d5842ab730 mtd: lpc32xx_slc: Make probe() return -EPROBE_DEFER if necessary
Via of_get_named_gpio(), wp_gpio can become -EPROBE_DEFER which now makes
probe() return -EPROBE_DEFER as well to wait until the gpio controller is
probed before trying to probe lpc32xx_slc again.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
2012-07-06 18:25:25 +01:00
Roland Stigge 21535ab39a mtd: lpc32xx_slc: Use of_get_named_gpio()
This patch makes the lpc32xx_slc driver use of_get_named_gpio() instead of
of_get_named_gpio_flags() whose flags are discarded anyway.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
2012-07-06 18:25:16 +01:00
Roland Stigge 2944a44da0 mtd: add LPC32xx SLC NAND driver
This patch adds support for the SLC NAND controller inside the LPC32xx SoC.

[dwmw2: 21st century pedantry]

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
2012-07-06 18:17:07 +01:00
Roland Stigge 42b14cb037 mips: pci-lantiq: Fix check for valid gpio
This patch fixes two checks for valid gpio number, formerly (wrongly)
considering zero as invalid, now using gpio_is_valid().

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
2012-07-05 15:02:18 +02:00
Roland Stigge 382656d81b ARM: LPC32xx: Remove USB and I2C init from phy3250.c
USB and I2C initialization can be removed safely from the board specific
phy3250.c, now that initialization moved to the generalized clock.c.

Signed-off-by: Roland Stigge <[email protected]>
Tested-by: Alexandre Pereira da Silva <[email protected]>
2012-07-01 21:06:45 +02:00
Roland Stigge a0a30b6a69 ARM: LPC32xx: Remove wrong re-initialization of MMC clock register
This patch fixes a bug, (wrongfully) resetting the value of
LPC32XX_CLKPWR_MS_CTRL back to its initial contents (after careful setup). This
was discovered only with a board/bootloader combination (EA3250) where the
contents of the respective register wasn't already at the correct value on
Linux boot.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
2012-07-01 21:06:45 +02:00
Roland Stigge b0d9ef0e2d ARM: LPC32xx: Add further bits to MMC init
This patch makes sure certain MMC bits are cleared as they should for
initialization.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
2012-07-01 21:06:44 +02:00
Roland Stigge 5df5d01dd0 ARM: LPC32xx: Init MMC via clock
This patch moves MMC/SD controller initialization from the board specific file
phy3250.c to clock.c.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
2012-07-01 21:06:44 +02:00
Roland Stigge b3212ca31d ARM: LPC32xx: Defconfig update
This defconfig update for LPC32xx adds interrupt and polled gpio keyboard
drivers.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
2012-07-01 21:04:57 +02:00
Roland Stigge 7bb71a6c32 ARM: LPC32xx: Update DTS file for EA3250 board
This DTS file update adds:
* 3-channel ADC (for AD-IN on AD2, or 3-axis-accelerometer)
* Interrupt key

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
2012-07-01 21:04:17 +02:00
Roland Stigge fd5c3fd7c4 ARM: OMAP: Fix dts files w/ status property: "disable" -> "disabled"
This patches fixes some status = "disable" strings to "disabled", the correct
way of disabling nodes in the devicetree.

Just the OMAP part here, the rest goes via other patches and trees.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Rob Herring <[email protected]>
Acked-by: Benoit Cousson <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
2012-06-21 01:36:03 -07:00
Roland Stigge 223ef78d04 ARM: tegra: Fix dts files w/ status property: "disable" -> "disabled"
This patches fixes some status = "disable" strings to "disabled", the correct
way of disabling nodes in the devicetree.

Just the tegra part here. Everything else goes via other patches and trees.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Rob Herring <[email protected]>
Signed-off-by: Stephen Warren <[email protected]>
2012-06-20 12:30:34 -06:00
[email protected] b31525d16b net: lpc_eth: Driver cleanup
This patch removes some nowadays superfluous definitions (one unused define and
an obsolete function forward declaration) and corrects a netdev_err() to
netdev_dbg().

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Alexandre Pereira da Silva <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2012-06-19 00:27:03 -07:00
Roland Stigge 2805b9ab7c ARM: 7427/1: mmc: mmci: Defer probe() in case of yet uninitialized GPIOs
If the GPIOs used by the MMCI driver are not registered yet when the driver is
probe()d, they can't be used. This happens if the mmci driver is probed before
the respective GPIO controller (e.g. on the LPC32xx EA3250 board, the PCA9532
GPIO controller would be initialized via DT after mmci). Therefore, we defer
mmci in this case.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Linus Walleij <[email protected]>
Signed-off-by: Russell King <[email protected]>
2012-06-17 22:24:36 +01:00
Roland Stigge f433809817 ARM: 7426/1: mmc: mmci: Remove wrong error handling of gpio 0
Zero is a valid GPIO and shouldn't be handled as an error return code from
of_get_named_gpio(). It was a leftover from old code before getting
pdata->gpio_*() was modified.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Linus Walleij <[email protected]>
Signed-off-by: Russell King <[email protected]>
2012-06-17 22:24:32 +01:00
Roland Stigge cb85a9e508 ARM: LPC32xx: Fix lpc32xx.dtsi status property: "disable" -> "disabled"
This patches fixes some status = "disable" strings to "disabled", the correct
way of disabling nodes in the devicetree.

Signed-off-by: Roland Stigge <[email protected]>
2012-06-14 16:16:18 +02:00
Roland Stigge 1a6e29c913 ARM: LPC32xx: Remove mach specific ARCH_NR_GPIOS, use default
ARCH_NR_GPIOS was defined statically to include exactly all SoC specific GPIOs.
Now if additional GPIOs need to be added dynamically, e.g. via DT, none are
available. Removing the mach specific setting, leaving ARCH_NR_GPIOS to the
default of 256 (currently in include/asm-generic/gpio.h).

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
2012-06-14 16:16:18 +02:00
Roland Stigge ac5ced91aa ARM: LPC32xx: High Speed UART configuration via DT
This patch fixes the DTS files for the High Speed UARTs 1, 2 and 7 of the
LPC32xx SoC, adjusting the compatible strings, adding interrupts and status
configuration. On the PHY3250 reference board, UART2 is enabled.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
2012-06-14 16:16:18 +02:00
Roland Stigge c70426f153 ARM: LPC32xx: DT conversion of Standard UARTs
This patch switches from static serial driver initialization to devicetree
configuration. This way, the Standard UARTs of the LPC32xx SoC can be enabled
individually via DT.

E.g., instead of Kconfig configuration, the phy3250.dts activates
UARTs 3 and 5.

Signed-off-by: Roland Stigge <[email protected]>
Tested-by: Alexandre Pereira da Silva <[email protected]>
2012-06-14 16:16:18 +02:00
Roland Stigge 2c7fa28622 ARM: LPC32xx: DTS adjustment for using pl18x primecell
This patch adjusts the dts files to reference the pl18x primecell driver
correctly.

Signed-off-by: Roland Stigge <[email protected]>
2012-06-14 16:16:18 +02:00
Roland Stigge 291dd71fe4 ARM: LPC32xx: Add MMC controller support
This patch adds support for the MMC controller of the LPC32xx SoC to the
platform initialization via the pl08x primecell driver. Lacking more complete
DT support, done via DT auxdata.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
2012-06-14 16:16:17 +02:00
Roland Stigge 360c9627cc ARM: LPC32xx: Defconfig update
This defconfig update for the LPC32xx SoC platform adds the new drivers in v3.5
and drivers typically used in systems with the LPC32xx chip.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
2012-06-14 16:16:17 +02:00
Roland Stigge 821e7edd51 ARM: LPC32xx: Clock adjustment for key matrix controller
The clock.c file needs to be changed to match the automatic device name to its
clock.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Rob Herring <[email protected]>
2012-06-14 16:16:17 +02:00
Roland Stigge a6d1be0e58 ARM: LPC32xx: DTS adjustment for key matrix controller
This patch connects the lpc32xx-key driver to the LPC32xx platform (via
lpc32xx.dtsi), and more specifically to the reference board via its dts file.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Rob Herring <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
2012-06-14 16:16:17 +02:00
Roland Stigge d0408713e7 ARM: LPC32xx: Add dts for EA3250 reference board
There is another reference/development board for the LPC32xx SoC (besides the
Phytec 3250): The Embedded Artists LPC3250 board. This patch adds a default dts
file for it.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alexandre Pereira da Silva <[email protected]>
2012-06-14 16:16:17 +02:00
Roland Stigge 6d1c3e93e3 ARM: LPC32xx: Adjust dtsi file for MLC controller configuration
This patch takes into account that the MTD NAND MLC controller needs more
registers, located actually before the previously allocated memory range,
already starting at 200a8000 instead of 200b0000.

Further, the interrupt for the controller is configured.

Signed-off-by: Roland Stigge <[email protected]>
Tested-by: Alexandre Pereira da Silva <[email protected]>
2012-06-14 16:16:17 +02:00
Roland Stigge d807af4793 ARM: LPC32xx: Add DMA configuration to platform data
This patch adds DMA channel configuration to the LPC32xx platform file.  The
configured DMA signalling is generic for LPC32xx SoC and is not board specific.

Signed-off-by: Roland Stigge <[email protected]>
2012-06-14 16:16:17 +02:00
Roland Stigge ba225a0ea2 ARM: LPC32xx: Remove SLC controller initialization from platform init
Since we now support two MTD NAND controllers (MLC and SLC) for LPC32xx via DT,
we don't initialize the SLC controller statically anymore, but do it via the
clock setup (see previous patch).

Signed-off-by: Roland Stigge <[email protected]>
Tested-by: Alexandre Pereira da Silva <[email protected]>
2012-06-14 16:16:16 +02:00
Roland Stigge b27f48227c ARM: LPC32xx: Clock initialization for NAND controllers
This patch adds clock initialization for the MLC NAND controller of the LPC32xx
SoC and adjusts it for the SLC controller.

Signed-off-by: Roland Stigge <[email protected]>
2012-06-14 16:16:16 +02:00
Roland Stigge 15ab218318 ARM: LPC32xx: Add NAND flash timing to PHY3250 board dts
This patch adds necessary NAND flash timings to the board specific dts file of
the PHY3250 reference board of the LPC32xx SoC.

Signed-off-by: Roland Stigge <[email protected]>
Tested-by: Alexandre Pereira da Silva <[email protected]>
2012-06-14 16:16:16 +02:00
Roland Stigge c4828d9690 USB: ohci-hub: Mark ohci_finish_controller_resume() as __maybe_unused
ohci_finish_controller_resume() is intended to be used in platform specific
drivers ohci-*.c, included from ohci-hcd.c. Some of them don't actually use
ohci_finish_controller_resume(), so mark it as __maybe_unused.

Signed-off-by: Roland Stigge <[email protected]>
Acked-by: Alan Stern <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-06-13 17:26:11 -07:00
Roland Stigge 596f93f50e serial: Add driver for LPC32xx High Speed UARTs
This patch adds a driver for the 3 High Speed UARTs of the LPC32xx SoC that
support up to 921600bps. These UARTs are different from the 4 "Standard" UARTs
of the LPC32xx.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-06-12 15:48:01 -07:00
Roland Stigge e4305f0c50 serial/of-serial: Add LPC3220 standard UART compatible string
This patch adds a "compatible" string for the new 8250 UART type PORT_LPC3220.
This is necessary for initializing LPC32xx UARTs via DT.

Signed-off-by: Roland Stigge <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-06-12 15:45:57 -07:00