Commit 9741856f authored by Alessandro Rubini's avatar Alessandro Rubini

doc: document firmware comes from fmc/ (and submodule too)

Conflicts:

	doc/spec-sw.in
parent b5701917
...@@ -159,27 +159,35 @@ at the default address (0x80000). IF you you pass a different value ...@@ -159,27 +159,35 @@ at the default address (0x80000). IF you you pass a different value
than 1, it will be used as the load address (for example: than 1, it will be used as the load address (for example:
``@code{insmod lm32=0xc0000}''). ``@code{insmod lm32=0xc0000}'').
@b{Note:} all three files are looked-for in @i{/lib/firmware/fmc},
because our own installations share firmware for COTS peripherals
but mount a host-specific NFS subdirectory. This is incompatible
with previous versions of this package, but the error message should
be clear enough for our users to sort the problem out. (Actually, I
tried to add a backward-compatible second choice, but it would have
messed up the code quite a lot).
The three files being looked for are named like this, assuming here The three files being looked for are named like this, assuming here
the card is seen under PCIe bus number 2: the card is seen under PCIe bus number 2:
@table @code @table @code
@item spec-B0002.bin @item fmc/spec-B0002.bin
This is the name of the @i{gateware} file, which is looked-for This is the name of the @i{gateware} file, which is looked-for
in @code{/lib/firmware} by the @i{hotplug} or @i{udev} program. in @code{/lib/firmware} by the @i{hotplug} or @i{udev} program.
@item spec-B0002-cpu.bin @item fmc/spec-B0002-cpu.bin
This is the program code for the embedded CPU. Again, it must This is the program code for the embedded CPU. Again, it must
live in @code{/lib/firmware} live in @code{/lib/firmware}.
@item spec-B0002.ko @item fmc/spec-B0002.ko
The kernel sub-module. It is loaded using @i{modprobe}, so The kernel sub-module. It is loaded using @i{modprobe}, so
it should live in the same place where @code{spec.ko} is found. it should live in the same place where @code{spec.ko} is found.
Also, please run ``@code{depmod -a}'' after copying or renaming Also, please run ``@code{depmod -a}'' after copying or renaming
the file the file.
@end table @end table
......
...@@ -50,7 +50,7 @@ static int spec_build_names(struct spec_dev *dev) ...@@ -50,7 +50,7 @@ static int spec_build_names(struct spec_dev *dev)
static char *templates[] = { static char *templates[] = {
[SPEC_NAME_FW] = "fmc/spec-%s.bin", [SPEC_NAME_FW] = "fmc/spec-%s.bin",
[SPEC_NAME_PROG] = "fmc/spec-%s-cpu.bin", /* will be .elf */ [SPEC_NAME_PROG] = "fmc/spec-%s-cpu.bin", /* will be .elf */
[SPEC_NAME_SUBMOD] = "spec-%s", /* .ko added by modprobe */ [SPEC_NAME_SUBMOD] = "fmc/spec-%s", /* .ko added by modprobe */
}; };
for (si = spec_name, so = basename; *si ; si++) { for (si = spec_name, so = basename; *si ; si++) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment