aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/bitbash
AgeCommit message (Collapse)AuthorFilesLines
2018-04-20[mii] Add bit-bashing interfaceSylvie Barlow1-0/+162
Signed-off-by: Sylvie Barlow <sylvie.c.barlow@gmail.com> Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-03-02[legal] Relicense files under GPL2_OR_LATER_OR_UBDLMichael Brown3-3/+15
Relicense files for which I am the sole author (as identified by util/relicense.pl). Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-08-24[bitbash] Add optional open() and close() methods for bit-bashing interfacesMichael Brown2-1/+16
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-07-20[legal] Update FSF mailing address in GPL licence textsMichael Brown3-3/+6
Suggested-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
2011-03-04[spi] Reset device on each accessMichael Brown1-0/+3
When chainloading rtl8139.pxe from an old Etherboot rtl8139.zrom, iPXE can end up misreading the first word of the MAC address from the EEPROM as being all zeroes. This is presumably because Etherboot has left the serial EEPROM in an unexpected state. Fix by using the chip select line to reset the SPI device before we start accessing it. Reported-by: Mandar U Jog <mandarjog@gmail.com> Tested-by: Mandar U Jog <mandarjog@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-04-19[build] Rename gPXE to iPXEMichael Brown3-5/+5
Access to the gpxe.org and etherboot.org domains and associated resources has been revoked by the registrant of the domain. Work around this problem by renaming project from gPXE to iPXE, and updating URLs to match. Also update README, LOG and COPYRIGHTS to remove obsolete information. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2009-05-28[spi] Add address-length autodetection to the SPI bit-bashing codeMichael Brown1-12/+39
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>
2009-05-18[legal] Add a selection of FILE_LICENCE declarationsMichael Brown3-0/+6
Add FILE_LICENCE declarations to almost all files that make up the various standard builds of gPXE.
2008-10-01[i2c] Generalise i2c bit-bashing support to addressless devicesMichael Brown1-39/+108
Some devices (e.g. the Atmel AT24C11) have no concept of a device address; they respond to every device address and use this value as the word address. Some other devices use part of the device address field to extend the word address field. Generalise the i2c bit-bashing support to handle this by defining the device address length and word address length as properties of an i2c device. The word address is assumed to overflow into the device address field if the address used exceeds the width of the word address field. Also add a bus reset mechanism. i2c chips don't usually have a reset line, so rebooting the host will not clear any bizarre state that the chip may be in. We reset the bus by clocking SCL until we see SDA high, at which point we know we can generate a start condition and have it seen by all devices. We then generate a stop condition to leave the bus in a known state prior to use. Finally, add some extra debugging messages to i2c_bit.c.
2008-03-02Modify gPXE core and drivers to work with the new timer subsystemAlexey Zaytsev3-3/+2
Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
2007-07-28Ensure clock line is in the idle state before asserting chip select.Michael Brown1-0/+4
2007-07-01Support cards such as natsemi which treat the data as little-endianMichael Brown1-17/+24
(i.e. LSB transmitted first on the wire), even though SPI commands and addresses always have to be big-endian.
2006-12-04Abstracted out part of the concept of an SPI device to a generalised NVSMichael Brown1-5/+4
device. Separated the mechanisms of non-volatile storage access and non-volatile stored options.
2006-12-04Changed length parameter in SPI methods to be a byte length, rather thanMichael Brown1-5/+3
a word length.
2006-12-04Generalised the SPI abstraction layer to also be able to handle interfacesMichael Brown3-55/+78
that don't provide the full flexibility of a bit-bashing interface. Temporarily hacked rtl8139.c to use the new interface.
2006-09-27We don't actually have a stdio.h header file. Our printf() functions areMichael Brown2-2/+0
defined in vsprintf.h. (This may change, since vsprintf.h is a non-standard name, but for now it's the one to use.) There should be no need to include vsprintf.h just for DBG() statements, since include/compiler.h forces it in for a debug build anyway.
2006-09-27added stdio.h to includes for DBG compilationMarty Connor2-0/+3
2006-06-14Generalise three-wire interface to generic SPI interface.Michael Brown1-0/+165
Update rtl8139 driver to instantiate an SPI interface with a three-wire device attached.
2006-06-14Move per-transition delays from generic bit-bashing layer to i2c layerMichael Brown2-8/+15
(since SPI bit-bashing will require different delay semantics).
2006-06-12Change read_bit() to return 0 or -1UL, rather than 0 or 1.Michael Brown2-3/+5
2006-06-11Added bit-bashing i2c interface codeMichael Brown1-0/+313
2006-06-08Added sketch of bit-bashing interface common codeMichael Brown1-0/+55