summaryrefslogtreecommitdiffstats
path: root/src/drivers/bitbash
Commit message (Collapse)AuthorAgeFilesLines
* [mii] Add bit-bashing interfaceSylvie Barlow2018-04-201-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>
* [legal] Relicense files under GPL2_OR_LATER_OR_UBDLMichael Brown2015-03-023-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>
* [bitbash] Add optional open() and close() methods for bit-bashing interfacesMichael Brown2012-08-242-1/+16
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [legal] Update FSF mailing address in GPL licence textsMichael Brown2012-07-203-3/+6
| | | | | Suggested-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [spi] Reset device on each accessMichael Brown2011-03-041-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>
* [build] Rename gPXE to iPXEMichael Brown2010-04-203-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>
* [spi] Add address-length autodetection to the SPI bit-bashing codeMichael Brown2009-05-281-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>
* [legal] Add a selection of FILE_LICENCE declarationsMichael Brown2009-05-183-0/+6
| | | | | Add FILE_LICENCE declarations to almost all files that make up the various standard builds of gPXE.
* [i2c] Generalise i2c bit-bashing support to addressless devicesMichael Brown2008-10-011-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.
* Modify gPXE core and drivers to work with the new timer subsystemAlexey Zaytsev2008-03-023-3/+2Star
| | | | Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
* Ensure clock line is in the idle state before asserting chip select.Michael Brown2007-07-281-0/+4
|
* Support cards such as natsemi which treat the data as little-endianMichael Brown2007-07-011-17/+24
| | | | | (i.e. LSB transmitted first on the wire), even though SPI commands and addresses always have to be big-endian.
* Abstracted out part of the concept of an SPI device to a generalised NVSMichael Brown2006-12-041-5/+4Star
| | | | | | | device. Separated the mechanisms of non-volatile storage access and non-volatile stored options.
* Changed length parameter in SPI methods to be a byte length, rather thanMichael Brown2006-12-041-5/+3Star
| | | | a word length.
* Generalised the SPI abstraction layer to also be able to handle interfacesMichael Brown2006-12-043-55/+78
| | | | | | that don't provide the full flexibility of a bit-bashing interface. Temporarily hacked rtl8139.c to use the new interface.
* We don't actually have a stdio.h header file. Our printf() functions areMichael Brown2006-09-272-2/+0Star
| | | | | | | | 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.
* added stdio.h to includes for DBG compilationMarty Connor2006-09-272-0/+3
|
* Generalise three-wire interface to generic SPI interface.Michael Brown2006-06-141-0/+165
| | | | | Update rtl8139 driver to instantiate an SPI interface with a three-wire device attached.
* Move per-transition delays from generic bit-bashing layer to i2c layerMichael Brown2006-06-142-8/+15
| | | | (since SPI bit-bashing will require different delay semantics).
* Change read_bit() to return 0 or -1UL, rather than 0 or 1.Michael Brown2006-06-122-3/+5
|
* Added bit-bashing i2c interface codeMichael Brown2006-06-111-0/+313
|
* Added sketch of bit-bashing interface common codeMichael Brown2006-06-081-0/+55