831858ad9d
imx_fec: Reserve full FSL_IMX25_FEC_SIZE page for the register file
...
Some i.MX SoCs (e.g. i.MX7) have FEC registers going as far as offset
0x614, so to avoid getting aborts when accessing those on QEMU, extend
the register file to cover FSL_IMX25_FEC_SIZE(16K) of address space
instead of just 1K.
Cc: Peter Maydell <peter.maydell@linaro.org >
Cc: Jason Wang <jasowang@redhat.com >
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Cc: yurovsky@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-01-11 13:25:38 +00:00
f93f961c40
imx_fec: Add support for multiple Tx DMA rings
...
More recent version of the IP block support more than one Tx DMA ring,
so add the code implementing that feature.
Cc: Peter Maydell <peter.maydell@linaro.org >
Cc: Jason Wang <jasowang@redhat.com >
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Cc: yurovsky@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-01-11 13:25:37 +00:00
ebdd8cddb9
imx_fec: Emulate SHIFT16 in ENETx_RACC
...
Needed to support latest Linux kernel driver which relies on that
functionality.
Cc: Peter Maydell <peter.maydell@linaro.org >
Cc: Jason Wang <jasowang@redhat.com >
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Cc: yurovsky@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-01-11 13:25:37 +00:00
ff9a7feeab
imx_fec: Use ENET_FTRL to determine truncation length
...
Frame truncation length, TRUNC_FL, is determined by the contents of
ENET_FTRL register, so convert the code to use it instead of a
hardcoded constant.
To avoid the case where TRUNC_FL is greater that ENET_MAX_FRAME_SIZE,
increase the value of the latter to its theoretical maximum of 16K.
Cc: Peter Maydell <peter.maydell@linaro.org >
Cc: Jason Wang <jasowang@redhat.com >
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Cc: yurovsky@gmail.com
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-01-11 13:25:36 +00:00
7bac20dc51
imx_fec: Move Tx frame buffer away from the stack
...
Make Tx frame assembly buffer to be a paort of IMXFECState structure
to avoid a concern about having large data buffer on the stack.
Cc: Peter Maydell <peter.maydell@linaro.org >
Cc: Jason Wang <jasowang@redhat.com >
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Cc: yurovsky@gmail.com
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-01-11 13:25:35 +00:00
a699b410d7
Add ENET/Gbps Ethernet support to FEC device
...
The ENET device (present in i.MX6) is "derived" from FEC and backward
compatible with it.
This patch adds the necessary support of the added feature in the ENET
device to allow Linux to use it (on supported processors).
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net >
Signed-off-by: Jason Wang <jasowang@redhat.com >
2016-06-02 10:42:46 +08:00
db0de35268
i.MX: move FEC device to a register array structure.
...
This is to prepare for the ENET Gb device of the i.MX6.
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net >
Signed-off-by: Jason Wang <jasowang@redhat.com >
2016-06-02 10:42:46 +08:00
1bb3c37182
i.MX: Rename i.MX FEC defines to ENET_XXX
...
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net >
Signed-off-by: Jason Wang <jasowang@redhat.com >
2016-06-02 10:42:46 +08:00
fcbd8018e6
i.MX: Add FEC Ethernet Emulator
...
This is based on mcf_fec.c FEC implementation for Coldfire
* A generic PHY was added (borrowwed from LAN9118)
* The buffer management is also modified as buffers are
slightly different between Coldfire and i.MX
Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net >
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com >
Message-id: fb314f8a120aa49f8f6ad886f312c649b484fb5a.1441057361.git.jcd@tribudubois.net
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2015-09-07 10:39:30 +01:00