1Module Parameters in fmc.ko
2***************************
3
4The core driver receives two module parameters, meant to help debugging
5client modules. Both parameters can be modified by writing to
6/sys/module/fmc/parameters/, because they are used when client drivers
7are devices are registered, not when fmc.ko is loaded.
8
9`dump_eeprom='
10     If not zero, the parameter asks the bus controller to dump the
11     EEPROM of any device that is registered, using printk.
12
13`dump_sdb='
14     If not zero, the parameter prints the SDB tree of every FPGA it is
15     loaded by fmc_reprogram(). If greater than one, it asks to dump
16     the binary content of SDB records.  This currently only dumps the
17     top-level SDB array, though.
18
19
20EEPROM dumping avoids repeating lines, since most of the contents is
21usually empty and all bits are one or zero. This is an example of the
22output:
23
24        [ 6625.850480] spec 0000:02:00.0: FPGA programming successful
25        [ 6626.139949] spec 0000:02:00.0: Manufacturer: CERN
26        [ 6626.144666] spec 0000:02:00.0: Product name: FmcDelay1ns4cha
27        [ 6626.150370] FMC: mezzanine 0: 0000:02:00.0 on SPEC
28        [ 6626.155179] FMC: dumping eeprom 0x2000 (8192) bytes
29        [ 6626.160087] 0000: 01 00 00 01  00 0b 00 f3  01 0a 00 a5  85 87 c4 43
30        [ 6626.167069] 0010: 45 52 4e cf  46 6d 63 44  65 6c 61 79  31 6e 73 34
31        [ 6626.174019] 0020: 63 68 61 c7  70 72 6f 74  6f 2d 30 cc  45 44 41 2d
32        [ 6626.180975] 0030: 30 32 32 36  37 2d 56 33  da 32 30 31  32 2d 31 31
33        [...]
34        [ 6626.371366] 0200: 66 64 65 6c  61 79 0a 00  00 00 00 00  00 00 00 00
35        [ 6626.378359] 0210: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
36        [ 6626.385361] [...]
37        [ 6626.387308] 1800: 70 6c 61 63  65 68 6f 6c  64 65 72 ff  ff ff ff ff
38        [ 6626.394259] 1810: ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff
39        [ 6626.401250] [...]
40
41The dump of SDB looks like the following; the example shows the simple
42golden gateware for the SPEC card, removing the leading timestamps to
43fit the page:
44
45        spec 0000:02:00.0: SDB: 00000651:e6a542c9 WB4-Crossbar-GSI
46        spec 0000:02:00.0: SDB: 0000ce42:ff07fc47 WR-Periph-Syscon (00000000-000000ff)
47        FMC: mezzanine 0: 0000:02:00.0 on SPEC
48        FMC: poor dump of sdb first level:
49        0000: 53 44 42 2d  00 02 01 00  00 00 00 00  00 00 00 00
50        0010: 00 00 00 00  00 00 01 ff  00 00 00 00  00 00 06 51
51        0020: e6 a5 42 c9  00 00 00 02  20 12 05 11  57 42 34 2d
52        0030: 43 72 6f 73  73 62 61 72  2d 47 53 49  20 20 20 00
53        0040: 00 00 01 01  00 00 00 07  00 00 00 00  00 00 00 00
54        0050: 00 00 00 00  00 00 00 ff  00 00 00 00  00 00 ce 42
55        0060: ff 07 fc 47  00 00 00 01  20 12 03 05  57 52 2d 50
56        0070: 65 72 69 70  68 2d 53 79  73 63 6f 6e  20 20 20 01
57