swh:1:snp:173f8deb0c56c557784b4fd217e7608ac6197844
Raw File
Tip revision: 07d9a380680d1c0eb51ef87ff2eab5c994949e69 authored by Linus Torvalds on 24 October 2016, 00:10:14 UTC
Linux 4.9-rc2
Tip revision: 07d9a38
parameters.txt
Module Parameters in fmc.ko
***************************

The core driver receives two module parameters, meant to help debugging
client modules. Both parameters can be modified by writing to
/sys/module/fmc/parameters/, because they are used when client drivers
are devices are registered, not when fmc.ko is loaded.

`dump_eeprom='
     If not zero, the parameter asks the bus controller to dump the
     EEPROM of any device that is registered, using printk.

`dump_sdb='
     If not zero, the parameter prints the SDB tree of every FPGA it is
     loaded by fmc_reprogram(). If greater than one, it asks to dump
     the binary content of SDB records.  This currently only dumps the
     top-level SDB array, though.


EEPROM dumping avoids repeating lines, since most of the contents is
usually empty and all bits are one or zero. This is an example of the
output:

        [ 6625.850480] spec 0000:02:00.0: FPGA programming successful
        [ 6626.139949] spec 0000:02:00.0: Manufacturer: CERN
        [ 6626.144666] spec 0000:02:00.0: Product name: FmcDelay1ns4cha
        [ 6626.150370] FMC: mezzanine 0: 0000:02:00.0 on SPEC
        [ 6626.155179] FMC: dumping eeprom 0x2000 (8192) bytes
        [ 6626.160087] 0000: 01 00 00 01  00 0b 00 f3  01 0a 00 a5  85 87 c4 43
        [ 6626.167069] 0010: 45 52 4e cf  46 6d 63 44  65 6c 61 79  31 6e 73 34
        [ 6626.174019] 0020: 63 68 61 c7  70 72 6f 74  6f 2d 30 cc  45 44 41 2d
        [ 6626.180975] 0030: 30 32 32 36  37 2d 56 33  da 32 30 31  32 2d 31 31
        [...]
        [ 6626.371366] 0200: 66 64 65 6c  61 79 0a 00  00 00 00 00  00 00 00 00
        [ 6626.378359] 0210: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
        [ 6626.385361] [...]
        [ 6626.387308] 1800: 70 6c 61 63  65 68 6f 6c  64 65 72 ff  ff ff ff ff
        [ 6626.394259] 1810: ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff
        [ 6626.401250] [...]

The dump of SDB looks like the following; the example shows the simple
golden gateware for the SPEC card, removing the leading timestamps to
fit the page:

        spec 0000:02:00.0: SDB: 00000651:e6a542c9 WB4-Crossbar-GSI
        spec 0000:02:00.0: SDB: 0000ce42:ff07fc47 WR-Periph-Syscon (00000000-000000ff)
        FMC: mezzanine 0: 0000:02:00.0 on SPEC
        FMC: poor dump of sdb first level:
        0000: 53 44 42 2d  00 02 01 00  00 00 00 00  00 00 00 00
        0010: 00 00 00 00  00 00 01 ff  00 00 00 00  00 00 06 51
        0020: e6 a5 42 c9  00 00 00 02  20 12 05 11  57 42 34 2d
        0030: 43 72 6f 73  73 62 61 72  2d 47 53 49  20 20 20 00
        0040: 00 00 01 01  00 00 00 07  00 00 00 00  00 00 00 00
        0050: 00 00 00 00  00 00 00 ff  00 00 00 00  00 00 ce 42
        0060: ff 07 fc 47  00 00 00 01  20 12 03 05  57 52 2d 50
        0070: 65 72 69 70  68 2d 53 79  73 63 6f 6e  20 20 20 01
back to top