summaryrefslogtreecommitdiffstats
path: root/drivers/net/macb.h
diff options
context:
space:
mode:
authorOleksij Rempel <o.rempel@pengutronix.de>2019-08-14 12:27:28 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2019-08-16 13:42:13 +0200
commitbefd110b59220e6b3e2157f275c61c7bef10ad5f (patch)
tree0e4481979901081fb8274bb8d445c2335afd4a43 /drivers/net/macb.h
parenta3e62ffc7341254fd754886e560865556bc731c8 (diff)
downloadbarebox-befd110b59220e6b3e2157f275c61c7bef10ad5f.tar.gz
barebox-befd110b59220e6b3e2157f275c61c7bef10ad5f.tar.xz
net: macb: init multiple dummy TX queues
Microchip SAMA5D27 has more then one TX queue. So it will go in to TX timeout if only one was initialized. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Tested-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net/macb.h')
-rw-r--r--drivers/net/macb.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/macb.h b/drivers/net/macb.h
index fda4d08663..2e5b64e5e9 100644
--- a/drivers/net/macb.h
+++ b/drivers/net/macb.h
@@ -5,6 +5,8 @@
#ifndef __DRIVERS_MACB_H__
#define __DRIVERS_MACB_H__
+#define MACB_MAX_QUEUES 8
+
/* MACB register offsets */
#define MACB_NCR 0x0000
#define MACB_NCFGR 0x0004
@@ -75,6 +77,8 @@
#define GEM_TQ1 0x0440
#define GEM_RQ1 0x0480
+#define GEM_TBQP(hw_q) (0x0440 + ((hw_q) << 2))
+
/* Bitfields in NCR */
#define MACB_LB_OFFSET 0
#define MACB_LB_SIZE 1
@@ -436,4 +440,7 @@ struct macb_dma_desc {
#define MACB_TX_USED_OFFSET 31
#define MACB_TX_USED_SIZE 1
+#define gem_writel_queue_TBQP(port, value, queue_num) \
+ writel((value), (port)->regs + GEM_TBQP(queue_num))
+
#endif /* __DRIVERS_MACB_H__ */