summaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-bcm53xx.c
Commit message (Collapse)AuthorAgeFilesLines
* spi: bcm53xx: simplify reading SPI dataRafał Miłecki2018-01-031-16/+10Star
| | | | | | | | | | | | | | | | | | This commit makes transfer function use spi_transfer_is_last to determine if currently processed transfer is the last one. Thanks to that we finally set hardware registers properly and it makes controller behave the way it's expected to. This allows simplifying read function which can now simply start reading from the slot 0 instead of the last saved offset. It has been successfully tested using spi_write_then_read. Moreover this change fixes handling messages with two writing transfers. It's important for SPI flash devices as their drivers commonly use one transfer for a command and another one for data. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Mark Brown <broonie@kernel.org>
* spi: bcm53xx: (re)license code to the GPL v2Rafał Miłecki2017-01-061-1/+9
| | | | | | | | | | | | | | | | | | | | | My intention was to release this code under GPL v2 license. For some reason my initial commit 0fc6a323e191 ("spi: bcm53xx: driver for SPI controller on Broadcom bcma SoC") totally missed licensing info. MODULE_LICENSE was later added by Axel specifying "GNU Public License v2 or later". This patch clarifies situation by adding a proper header (with Copyright line) and adjusting MODULE_LICENSE. It should be acked by every driver contributor. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Acked-by: Nicholas Mc Guire <hofrat@osadl.org> Reviewed-by: Jingoo Han <jingoohan1@gmail.com> Acked-by: Jingoo Han <jingoohan1@gmail.com> Acked-by: Joe Perches <joe@perches.com> Acked-by: Axel Lin <axel.lin@ingics.com> Acked-by: Vaishali Thakkar <vaishali.thakkar@oracle.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* spi: bcm53xx: set of_node to let DT specify device(s)Rafał Miłecki2016-12-311-7/+1Star
| | | | | | | | | | | | Setting of_node of master's dev seems to be a common way of letting it work nicely with DT. This allows specifying device there instead of hardcoding one in the driver code. This was successfully tested with commit 1b47b98acce2 ("ARM: BCM5301X: Add DT entry for SPI controller and NOR flash") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Mark Brown <broonie@kernel.org>
* spi: bcm53xx: add spi_flash_read callback for MMIO-based readsRafał Miłecki2016-04-181-2/+76
| | | | | | | This implements more efficient reads of SPI-attached flash content. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* spi: bcm53xx: Adjust devm usageVaishali Thakkar2015-09-161-11/+2Star
| | | | | | | | | | | | Remove use of spi_unregister_master in remove function as devm_spi_register_master in probe function automatically handles it. To be compatible with the change, use direct return instead of goto and remove unnedded label out. Also, remove bcm53xxspi_bcma_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* Merge remote-tracking branches 'spi/topic/atmel', 'spi/topic/bcm2385', ↵Mark Brown2015-04-121-2/+2
|\ | | | | | | 'spi/topic/bcm2835', 'spi/topic/bcm53xx' and 'spi/topic/bitbang' into spi-next
| * spi: bcm53xx: use msecs_to_jiffies for conversionNicholas Mc Guire2015-02-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | Converting milliseconds to jiffies by "val * HZ / 1000" is technically ok but msecs_to_jiffies(val) is the cleaner solution and handles all corner cases correctly. This is only an API consolidation and should make things more readable Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | treewide: Remove unnecessary BCMA_CORETABLE_END macroJoe Perches2015-02-111-1/+1
|/ | | | | | | | | Use the normal {} instead of a macro to terminate an array. Remove the macro too. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* spi: bcm53xx: Add missing module informationAxel Lin2014-09-261-0/+4
| | | | | | | | Mainly to fix missing MODULE_LICENSE. Also add MODULE_DESCRIPTION and MODULE_AUTHOR. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* spi: bcm53xx: make local symbol staticJingoo Han2014-08-291-1/+1
| | | | | | | Make local symbol static, because this is used only in this file. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* spi: bcm53xx: driver for SPI controller on Broadcom bcma SoCRafał Miłecki2014-08-191-0/+295
Broadcom 53xx ARM SoCs use bcma bus that contains various cores (AKA devices). If board has a serial flash, it's connected over SPI and the bcma bus includes a SPI controller. Example log from such a board: bus0: Found chip with id 53010, rev 0x00 and package 0x02 (...) bus0: Core 18 found: SPI flash controller (manuf 0x4BF, id 0x50A, rev 0x01, class 0x0) This patch adds a bcma driver for SPI core, it registers SPI master controller and "bcm53xxspiflash" SPI device. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>