On Mon, 9 May 2016 20:46:18 -0700
David Hendricks <dhendrix(a)google.com> wrote:
> Hi Victor,
> From Flashrom's software perspective all chips with the same ID are
> indistinguishable.
>
> Part number often includes characteristics such as package and thermal
> tolerance which do not affect software compatibility.
However, we will add the new names to the in-program (and hence
wiki) database so that this new information becomes public. Thanks for
the heads up, Victor.
--
Kind regards/Mit freundlichen Grüßen, Stefan Tauner
Hi,
we're hitting the 80 column limit in our code in ways which actually
reduce readability for the code. Examples are various multiline messages
and complicated nested code where refactoring to a separate function
doesn't make sense.
Keeping the old 80 column limit is not really an option anymore.
Standard terminal sizes have one of 80, 100 or 132 columns.
Given the monitor resolutions many people have nowadays, I think it is
safe to say that you can fit two xterms with 100 columns horizonally
next to each other. 100 columns should also be sufficient for a msg_p*
of roughly 80 columns of text.
132 columns provide more leeway, but IMHO that would be too wide for
good readability (and my screen can't fit two xterms side-by-side anymore).
Of course some files have sections where any column limit is not
acceptable (board lists etc.), but the column limit violations should be
limited to the affected file sections, not whole files.
Comments?
I'd like to get this decided today or tomorrow so we know where we need
line breaks in Stefan Tauner's new struct flashchip patch.
Regards,
Carl-Daniel
--
http://www.hailfinger.org/
Hi Billy,
On 24.08.2017 09:03, Billy Isom wrote:
> hello friend
>
> I have been using flashrom for a little while now with great results, but i
> upgraded to the latest Raspbian Distro.
> upon attempting to reinstall Flashrom on my Raspberry PI 3 I receive an
> error.
>
> I was hoping you could shed some light on the cause and hopefully a
> solution to this.
>
> thank you for your help.
>
> [...]
> internal.c:148:32: error: 'par_master_internal' defined but not used
> [-Werror=unused-const-variable=]
> static const struct par_master par_master_internal = {
> ^~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
this is likely due to a change in the default warning options of your
compiler. As flashrom also defaults to not allow any warnings, the build
fails. You can deactivate this rule with WARNERROR=no added to your make
command, e.g. `sudo make WARNERROR=no`.
Hope that helps,
Nico
On Thu, 24 Aug 2017 06:44:13 +0000
"Hänel-Baas, Alexander" <alexander.haenel-baas(a)sieb-meyer.de> wrote:
> You are right: 50Mhz is a high spi speed. In the data sheet from Spansion chip is
> described: "Normal READ 40Mhz, Fast READ 104MHz.
And they don't mention the legal RDID frequency at all... but I'd assume
40MHz as well.
>
> But the important question is:
> Why does the linux spidev use the wrong spi speed and was called repeatedly?
> In my test prog when we called ioctl(*spi_cs_fd, SPI_IOC_WR_MAX_SPEED_HZ, &spi_speed)
> the linux driver was called repeatedly too.
Yeah, I first thought it might be flashrom's shutdown/restore on exit
but that can't be the case... so again I expect the kernel driver doing
something wrong.
> So i will ask my question in the linux_spi mailing list.
>
Please report back when you find something out, thanks.
--
Kind regards/Mit freundlichen Grüßen, Stefan Tauner
On Tue, 22 Aug 2017 13:10:07 +0000
"Hänel-Baas, Alexander" <alexander.haenel-baas(a)sieb-meyer.de> wrote:
> Hi,
>
> we use flashrom 0.99 to program the Spansion flash chip "S25FL064A/P" with the spi interface from the QoriQ LS1021a.
> The linux version is: 4.4.26.
>
> In the dts the spi speed is set to 16MHz, flashrom is lucky and programs the flash chip fine.
> To increase the programming time, we set the spi speed up to 50MHz in the dts, but now flashrom can't find the spansion chip.
>
> My dts:
> &dspi0 {
> bus-num = <0>;
> status = "okay";
>
> spidev0: spidev@0 {
> compatible = "rohm,dh2228fv";
> reg = <0>;
> spi-max-frequency = <50000000>; //16MHz works
> };
>
> In this case I pass the spi speed with the parameter: linux_spi:spispeed=16000 but this parameter doesn't help.
>
> My flashrom call:
> flashrom -p linux_spi:spispeed=16000,dev=/dev/spidev0.0 -n -w /opt/SIEBMEYER/fpga/readout_SPI_FEED_F00D.bin -c S25FL064A/P
>
> The flashrom output:
> flashrom v0.9.9-r1955 on Linux 4.4.26-TQMLS102xA-BSP-0100-Alex (armv7l)
> flashrom is free software, get the source code at https://flashrom.org
>
> flashrom was built with libpci 3.2.1, GCC 5.4.0, little endian
> Command line (8 args): flashrom -p linux_spi:spispeed=16000,dev=/dev/spidev0.0 -n -w /opt/SIEBMEYER/fpga/readout_SPI_FEED_F00D.bin -c S25FL064A/P -V
> Calibrating delay loop... OS timer resolution is 2 usecs, 467M loops per second, 10 myus = 10 us, 100 myus = 94 us, 1000 myus = 949 us, 10000 myus = 9433 us, 8 myus = 8 us, OK.
> Initializing linux_spi programmer
> Using device /dev/spidev0.0
> Using 16000 kHz clock
> The following protocols are supported: SPI.
> Probing for Spansion S25FL064A/P, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x10b
> No EEPROM/flash device found.
>
> And here the important kernel message: (spi support is compile with debug)
> [ 87.194660] spidev spi0.0: setup mode 0, 8 bits/w, 16000000 Hz max --> 0 <-- this is my speed given by linux_spi:spispeed
> [ 87.194706] spidev spi0.0: setup mode 0, 8 bits/w, 50000000 Hz max --> 0 <-- this is the default speed given by dts
> [ 87.194841] spidev spi0.0: setup mode 0, 8 bits/w, 50000000 Hz max --> 0
>
> What can I do, to set the spi speed from userland correctly?
> Can one flashrom call produce different spi_setup() outputs?
>
> I hope we can clarify this.
Hi Alexander,
we are using the standard Linux SPI interface and set the SPI clock via
the SPI_IOC_WR_MAX_SPEED_HZ ioctl (cf. linux_spi.c). The last time I
checked there was no possibility to read back the currently set
frequency, so the only thing we can do within flashrom is check if the
ioctl succeeded and it apparently does. My experience with these
drivers is limited, but my best guess is that there is a bug in the
implementation of the LS1021a-specific SPI driver. And that it
actually uses 50 MHz which is too much for the connection (and chip) in
question.
--
Kind regards/Mit freundlichen Grüßen, Stefan Tauner
Hi,
we use flashrom 0.99 to program the Spansion flash chip "S25FL064A/P" with the spi interface from the QoriQ LS1021a.
The linux version is: 4.4.26.
In the dts the spi speed is set to 16MHz, flashrom is lucky and programs the flash chip fine.
To increase the programming time, we set the spi speed up to 50MHz in the dts, but now flashrom can't find the spansion chip.
My dts:
&dspi0 {
bus-num = <0>;
status = "okay";
spidev0: spidev@0 {
compatible = "rohm,dh2228fv";
reg = <0>;
spi-max-frequency = <50000000>; //16MHz works
};
In this case I pass the spi speed with the parameter: linux_spi:spispeed=16000 but this parameter doesn't help.
My flashrom call:
flashrom -p linux_spi:spispeed=16000,dev=/dev/spidev0.0 -n -w /opt/SIEBMEYER/fpga/readout_SPI_FEED_F00D.bin -c S25FL064A/P
The flashrom output:
flashrom v0.9.9-r1955 on Linux 4.4.26-TQMLS102xA-BSP-0100-Alex (armv7l)
flashrom is free software, get the source code at https://flashrom.org
flashrom was built with libpci 3.2.1, GCC 5.4.0, little endian
Command line (8 args): flashrom -p linux_spi:spispeed=16000,dev=/dev/spidev0.0 -n -w /opt/SIEBMEYER/fpga/readout_SPI_FEED_F00D.bin -c S25FL064A/P -V
Calibrating delay loop... OS timer resolution is 2 usecs, 467M loops per second, 10 myus = 10 us, 100 myus = 94 us, 1000 myus = 949 us, 10000 myus = 9433 us, 8 myus = 8 us, OK.
Initializing linux_spi programmer
Using device /dev/spidev0.0
Using 16000 kHz clock
The following protocols are supported: SPI.
Probing for Spansion S25FL064A/P, 8192 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x10b
No EEPROM/flash device found.
And here the important kernel message: (spi support is compile with debug)
[ 87.194660] spidev spi0.0: setup mode 0, 8 bits/w, 16000000 Hz max --> 0 <-- this is my speed given by linux_spi:spispeed
[ 87.194706] spidev spi0.0: setup mode 0, 8 bits/w, 50000000 Hz max --> 0 <-- this is the default speed given by dts
[ 87.194841] spidev spi0.0: setup mode 0, 8 bits/w, 50000000 Hz max --> 0
What can I do, to set the spi speed from userland correctly?
Can one flashrom call produce different spi_setup() outputs?
I hope we can clarify this.
Thanks,
Alexander