<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-obmc-linux/drivers/mtd, branch dev-5.0</title>
<subtitle>Talos™ II Linux sources for OpenBMC</subtitle>
<id>https://git.raptorcs.com/git/talos-obmc-linux/atom?h=dev-5.0</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-obmc-linux/atom?h=dev-5.0'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/'/>
<updated>2019-04-19T00:56:52+00:00</updated>
<entry>
<title>Revert "mtd: spi-nor: aspeed: use memcpy_fromio() to capture the optimization buffer"</title>
<updated>2019-04-19T00:56:52+00:00</updated>
<author>
<name>Andrew Jeffery</name>
<email>andrew@aj.id.au</email>
</author>
<published>2019-04-19T00:51:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=9cd6f6c377d4eb61293f0385e2ffbcb2c731dbed'/>
<id>urn:sha1:9cd6f6c377d4eb61293f0385e2ffbcb2c731dbed</id>
<content type='text'>
This reverts commit cb8980080ccb7879c5a8ef0e3efa783c9288d907.

From Milton:

&gt; NACK
&gt;
&gt; [The] justifcation is false.  The routine reads the whole buffer
&gt; because it calls the _rep routine and takes the size.
&gt;
&gt; In addition, the comment just before aspeed_smc_read_from_ahb
&gt; tells why memcpy_fromio and memcpy_toio are broken on 32 bit
&gt; arm, and this is still the case judging from the recent bug
&gt; reportfrom a Nuvoton user [1].
&gt;
&gt; [1] https://github.com/openbmc/openbmc/issues/3521

OpenBMC-Staging-Count: 1
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: aspeed: add support for the 4B opcodes</title>
<updated>2019-04-18T01:41:23+00:00</updated>
<author>
<name>Cédric Le Goater</name>
<email>clg@kaod.org</email>
</author>
<published>2019-04-17T13:39:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=280a5e83425e0e597a3765037a03cd03e80f3111'/>
<id>urn:sha1:280a5e83425e0e597a3765037a03cd03e80f3111</id>
<content type='text'>
Switch the default controller value to use the read mode in order to
customize the command and use SPINOR_OP_READ_4B (0x13) when the chip
supports 4B opcodes.

OpenBMC-Staging-Count: 1
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: aspeed: use memcpy_fromio() to capture the optimization buffer</title>
<updated>2019-04-18T01:41:20+00:00</updated>
<author>
<name>Cédric Le Goater</name>
<email>clg@kaod.org</email>
</author>
<published>2019-04-17T13:39:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=cb8980080ccb7879c5a8ef0e3efa783c9288d907'/>
<id>urn:sha1:cb8980080ccb7879c5a8ef0e3efa783c9288d907</id>
<content type='text'>
aspeed_smc_read_from_ahb() only reads the first word which is not what
we want. We want to capture a CALIBRATE_BUF_SIZE size window of the
flash contents to optimize the read.

OpenBMC-Staging-Count: 1
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: aspeed: clarify 4BYTE address mode mask</title>
<updated>2019-04-18T01:41:15+00:00</updated>
<author>
<name>Cédric Le Goater</name>
<email>clg@kaod.org</email>
</author>
<published>2019-04-17T13:39:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=0006809fb4170784c680d95226d8c8f9ae0379fc'/>
<id>urn:sha1:0006809fb4170784c680d95226d8c8f9ae0379fc</id>
<content type='text'>
OpenBMC-Staging-Count: 1
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: aspeed: introduce a aspeed_smc_default_read() helper</title>
<updated>2019-04-18T01:41:12+00:00</updated>
<author>
<name>Cédric Le Goater</name>
<email>clg@kaod.org</email>
</author>
<published>2019-04-17T13:39:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=85b9912a9d34e0d6809b6f97e1869ffea9c80d92'/>
<id>urn:sha1:85b9912a9d34e0d6809b6f97e1869ffea9c80d92</id>
<content type='text'>
OpenBMC-Staging-Count: 1
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: add NPCM FIU controller driver</title>
<updated>2019-03-20T04:43:34+00:00</updated>
<author>
<name>Tomer Maimon</name>
<email>tmaimon77@gmail.com</email>
</author>
<published>2019-01-14T13:06:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=ecb8eef8c48e38be3c823e066a63b747829cc3a2'/>
<id>urn:sha1:ecb8eef8c48e38be3c823e066a63b747829cc3a2</id>
<content type='text'>
Add Nuvoton NPCM BMC Flash Interface Unit(FIU) SPI-NOR
controller driver

