forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This fake carrier is designed to help FMC users understand how a carrier driver works, and to experiment the behaviour with EEPROM reprogramming (with a mezzanine driver commited later). This carrier can register up to 4 (fake) mezzanines. We have real carriers (both on PCI-E and VME), but they are bigger things and are not part of this submission. Signed-off-by: Alessandro Rubini <[email protected]> Acked-by: Juan David Gonzalez Cobas <[email protected]> Acked-by: Emilio G. Cota <[email protected]> Acked-by: Samuel Iglesias Gonsalvez <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
- Loading branch information
Showing
5 changed files
with
407 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
fmc-fakedev | ||
=========== | ||
|
||
This package includes a software-only device, called fmc-fakedev, which | ||
is able to register up to 4 mezzanines (by default it registers one). | ||
Unlike the SPEC driver, which creates an FMC device for each PCI cards | ||
it manages, this module creates a single instance of its set of | ||
mezzanines. | ||
|
||
It is meant as the simplest possible example of how a driver should be | ||
written, and it includes a fake EEPROM image (built using the tools | ||
described in *note FMC Identification::),, which by default is | ||
replicated for each fake mezzanine. | ||
|
||
You can also use this device to verify the match algorithms, by asking | ||
it to test your own EEPROM image. You can provide the image by means of | ||
the eeprom= module parameter: the new EEPROM image is loaded, as usual, | ||
by means of the firmware loader. This example shows the defaults and a | ||
custom EEPROM image: | ||
|
||
spusa.root# insmod fmc-fakedev.ko | ||
[ 99.971247] fake-fmc-carrier: mezzanine 0 | ||
[ 99.975393] Manufacturer: fake-vendor | ||
[ 99.979624] Product name: fake-design-for-testing | ||
spusa.root# rmmod fmc-fakedev | ||
spusa.root# insmod fmc-fakedev.ko eeprom=fdelay-eeprom.bin | ||
[ 121.447464] fake-fmc-carrier: Mezzanine 0: eeprom "fdelay-eeprom.bin" | ||
[ 121.462725] fake-fmc-carrier: mezzanine 0 | ||
[ 121.466858] Manufacturer: CERN | ||
[ 121.470477] Product name: FmcDelay1ns4cha | ||
spusa.root# rmmod fmc-fakedev | ||
|
||
After loading the device, you can use the write_ee method do modify its | ||
own internal fake EEPROM: whenever the image is overwritten starting at | ||
offset 0, the module will unregister and register again the FMC device. | ||
This is shown in fmc-write-eeprom.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.