<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/spi, branch v2016.11-rc1</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/spi?h=v2016.11-rc1</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/spi?h=v2016.11-rc1'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2016-09-27T15:29:52Z</updated>
<entry>
<title>spi: Add driver for Marvell Armada 3700 SoC</title>
<updated>2016-09-27T15:29:52Z</updated>
<author>
<name>Stefan Roese</name>
<email>sr@denx.de</email>
</author>
<published>2016-05-19T13:56:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=3fda4ef39557c070558d51c4ea4562c370c3f96d'/>
<id>urn:sha1:3fda4ef39557c070558d51c4ea4562c370c3f96d</id>
<content type='text'>
The SPI IP core in the Marvell Armada 3700 is similar to the one in the
other Armada SoCs. But the differences are big enough that it makes
sense to introduce a new driver instead of cluttering the old
kirkwood driver with #ifdef's.

Signed-off-by: Stefan Roese &lt;sr@denx.de&gt;
Cc: Nadav Haklai &lt;nadavh@marvell.com&gt;
Cc: Kostya Porotchkin &lt;kostap@marvell.com&gt;
Cc: Wilson Ding &lt;dingwei@marvell.com&gt;
Cc: Victor Gu &lt;xigu@marvell.com&gt;
Cc: Hua Jing &lt;jinghua@marvell.com&gt;
Cc: Terry Zhou &lt;bjzhou@marvell.com&gt;
Cc: Hanna Hawa &lt;hannah@marvell.com&gt;
Cc: Haim Boot &lt;hayim@marvell.com&gt;
Reviewed-by: Jagan Teki &lt;jteki@openedev.com&gt;
</content>
</entry>
<entry>
<title>treewide: replace #include &lt;asm/errno.h&gt; with &lt;linux/errno.h&gt;</title>
<updated>2016-09-23T21:55:42Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2016-09-21T02:28:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=1221ce459d04a428f8880f58581f671b736c3c27'/>
<id>urn:sha1:1221ce459d04a428f8880f58581f671b736c3c27</id>
<content type='text'>
Now, arch/${ARCH}/include/asm/errno.h and include/linux/errno.h have
the same content.  (both just wrap &lt;asm-generic/errno.h&gt;)

Replace all include directives for &lt;asm/errno.h&gt; with &lt;linux/errno.h&gt;.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
[trini: Fixup include/clk.]
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.denx.de/u-boot-spi</title>
<updated>2016-09-22T15:36:45Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2016-09-22T15:36:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=19d051a2b78b626ea3f8103a9a08e73508ba9fa6'/>
<id>urn:sha1:19d051a2b78b626ea3f8103a9a08e73508ba9fa6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>spi: Kconfig: Move FSL_QSPI entry to non-dm place</title>
<updated>2016-09-22T08:46:28Z</updated>
<author>
<name>Jagan Teki</name>
<email>jteki@openedev.com</email>
</author>
<published>2016-09-03T07:28:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=21b1dd18f1bedf9c725128bc2e84acb9958815fa'/>
<id>urn:sha1:21b1dd18f1bedf9c725128bc2e84acb9958815fa</id>
<content type='text'>
Since FSL_QSPI driver still supporting non-dm code
better to move the Kconfig from DM undefined place.

Cc: Stefano Babic &lt;sbabic@denx.de&gt;
Reviewed-by: Peng Fan &lt;peng.fan@nxp.com&gt;
Signed-off-by: Jagan Teki &lt;jteki@openedev.com&gt;
</content>
</entry>
<entry>
<title>spi: zynq: Use variable to remove u32 to u64 conversions</title>
<updated>2016-09-22T05:33:20Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2016-09-01T10:51:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5f647c2284e418e366a9d8f7b58145713875dbba'/>
<id>urn:sha1:5f647c2284e418e366a9d8f7b58145713875dbba</id>
<content type='text'>
Current code generates warning when it is compiled for arm64:
Warnings:
In file included from drivers/spi/zynq_spi.c:14:0:
drivers/spi/zynq_spi.c: In function ‘zynq_spi_init_hw’:
drivers/spi/zynq_spi.c:95:9: warning: large integer implicitly truncated
to unsigned type [-Woverflow]
  writel(~ZYNQ_SPI_ENR_SPI_EN_MASK, &amp;regs-&gt;enr);
         ^
./arch/arm/include/asm/io.h:146:34: note: in definition of macro
‘writel’
 #define writel(v,c) ({ u32 __v = v; __iowmb(); __arch_putl(__v,c); __v;
})
                                  ^
drivers/spi/zynq_spi.c: In function ‘zynq_spi_release_bus’:
drivers/spi/zynq_spi.c:177:9: warning: large integer implicitly
truncated to unsigned type [-Woverflow]
  writel(~ZYNQ_SPI_ENR_SPI_EN_MASK, &amp;regs-&gt;enr);
         ^
./arch/arm/include/asm/io.h:146:34: note: in definition of macro
‘writel’
 #define writel(v,c) ({ u32 __v = v; __iowmb(); __arch_putl(__v,c); __v;
})
                                  ^
This patch is using one variable to do conversion via u32 variable.

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
Reviewed-by: Jagan Teki &lt;jteki@openedev.com&gt;
</content>
</entry>
<entry>
<title>spi: Use mode for rx mode flags</title>
<updated>2016-09-21T19:32:28Z</updated>
<author>
<name>Jagan Teki</name>
<email>jteki@openedev.com</email>
</author>
<published>2016-08-08T11:42:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=08fe9c294f2d699a4e8b6b18e31169a89552f967'/>
<id>urn:sha1:08fe9c294f2d699a4e8b6b18e31169a89552f967</id>
<content type='text'>
Make rx mode flags as generic to spi, earlier mode_rx is
maintained separately because of some flash specific code.

