Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
FMC TDC 1ns 5cha
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
FMC TDC 1ns 5cha
Commits
63646203
Commit
63646203
authored
Jan 25, 2022
by
Adam Wujek
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc: add info about dependencies and how to build them
Signed-off-by:
Adam Wujek
<
dev_public@wujek.eu
>
parent
0903f2ed
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
149 additions
and
6 deletions
+149
-6
driver.rst
doc/software/driver.rst
+149
-6
No files found.
doc/software/driver.rst
View file @
63646203
...
...
@@ -32,7 +32,8 @@ The compile and install the fmctdc1ns5ch device driver you need
first
to
export
the
path
to
its
direct
dependencies
,
and
then
you
execute
``
make
``.
This
driver
depends
on
the
`
zio
`
_
framework
and
`
fmc
`
_
library
;
on
a
VME
system
it
depends
also
on
the
VME
bridge
driver from CERN BE-CEM.
driver
from
CERN
BE
-
CEM
.
Additionally
it
is
assumed
that
location
of
wbgen2
is
available
via
PATH
variable
.
::
...
...
@@ -53,6 +54,153 @@ The building process generates 3 Linux modules:
*
kernel
/
fmc
-
tdc
.
ko
*,
*
kernel
/
fmc
-
tdc
-
spec
.
ko
*,
and
*
kernel
/
fmc
-
tdc
-
svec
.
ko
*.
Building
Dependencies
---------------------
The
TDC
driver
requires
the
following
drivers
to
function
:
*
from
`
spec
`
_
repository
:
*
gn412x
-
fcl
.
ko
*,
*
gn412x
-
gpio
.
ko
*,
*
spec
-
gn412x
-
dma
.
ko
*
and
*
spec
-
fmc
-
carrier
.
ko
*
*
from
`
general
-
cores
`
_
repository
:
*
spi
-
ocores
.
ko
*,
*
i2c
-
ocores
.
ko
*
and
*
htvic
.
ko
*
*
from
`
zio
`
_
repository
:
*
zio
-
buf
-
vmalloc
.
ko
*
and
*
zio
.
ko
*
*
from
`
fmc
`
_
repository
:
*
fmc
.
ko
*
*
drivers
from
the
kernel
tree
:
*
mtd
.
ko
*,
*
at24
.
ko
*,
*
m25p80
.
ko
*,
*
i2c_mux
.
ko
*
and
*
fpga
-
mgr
.
ko
*
(
available
in
kernels
v4
.4
and
newer
,
for
older
kernels
see
FPGA
manager
subsection
)
In
addition
the
following
tools
are
required
to
build
above
drivers
:
*
`
cheby
`
_
*
`
wbgen2
`
_
Please
read
the
following
subsections
for
details
Cheby
-----
Clone
*
cheby
*
repository
:
::
$
git
clone
https
://
gitlab
.
cern
.
ch
/
cohtdrivers
/
cheby
.
git
Install
cheby
:
::
$
cd
cheby
$
python
setup
.
py
install
It
may
be
required
to
install
*
python
-
setuptools
*
or
*
python
-
setuptools
.
noarch
*
package
using
your
Linux
distribution
's software manager.
Wbgen2
------
Clone *wbgen2* repository:
::
$ git clone https://ohwr.org/project/wishbone-gen.git
If needed export the location of *wbgen2* (needed for *fmc-tdc* drivers
compilation):
::
export WBGEN2=/path/to/wishbone-gen/wbgen2
FPGA Manager
------------
If kernel module *fpga-mgr.ko* is not available in the kernel that is used,
probably the backported version is needed.
Clone backported *fpga-manager* repository:
::
$ git clone https://gitlab.cern.ch/coht/fpga-manager.git
Build and install kernel module (*fpga-mgr.ko*):
::
$ cd fpga-manager
$ export LINUX=/path/to/linux/sources
$ make
$ make install
ZIO
---
Clone *zio* repository:
::
$ git clone https://ohwr.org/misc/zio.git
Build and install kernel modules (*zio-buf-vmalloc.ko* and *zio.ko*):
::
$ cd zio
$ export LINUX=/path/to/linux/sources
$ make
$ make install
General cores
-------------
Clone *general-cores* repository:
::
$ git clone https://ohwr.org/project/general-cores.git
Build and install kernel modules (*spi-ocores.ko*, *i2c-ocores.ko*
and *htvic.ko*):
::
$ cd general-cores/software
$ export LINUX=/path/to/linux/sources
$ make
$ make install
Spec
----
Clone *spec* repository:
::
$ git clone https://ohwr.org/project/spec.git
Build and install kernel modules (*gn412x-fcl.ko*, *gn412x-gpio.ko*,
*spec-gn412x-dma.ko* and *spec-fmc-carrier.ko*):
::
$ cd spec/software
$ export CHEBY=/path/to/cheby/bin/cheby
$ export I2C=/path/to/general-cores/software/i2c-ocores
$ export SPI=/path/to/general-cores/software/spi-ocores
$ export FPGA_MGR=/path/to/fpga-manager
$ export FMC=/path/to/fmc-sw
$ export LINUX=/path/to/linux/sources
$ make
$ make install
.. _zio: https://www.ohwr.org/project/zio
.. _fmc: https://www.ohwr.org/project/fmc-sw
.. _`fmc-bus`: http://www.ohwr.org/projects/fmc-bus
.. _`SVEC`: https://www.ohwr.org/projects/svec
.. _`SPEC`: https://www.ohwr.org/projects/spec
.. _`general-cores`: https://ohwr.org/project/general-cores
.. _`fpga-manager`: https://gitlab.cern.ch/coht/fpga-manager
.. _`wbgen2`: https://ohwr.org/project/wishbone-gen
.. _`cheby`: https://gitlab.cern.ch/cohtdrivers/cheby
Top Level Driver
================
...
...
@@ -93,11 +241,6 @@ wr_offset_fix=NUMBER
It overwrites the White-Rabbit calibration offset for calibration
value computed before 2018. By default this is set to 229460 ps.
.. _zio: https://www.ohwr.org/project/zio
.. _fmc: https://www.ohwr.org/project/fmc-sw
.. _`fmc-bus`: http://www.ohwr.org/projects/fmc-bus
.. _`SVEC`: https://www.ohwr.org/projects/svec
.. _`SPEC`: https://www.ohwr.org/projects/spec
Device Abstraction
==================
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment