9
0
Fork 0
Commit Graph

35 Commits

Author SHA1 Message Date
Sascha Hauer e0f4fb2c98 Merge branch 'master' into next
Conflicts:
	drivers/ata/disk_drive.c

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-11-29 20:45:23 +01:00
Michael Grzeschik 5da11da840 atmel_spi: add mesg->actual_length, so devices can use it for read/write
Without this i.e. the m25p driver is not working properly.

Its used to calculate the return value of the read/write function of
some devices. If the value is missing, barebox would always
miscalculate the next transfer sizes.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-11-25 12:41:18 +01:00
Franck Jullien 146bea9b9b spi/altera_spi: Add cs_change support
The Linux kernel says (spi.h) :

* All SPI transfers start with the relevant chipselect active.  Normally
* it stays selected until after the last transfer in a message.  Drivers
* can affect the chipselect signal using cs_change.
*
* (i) If the transfer isn't the last one in the message, this flag is
* used to make the chipselect briefly go inactive in the middle of the
* message.  Toggling chipselect in this way may be needed to terminate
* a chip command, letting a single spi_message perform all of group of
* chip transactions together.
*
* (ii) When the transfer is the last one in the message, the chip may
* stay selected until the next transfer.  On multi-device SPI busses
* with nothing blocking messages going to other devices, this is just
* a performance hint; starting a message to another device deselects
* this one.  But in other cases, this can be used to ensure correctness.
* Some devices need protocol transactions to be built from a series of
* spi_message submissions, where the content of one message is
* determined by the results of previous messages and where the whole
* transaction
* ends when the chipselect goes intactive.

In other words, cs_change changes the default chipselect *behavior*.

Support of cs_change is necessary to implement the mci spi driver.

This patch also fix few things:

Passing the bus number to the brand new master device.
Disable chipselect during master->setup.

Signed-off-by: Franck Jullien <franck.jullien@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-11-25 12:38:34 +01:00
Paul Fertser 686bd976a6 spi: enfore default bits_per_word value
Documentation says it should default to 8 when not specified
explicitly by the device data.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-09-29 12:27:32 +02:00
Paul Fertser 67f2dcc0d7 spi: let master a chance to setup device before registering it
Call setup() before registering the device because registering leads
to a probe routine of the slave device and that requires an
initialised master.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-09-29 12:27:32 +02:00
Sascha Hauer 3ee7877a48 introduce io.h
To allow for some generic io accessors introduce io.h and use
this instead of asm/io.h throughout the tree.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-09-22 19:03:05 +02:00
Paul Fertser 8c1f388d88 imx25: imx_spi: support CSPI v0.7 as found on i.MX25
Based on the Linux driver. Tested with m25p80 with CS in GPIO mode.

Clock setting support is ad-hoc as the corresponding mach is not using
the generic clock infrastructure.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-09-21 09:43:44 +02:00
Hubert Feurstein bea738f7ba spi: add atmel-spi driver
Signed-off-by: Hubert Feurstein <h.feurstein@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-09-14 10:40:17 +02:00
Paul Fertser 19284441cc imx_spi: rework transfer according to the API, fix compatibility with spi_write_then_read()
This code was tested barely with m25p80 driver, reading jedec id and some data
from the chip worked fine.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-09-12 12:19:40 +02:00
Franck Jullien d7bb45559c nios2: Add Altera SPI master driver
Signed-off-by: Franck Jullien <franck.jullien@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-08-24 18:44:25 +02:00
Sascha Hauer c574a0d1f1 spi: make the spi devices children of the parent bus
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-08-17 09:36:35 +02:00
Marc Kleine-Budde 9eaaf1b1ca ARM: add support for the i.MX53
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-29 12:10:38 +02:00
Sascha Hauer 294894c975 spi i.MX: convert to struct resource
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-19 00:12:52 +08:00
Franck Jullien 07b2cff207 spi: unregister dev if master->setup fails
If the device setup executed by the spi master fails,
unregister the created device.

Signed-off-by: Franck Jullien <franck.jullien@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-06 10:25:39 +02:00
Franck Jullien 4c35079c1c spi: add bits_per_word to proxy structure
During the creation of a new spi device, we need to
have the possiblility to give the bits_per_word value
to master->setup.

As a matter of fact, spi master could check the spi
device bits_per_word and compare this value against its
capabilities.

Signed-off-by: Franck Jullien <franck.jullien@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-06 10:25:39 +02:00
Hubert Feurstein c0b9629867 spi: add more spi transfer functions
This commit adds the following spi transfer functions:
  - spi_write
  - spi_read
  - spi_write_then_read
  - spi_w8r8

The code has been ported from the linux kernel.

Signed-off-by: Hubert Feurstein <h.feurstein@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-06-21 13:56:49 +02:00
Hubert Feurstein 76f46b5619 spi: add platform_data pointer to spi_board_info
In the spi layer this pointer will be assigned to the
platform_data pointer of the new spi device, thus it can
be accessed in the drivers 'probe' handler.

Signed-off-by: Hubert Feurstein <h.feurstein@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-06-21 13:56:49 +02:00
Juergen Beisert f9a11ecfef Make DIV_ROUND_UP macro globally available
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:15:06 +01:00
Sascha Hauer 2ebb440e1d Move mfd drivers to drivers/mfd
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 13:22:13 +02:00
Sascha Hauer 8f14d065e1 spi i.MX: Add i.MX51 support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 13:22:13 +02:00
Sascha Hauer a104d0eaa3 spi i.MX: redirect functions to version specific functions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 13:22:13 +02:00
Sascha Hauer 3e2efa148e spi i.MX: add spi version namespace to register defines
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-11 13:22:12 +02:00
Marc Kleine-Budde 7ee5aa3329 spi: dev->id is an int, not a string, fix debug output
Also convert __FUNCTION__ -> __func__

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2009-11-24 10:01:07 +01:00
Jean-Christophe PLAGNIOL-VILLARD f6a579da9c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2009-10-22 14:21:25 +02:00
Sascha Hauer a03a8de461 mc13783: fix spi mode, remove now unneeded double read
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-10-02 15:34:55 +02:00
Sascha Hauer 5931e20907 imx spi: Use gpio as chip selects
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-10-02 15:34:25 +02:00
Sascha Hauer 56139274fd spi: remove bogus setup of proxy device
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-07-21 16:41:46 +02:00
Sascha Hauer b7a9f4e6ce mc13783 cdev
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-07-21 16:41:45 +02:00
Sascha Hauer a2b7cd183b introduce cdev
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-07-21 16:41:44 +02:00
Sascha Hauer 1ecc871b3a imx_spi: make locally used function static
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-05-13 15:59:29 +02:00
Sascha Hauer 41f4253b6c mc13783: Add lseek
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-12-09 11:24:47 +01:00
Sascha Hauer 6497c22742 mc13783 pmic: add open/close functions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-09-02 16:23:54 +02:00
Menon, Nishanth b9655280e2 This is Kconfig cleanup patch (not all configurations will use CFI, SPI, RAMFS and DEVFS).
* Enable CFI and SPI drivers menuconfig option to be able to disable them in menuconfig.
* Introduce capability to disable ramfs and devfs.
2008-05-12 15:59:48 +02:00
Sascha Hauer a14a5c02f0 first (partly) running spi support 2008-03-14 12:59:55 +01:00
Sascha Hauer 906eea397a beginning of SPI support 2008-03-11 22:13:06 +01:00