| 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 |