Cc: Simon Glass &lt;sjg@chromium.org&gt;
Cc: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Cc: Michal Simek &lt;michal.simek@xilinx.com&gt;
Cc: Siva Durga Prasad Paladugu &lt;sivadur@xilinx.com&gt;
Cc: Vignesh R &lt;vigneshr@ti.com&gt;
Cc: Mugunthan V N &lt;mugunthanvnm@ti.com&gt;
Signed-off-by: Jagan Teki &lt;jteki@openedev.com&gt;
</content>
</entry>
<entry>
<title>spi: ti_qspi: Remove unnecessary udelay for AM437x</title>
<updated>2016-09-21T19:28:26Z</updated>
<author>
<name>Vignesh R</name>
<email>vigneshr@ti.com</email>
</author>
<published>2016-09-07T09:48:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=28b69f64886c89d463ebe380f87f858f7362be36'/>
<id>urn:sha1:28b69f64886c89d463ebe380f87f858f7362be36</id>
<content type='text'>
This udelay() was added as an HACK and is no longer required. All
read/write/erase operations work fine even without this delay. Hence,
remove the udelay() call.

Tested read/write/erase operation on AM437x SK. Also tested QSPI Boot.

Signed-off-by: Vignesh R &lt;vigneshr@ti.com&gt;
Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
Reviewed-by: Jagan Teki &lt;jteki@openedev.com&gt;
</content>
</entry>
<entry>
<title>spi: ti_qspi: use 128 bit transfer mode when writing to flash</title>
<updated>2016-09-21T19:28:26Z</updated>
<author>
<name>Vignesh R</name>
<email>vigneshr@ti.com</email>
</author>
<published>2016-09-07T09:48:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=260368507a15de9503f509b175796935f65fbfc3'/>
<id>urn:sha1:260368507a15de9503f509b175796935f65fbfc3</id>
<content type='text'>
TI QSPI has four 32 bit data registers which can be used to transfer 16
bytes of data at once. The register group QSPI_SPI_DATA_REG_3,
QSPI_SPI_DATA_REG_2, QSPI_SPI_DATA_REG_1 and QSPI_SPI_DATA_REG is
treated as a single 128-bit word for shifting data in and out. The bit
at QSPI_SPI_DATA_REG_3[31] position is the first bit to be shifted out
in case of 128 bit transfer mode. Therefore the first byte to be written
to flash should be at QSPI_SPI_DATA_REG_3[31-25] position.
Instead of writing 1 byte at a time when interacting with SPI NOR flash,
make use of all the four registers so that 16 bytes can be transferred
in one go.

With this patch, the flash write speed increases from ~250KBs/ to
~650KB/s on DRA74 EVM.

Signed-off-by: Vignesh R &lt;vigneshr@ti.com&gt;
Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
Reviewed-by: Jagan Teki &lt;jteki@openedev.com&gt;
</content>
</entry>
<entry>
<title>spi: zynq_spi: Fix infinite looping while xfer</title>
<updated>2016-09-21T19:28:26Z</updated>
<author>
<name>Lad, Prabhakar</name>
<email>prabhakar.csengg@gmail.com</email>
</author>
<published>2016-07-30T21:28:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d2998286fc58e3ac6c75ed4d3a1e77b618bbf2ae'/>
<id>urn:sha1:d2998286fc58e3ac6c75ed4d3a1e77b618bbf2ae</id>
<content type='text'>
During spi transfer, for example:
sspi 1:1.0 8 ff

the rx_len values will  be:
rx_len = 0
rx_len = 4294967295

This caused a busy looping during xfer, this patch fixes it
by adding a check while reading the rx fifo

Signed-off-by: Lad, Prabhakar &lt;prabhakar.csengg@gmail.com&gt;
Cc: Michal Simek &lt;michal.simek@xilinx.com&gt;
Cc: Siva Durga Prasad Paladugu &lt;sivadur@xilinx.com&gt;
Reviewed-by: Jagan Teki &lt;jteki@openedev.com&gt;
</content>
</entry>
<entry>
<title>spi: tegra: fix hang in set_mode()</title>
<updated>2016-08-25T22:35:03Z</updated>
<author>
<name>Stephen Warren</name>
<email>swarren@nvidia.com</email>
</author>
<published>2016-08-18T16:53:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4832c7f5f79feebf8549f33c7257dec47c336470'/>
<id>urn:sha1:4832c7f5f79feebf8549f33c7257dec47c336470</id>
<content type='text'>
In tegra20_slink.c, the set_mode() function may be executed before the
SPI bus is claimed the first time, and hence the clocks to the SPI
controller may not be running. If so, any register read/write at this
time will hang the CPU. Fix this by ensuring the clock is running as soon
as the driver is probed. This is observed on the Tegra30 Beaver board.

Apply the same clock initialization fix to all other Tegra SPI drivers so
that if set_mode() is ever implemented there, the same bug will not appear.
Note that tegra114_spi.c already operates in this fashion.

The clock manipulation code is copied from claim_bus() to probe() rather
than moved. This ensures that any calls to set_speed() take effect; the
clock can't be set once during probe and left unchanged.

Fixes: 5cb1b7b395c0 ("spi: tegra20: Add support for mode selection")
Cc: Mirza Krak &lt;mirza.krak@hostmobility.com&gt;
Signed-off-by: Stephen Warren &lt;swarren@nvidia.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Signed-off-by: Tom Warren &lt;twarren@nvidia.com&gt;
</content>
</entry>
</feed>
