Michael Brown
92a9978b44
[spi] Add address-length autodetection to the SPI bit-bashing code
Several SPI chips will respond to an SPI read command with a dummy
zero bit immediately prior to the first real data bit. This can be
used to autodetect the address length, provided that the command
length and data length are already known, and that the MISO data line
is tied high.
Tested-by: Thomas Miletich <thomas.miletich@gmail.com >
Debugged-by: Thomas Miletich <thomas.miletich@gmail.com >
15 jaren geleden
Michael Brown
c44a193d0d
[legal] Add a selection of FILE_LICENCE declarations
Add FILE_LICENCE declarations to almost all files that make up the
various standard builds of gPXE.
15 jaren geleden
Alexey Zaytsev
a1572e0ab0
Modify gPXE core and drivers to work with the new timer subsystem
Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com >
16 jaren geleden
Michael Brown
1949641d10
Fix compiler warnings that appear only on OpenBSD.
17 jaren geleden
Michael Brown
df868476e7
Various warnings fixups for OpenBSD with gcc-3.3.5.
17 jaren geleden
Michael Brown
64787bad29
Fix prototype mismatch.
17 jaren geleden
Michael Brown
6ceaa158da
Return -EIO when verification fails, instead of -EINVAL.
18 jaren geleden
Michael Brown
d2bf7abe75
Added write support for three-wire devices (e.g. the RTL8139 EEPROM)
18 jaren geleden
Michael Brown
ac401f481d
Verify data after writing
18 jaren geleden
Michael Brown
6b45947a59
Added debug statements
18 jaren geleden
Michael Brown
052ef6dc5a
Added nvs_write(). This shares a lot of code in common with nvs_read();
this can probably be optimised down quite a lot.
18 jaren geleden
Michael Brown
2d8d21fe74
Added the generic block-splitting code to nvs.c
18 jaren geleden
Michael Brown
1961ba44e1
Added generic SPI protocol handler with read and write support.
18 jaren geleden
Michael Brown
946967f09c
Abstracted out part of the concept of an SPI device to a generalised NVS
device.
Separated the mechanisms of non-volatile storage access and non-volatile
stored options.
18 jaren geleden
Michael Brown
dc06c895fc
Changed length parameter in SPI methods to be a byte length, rather than
a word length.
18 jaren geleden
Michael Brown
931f94dca3
Generalised the SPI abstraction layer to also be able to handle interfaces
that don't provide the full flexibility of a bit-bashing interface.
Temporarily hacked rtl8139.c to use the new interface.
18 jaren geleden
Michael Brown
3b51c719d3
Generalise three-wire interface to generic SPI interface.
Update rtl8139 driver to instantiate an SPI interface with a three-wire
device attached.
18 jaren geleden
Michael Brown
aa2468babe
Added abstraction layer for a three-wire serial device (e.g. the EEPROM
used on RTL8139 cards).
18 jaren geleden