The FIU supports single, dual or quad communication interface.

the FIU controller can operate in following modes:
- User Mode Access(UMA): provides flash access by using an
  indirect address/data mechanism.
- direct rd/wr mode: maps the flash memory into the core
  address space.
- SPI-X mode: used for an expansion bus to an ASIC or CPLD.

OpenBMC-Staging-Count: 2
Signed-off-by: Tomer Maimon &lt;tmaimon77@gmail.com&gt;
[v5.0: Remove asm/size.h include to fix build]
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: fix options for mx66l51235f</title>
<updated>2019-03-20T04:43:33+00:00</updated>
<author>
<name>Alexander Amelkin</name>
<email>a.amelkin@yadro.com</email>
</author>
<published>2018-08-15T15:13:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=174c91ef3f507814f3db5fb6ad41cc660fdb12b2'/>
<id>urn:sha1:174c91ef3f507814f3db5fb6ad41cc660fdb12b2</id>
<content type='text'>
Currently in driver spi-nor there is a line for mx66l51235l.
According to Macronix site there is no such part number.
The chip detected as such is actually mx66l51235f.

According to the datasheet for mx66l51235f,
"The device default is in 24-bit address mode" (section 9-10).
Hence we removed SPI_NOR_4B_OPCODES option with this commit.

OpenBMC-Staging-Count: 4
Fixes: d342b6a973af ("mtd: spi-nor: enable 4B opcodes for mx66l51235l")
Signed-off-by: Alexander Soldatov &lt;a.soldatov@yadro.com&gt;
Reviewed-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Reviewed-by: Lei YU &lt;mine260309@gmail.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: aspeed: limit the maximum SPI frequency</title>
<updated>2019-03-20T04:43:32+00:00</updated>
<author>
<name>Cédric Le Goater</name>
<email>clg@kaod.org</email>
</author>
<published>2018-06-22T07:09:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=fe628d8df1bc09574da3156d77aed22da83164d4'/>
<id>urn:sha1:fe628d8df1bc09574da3156d77aed22da83164d4</id>
<content type='text'>
The optimize read algo can choose a 100MHz SPI frequency which might
be a bit too high for dual output IO on some chips, for the W25Q256 on
palmetto for instance. The MX66L1G45G on witherspoon should be fine
though. Also, the second chip of the FMC controller does not get any
optimize settings for reads. Only the first is configured by U-Boot.

To fix these two issues, we introduce a "spi-max-frequency" property
in the device tree which will be used to cap the optimize read
algorithm and we run the algo on the FMC controller chips as well.

By default, the frequency setting is 50MHz.

OpenBMC-Staging-Count: 4
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Reviewed-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: aspeed: optimize read mode</title>
<updated>2019-03-20T04:43:32+00:00</updated>
<author>
<name>Cédric Le Goater</name>
<email>clg@kaod.org</email>
</author>
<published>2017-10-09T13:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=d4f9680d6c8be5a1ca220f103b8e1b227e72935c'/>
<id>urn:sha1:d4f9680d6c8be5a1ca220f103b8e1b227e72935c</id>
<content type='text'>
This is only for SPI controllers as U-Boot should have done it already
for the FMC controller using DMAs.

The algo is based on the one found in the OpenPOWER pflash tool. It
first reads a golden buffer at low speed and then performs reads with
different clocks and delay cycles settings to find the fastest
configuration for the chip.

It can be deactivated at boot time with the kernel parameter :

	aspeed_smc.optimize_read=0

OpenBMC-Staging-Count: 5
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Alexander Soldatov &lt;a.soldatov@yadro.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: aspeed: link controller with the ahb clock</title>
<updated>2019-03-20T04:43:32+00:00</updated>
<author>
<name>Cédric Le Goater</name>
<email>clg@kaod.org</email>
</author>
<published>2017-10-09T13:41:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=b73be2f6da2bd9e6009ba26411d7694232802fb4'/>
<id>urn:sha1:b73be2f6da2bd9e6009ba26411d7694232802fb4</id>
<content type='text'>
We will need the AHB frequency to set the HCLK settings in the SMC
controller to optimize the reads.

OpenBMC-Staging-Count: 5
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
</feed>
