- 09 12月, 2016 1 次提交
-
-
由 Uwe Kleine-König 提交于
The calculation of SPR and SPPR doesn't round correctly at several places which might result in baud rates that are too big. For example with tclk_hz = 250000001 and target rate 25000000 it determined a divider of 10 which is wrong. Instead of fixing all the corner cases replace the calculation by an algorithm without a loop which should even be quicker to execute apart from being correct. Fixes: df59fa7f ("spi: orion: support armada extended baud rates") Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 13 6月, 2016 1 次提交
-
-
由 Wei Yongjun 提交于
In case of error, the function devm_ioremap() returns NULL pointer not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 31 5月, 2016 1 次提交
-
-
由 Stefan Roese 提交于
This patch adds support for the direct access mode to the Orion SPI driver which is used on the Marvell Armada based SoCs. In this direct mode, all data written to (or read from) a specifically mapped MBus window (linked to one SPI chip-select on one of the SPI controllers) will be transferred directly to the SPI bus. Without the need to control the SPI registers in between. This can improve the SPI transfer rate in such cases. Both, direct-read and -write mode are supported. But only the write mode has been tested. This mode especially benefits from the SPI direct mode, as the data bytes are written head-to-head to the SPI bus, without any additional addresses. One use-case for this direct write mode is, programming a FPGA bitstream image into the FPGA connected to the SPI bus at maximum speed. This mode is described in chapter "22.5.2 Direct Write to SPI" in the Marvell Armada XP Functional Spec Datasheet. Signed-off-by: NStefan Roese <sr@denx.de> Acked-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 12 8月, 2015 1 次提交
-
-
由 Nadav Haklai 提交于
Description: On Armada 38x, the device SPI interface supports frequencies of up to 50 MHz. However, due to this erratum, when the device core clock is 250 MHz and the SPI interfaces is configured for 50MHz SPI clock and CPOL=CPHA=1, there might occur data corruption on reads from the SPI device. Workaround: Work in one of the following configurations: 1. Set CPOL=CPHA=0 in "SPI Interface Configuration Register". 2. Set TMISO_SAMPLE value to 0x2 in "SPI Timing Parameters 1 Register" before setting the interface. [gregory.clement@free-electrons.com}: port to v4.2-rc, use is_errata_50mhz_ac instead of using a new ARMADA_380_SPI spi type. Signed-off-by: NNadav Haklai <nadavh@marvell.com> Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: NMark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
-
- 28 5月, 2015 1 次提交
-
-
由 Gregory CLEMENT 提交于
The commit df59fa7f "spi: orion: support armada extended baud rates" made the assumptions that all the Armada SoCs supported the same maximum frequency. However, according the hardware datasheet, the maximum frequency supported by the Armada 370 SoC is tclk/4, for the Armada XP, Armada 38x and Armada 39x SoCs the limitation is 50MHz and for the Armada 375 it is tclk/15. This patch introduces new compatible strings to handle all these case. In order to be future proof a compatible was created for each SoC even if currently some SoCs seem using the same IP. Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 26 5月, 2015 1 次提交
-
-
由 Gregory CLEMENT 提交于
The commit df59fa7f "spi: orion: support armada extended baud rates" was too optimistic for the maximum baud rate that the Armada SoCs can support. According to the hardware datasheet the maximum frequency supported by the Armada 370 SoC is tclk/4. But for the Armada XP, Armada 38x and Armada 39x SoCs the limitation is 50MHz and for the Armada 375 it is tclk/15. Currently the armada-370-spi compatible is only used by the Armada 370 and the Armada XP device tree. On Armada 370, tclk cannot be higher than 200MHz. In order to be able to handle both SoCs, we can take the minimum of 50MHz and tclk/4. A proper solution is adding a compatible string for each SoC, but it can't be done as a fix for compatibility reason (we can't modify device tree that have been already released) and it will be part of a separate patch. Fixes: df59fa7f (spi: orion: support armada extended baud rates) Reported-by: NKostya Porotchkin <kostap@marvell.com> Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: NMark Brown <broonie@kernel.org> Cc: <stable@vger.kernel.org>
-
- 16 1月, 2015 1 次提交
-
-
由 Ken Wilson 提交于
This commit adds support for multiple hardware chip selects to spi-orion. Different SoCs support different number of chip selects (up to 8 on some platforms). The driver allows up to this number, and it is up to the implementer to only use the chip selects that are available. Signed-off-by: NKen Wilson <ken.wilson@opengear.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 15 1月, 2015 1 次提交
-
-
由 Ken Wilson 提交于
This commit changes spi-orion to provide setup, set_cs, and transfer_one functions instead of transfer_one_message. This allows chip select support for both native and GPIO chip selects to be added. Signed-off-by: NKen Wilson <ken.wilson@opengear.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 13 12月, 2014 1 次提交
-
-
由 Rafael J. Wysocki 提交于
After commit b2b49ccb (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks depending on CONFIG_PM_RUNTIME may now be changed to depend on CONFIG_PM. Replace CONFIG_PM_RUNTIME with CONFIG_PM everywhere under drivers/spi/. Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: NMark Brown <broonie@kernel.org>
-
- 22 10月, 2014 1 次提交
-
-
由 Greg Ungerer 提交于
It's possible that the call to of_match_device() (introduced in commit df59fa7f ["spi: orion: support armada extended baud rates"]) may return a NULL if there is no match in the device tree (or perhaps no device tree at all). Check the return pointer and set the local device data to the lowest common denominator orion device data if it is NULL. Reported-by: NKarl Beldan <karl.beldan@gmail.com> Signed-off-by: NGreg Ungerer <gerg@uclinux.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 20 10月, 2014 1 次提交
-
-
由 Wolfram Sang 提交于
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 02 10月, 2014 1 次提交
-
-
由 Greg Ungerer 提交于
The Armada SoC family implementation of this SPI hardware module has extended the configuration register to allow for a wider range of SPI clock rates. Specifically the Serial Baud Rate Pre-selection bits in the SPI Interface Configuration Register now also use bits 6 and 7 as well. Modify the baud rate calculation to handle these differences for the Armada case. Potentially a baud rate can be setup using a number of different pre-scalar and scalar combinations. This code tries all possible pre-scalar divisors (8 in total) to try and find the most accurate set. This change introduces (and documents) a new device tree compatible device name "armada-370-spi" to support this. Signed-off-by: NGreg Ungerer <gerg@uclinux.org> Tested-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com> Reviewed-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 04 9月, 2014 1 次提交
-
-
由 Jingoo Han 提交于
Fix the following checkpatch warnings. WARNING: else is not generally useful after a break or return WARNING: Missing a blank line after declarations Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 29 7月, 2014 1 次提交
-
-
由 Thomas Petazzoni 提交于
In commit f814f9ac ("spi/orion: add device tree binding"), Device Tree support was added to the spi-orion driver. However, this commit reads the "cell-index" property, without taking into account the fact that DT properties are big-endian encoded. Since most of the platforms using spi-orion with DT have apparently not used anything but cell-index = <0>, the problem was not visible. But as soon as one starts using cell-index = <1>, the problem becomes clearly visible, as the master->bus_num gets a wrong value (actually it gets the value 0, which conflicts with the first bus that has cell-index = <0>). This commit fixes that by using of_property_read_u32() to read the property value, which does the appropriate endianness conversion when needed. Fixes: f814f9ac ("spi/orion: add device tree binding") Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: NMark Brown <broonie@linaro.org> Cc: <stable@vger.kernel.org> # v3.6+
-
- 26 7月, 2014 1 次提交
-
-
由 Wei Yongjun 提交于
Fix to return a negative error code from the error handling case of orion_spi_reset() instead of 0, as done elsewhere in this function. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 21 6月, 2014 2 次提交
-
-
由 Russell King 提交于
Add trivial runtime PM support. This will only be of benefit on SoCs where the clock to the SPI interface can be shut down. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Russell King 提交于
clk_prepare()/clk_enable() can fail, and it's return value should be checked. Add the proper checking, and while we're here, convert to clk_prepare_enable(). Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 01 3月, 2014 1 次提交
-
-
由 Axel Lin 提交于
spi core will handle validating transfer length since commit 4d94bd21 "spi: core: Validate length of the transfers in message". So remove the same checking in this driver. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 12 2月, 2014 1 次提交
-
-
由 Axel Lin 提交于
Set bits_per_word_mask so spi core will reject transfers that attempt to use an unsupported bits_per_word value. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 07 2月, 2014 1 次提交
-
-
由 Axel Lin 提交于
Since commit a2fd4f9f 'spi: Support transfer speed checking in the core', the SPI core validates the desired speed of a given transfer against the minimum and maximum speeds supported by the controller. So we can remove the same code in this driver and let spi core handle checking the desired speed of a given transfer. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 06 2月, 2014 1 次提交
-
-
由 Christian Engelmayer 提交于
Remove unused devdata pointer 'orion_spi' in function orion_spi_write_read(). Detected by Coverity: CID 1077860. Signed-off-by: NChristian Engelmayer <cengelma@gmx.at> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 03 2月, 2014 1 次提交
-
-
由 Paul Gortmaker 提交于
None of these files are actually using any __init type directives and hence don't need to include <linux/init.h>. Most are just a left over from __devinit and __cpuinit removal, or simply due to code getting copied from one driver to the next. Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 10 12月, 2013 1 次提交
-
-
由 Jingoo Han 提交于
Use devm_clk_get() to make cleanup paths simpler. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Acked-by: NJason Cooper <jason@lakedaemon.net> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 15 10月, 2013 1 次提交
-
-
由 Jingoo Han 提交于
Fix the following checkpatch warnings. WARNING: quoted string split across lines WARNING: sizeof *spi should be sizeof(*spi) Signed-off-by: NJingoo Han <jg1.han@samsung.com> Acked-by: NJason Cooper <jason@lakedaemon.net> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 26 9月, 2013 1 次提交
-
-
由 Jingoo Han 提交于
Use devm_spi_register_master() to make cleanup paths simpler. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Acked-by: NJason Cooper <jason@lakedaemon.net> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 29 7月, 2013 2 次提交
-
-
由 Mark Brown 提交于
Signed-off-by: NMark Brown <broonie@linaro.org> Acked-by: NAndrew Lunn <andrew@lunn.ch>
-
由 Mark Brown 提交于
Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 23 5月, 2013 1 次提交
-
-
由 Jingoo Han 提交于
Use the wrapper functions for getting and setting the driver data using platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev, so we can directly pass a struct platform_device. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 05 2月, 2013 2 次提交
-
-
由 Ezequiel Garcia 提交于
This patch reduces and simplifies initalization code by using module_platform_driver(). With this change it's necessary to remove the __init annotation to avoid section mismatch warnings. Signed-off-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Grant Likely 提交于
Some of the spi driver module remove hooks were annotated with __exit and referenced with __exit_p(). Presumably these were supposed to be __devinit, __devexit and __devexit_p() since __init/__exit for a probe/remove hook has never been correct. They also got missed during the big __devinit/__devexit purge since they didn't match the pattern. Remove then now to be rid of it. v2: purge __init also Reported-by: NArnd Bergmann <arnd@arndb.de> [Arnd set a patch cleaning up one, and then I found more] Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 08 12月, 2012 1 次提交
-
-
由 Grant Likely 提交于
CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Bill Pemberton has done most of the legwork on this series. I've used his script to purge the attributes from the drivers/gpio tree. Reported-by: NBill Pemberton <wfp5p@virginia.edu> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 06 12月, 2012 1 次提交
-
-
由 Jason Gunthorpe 提交于
Support these transfer modes from the SPI layer by setting the appropriate register bits before doing the transfer. This was tested on the Marvell kirkwood SOC that uses this driver. Reviewed-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: NRolf Manderscheid <rvm@obsidianresearch.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 18 8月, 2012 1 次提交
-
-
由 Andrew Lunn 提交于
Replace the deprecated master->transfer with transfer_one_message() and allow the SPI subsystem handle all the queuing of messages. Signed-off-by: NAndrew Lunn <andrew@lunn.ch> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NSebastian Hesselbarth <sebastian.hesselbarth@googlemail.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 23 7月, 2012 2 次提交
-
-
由 Michael Walle 提交于
This was formerly used to store the tclk value. This is now discovered using the clk API, rather than pass it as platform data. Signed-off-by: NMichael Walle <michael@walle.cc> Acked-by: NJason Cooper <jason@lakedaemon.net> Signed-off-by: NAndrew Lunn <andrew@lunn.ch> Acked-by: NSebastian Hesselbarth <sebastian.hesselbarth@googlemail.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Andrew Lunn 提交于
Signed-off-by: NMichael Walle <michael@walle.cc> Signed-off-by: NAndrew Lunn <andrew@lunn.ch> Acked-by: NJason Cooper <jason@lakedaemon.net> Acked-by: NSebastian Hesselbarth <sebastian.hesselbarth@googlemail.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 09 5月, 2012 1 次提交
-
-
由 Andrew Lunn 提交于
Remove now redundant tclk from SPI platform data. This makes the platform data empty, so remove it. Signed-off-by: NAndrew Lunn <andrew@lunn.ch> Tested-by: NJamie Lentin <jm@lentin.co.uk> Signed-off-by: NMike Turquette <mturquette@linaro.org>
-
- 16 3月, 2012 1 次提交
-
-
由 Andrew Lunn 提交于
Signed-off-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NJason Cooper <jason@lakedaemon.net> Acked-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 01 11月, 2011 1 次提交
-
-
由 Paul Gortmaker 提交于
We are clipping down the presence of module.h, since it was everywhere. If you really need it, you better call it out, as per this changeset. Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
-
- 11 6月, 2011 1 次提交
-
-
由 Joe Perches 提交于
Done via coccinelle scripts like: @@ struct resource *ptr; @@ - ptr->end - ptr->start + 1 + resource_size(ptr) and some grep and typing. Mostly uncompiled, no cross-compilers. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 06 6月, 2011 1 次提交
-
-
由 Grant Likely 提交于
Sort the SPI makefile and enforce the naming convention spi_*.c for spi drivers. This change also rolls the contents of atmel_spi.h into the .c file since there is only one user of that particular include file. v2: - Use 'spi-' prefix instead of 'spi_' to match what seems to be be the predominant pattern for subsystem prefixes. - Clean up filenames in Kconfig and header comment blocks Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Acked-by: NWolfram Sang <w.sang@pengutronix.de> Acked-by: NLinus Walleij <linus.walleij@linaro.org>
-