[U-Boot] [PATCH] mvgbe: enable the reception of packets with an odd number of preamble nibbles

Klaus Flittner klaus at flittner.org
Mon Jan 31 20:40:25 CET 2011


With the current hardware initialisation of the driver all packets with
an odd number of preamble nibbles are dropped. Some switches seem to
send all packets with such an preamble.

According to the functional specifications of the marvell 88F6180,
6190, 6192 and 6281 the reception of such packets can be enabled by
setting bit 22 in register PSC1.

Signed-off-by: Klaus Flittner <klaus at flittner.org>
---
 drivers/net/mvgbe.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c
index c701f43..f1081a2 100644
--- a/drivers/net/mvgbe.c
+++ b/drivers/net/mvgbe.c
@@ -446,6 +446,9 @@ static int mvgbe_init(struct eth_device *dev)
        MVGBE_REG_WR(regs->psc0, MVGBE_MAX_RX_PACKET_9700BYTE
                        | (MVGBE_REG_RD(regs->psc0) & MRU_MASK));

+       /* Receive packets with odd number of preamble nibbles */
+       MVGBE_REG_BITS_SET(regs->psc1, 1 << 22);
+
        /* Enable port initially */
        MVGBE_REG_BITS_SET(regs->psc0, MVGBE_SERIAL_PORT_EN);



More information about the U-Boot mailing list