Im working with a HW unit (similar to the ICH10), that has two SPI devices connected.
enum ich_spi_mode { ich_auto, ich_hwseq, ich_swseq } ich_spi_mode = ich_auto;
And I cannot use the ich_hwseq (which is propsed) because the Intel Chipset is only capable of erasing: 00: 256 byte 01: 4 KB 10: 8 KB 11: 64 KB
And my flash chip, only support Sector erase/ or Bulk (but I don't like that one) and each sector is 256kB.
So how can I proceed here? As I understand I cannot use the hw_seq and have to go for the sw_seq. But then how to handle the chip-select? When Im running the sw_seq I can only use one flash device, ..
Thanks for support
Magnus Johansson
On Tue, 4 Feb 2014 13:21:58 +0000 Magnus Johansson E magnus.e.johansson@ericsson.com wrote:
Im working with a HW unit (similar to the ICH10), that has two SPI devices connected.
enum ich_spi_mode { ich_auto, ich_hwseq, ich_swseq } ich_spi_mode = ich_auto;
And I cannot use the ich_hwseq (which is propsed) because the Intel Chipset is only capable of erasing: 00: 256 byte 01: 4 KB 10: 8 KB 11: 64 KB
And my flash chip, only support Sector erase/ or Bulk (but I don't like that one) and each sector is 256kB.
So how can I proceed here? As I understand I cannot use the hw_seq and have to go for the sw_seq. But then how to handle the chip-select? When Im running the sw_seq I can only use one flash device, ..
Thanks for support
To my knowledge it is not possible to toggle the chip select by usual means. The hardware SPI controller does it itself and only if you are using hardware sequencing. Also, a flash chip without 4kB erase opcodes does not comply with Intel's requirement for flash chips (and in this particular case I think these are hard requirements and not just recommendations as usual).
So, these are questions you should ask Intel; or whoever mated these flash chips with the board, if at all... :)
Actually it is possible to toggle the chipselect by playing with the FADDR register, I will add an option into our flashrom where you can specify the chip-select signal. Then I have to use the sw_seq to be able to erase.
Thx anyway
-----Original Message----- From: Stefan Tauner [mailto:stefan.tauner@student.tuwien.ac.at] Sent: den 4 februari 2014 23:33 To: Magnus Johansson E Cc: flashrom@flashrom.org Subject: Re: [flashrom] question
On Tue, 4 Feb 2014 13:21:58 +0000 Magnus Johansson E magnus.e.johansson@ericsson.com wrote:
Im working with a HW unit (similar to the ICH10), that has two SPI devices connected.
enum ich_spi_mode { ich_auto, ich_hwseq, ich_swseq } ich_spi_mode = ich_auto;
And I cannot use the ich_hwseq (which is propsed) because the Intel Chipset is only capable of erasing: 00: 256 byte 01: 4 KB 10: 8 KB 11: 64 KB
And my flash chip, only support Sector erase/ or Bulk (but I don't like that one) and each sector is 256kB.
So how can I proceed here? As I understand I cannot use the hw_seq and have to go for the sw_seq. But then how to handle the chip-select? When Im running the sw_seq I can only use one flash device, ..
Thanks for support
To my knowledge it is not possible to toggle the chip select by usual means. The hardware SPI controller does it itself and only if you are using hardware sequencing. Also, a flash chip without 4kB erase opcodes does not comply with Intel's requirement for flash chips (and in this particular case I think these are hard requirements and not just recommendations as usual).
So, these are questions you should ask Intel; or whoever mated these flash chips with the board, if at all... :)
-- Kind regards/Mit freundlichen Grüßen, Stefan Tauner
Hi Magnus,
in that case, please share your patch for the chip select signal (even if it's just a patch to ichspi.c and has no user interface). We would love to merge that. If you have any other local changes which are missing in our tree, please send them as well. Our goal is to have a flashrom tree which is useful even for special cases.
Regards, Carl-Daniel
Am 05.02.2014 08:56 schrieb Magnus Johansson E:
Actually it is possible to toggle the chipselect by playing with the FADDR register, I will add an option into our flashrom where you can specify the chip-select signal. Then I have to use the sw_seq to be able to erase.