aboutsummaryrefslogtreecommitdiffstats
path: root/include/soc
diff options
context:
space:
mode:
authorZhao Qiang <qiang.zhao@nxp.com>2016-06-06 02:30:02 -0400
committerDavid S. Miller <davem@davemloft.net>2016-06-07 18:56:31 -0400
commitc19b6d246a35627c3a69b2fa6bdece212b48214b (patch)
treec7f5748156aed7f2f2c0eb0e33eab1f7ef23e172 /include/soc
parent35ef1c20fdb26779b6c3c4fd74bbdd5028e70005 (diff)
drivers/net: support hdlc function for QE-UCC
The driver add hdlc support for Freescale QUICC Engine. It support NMSI and TSA mode. Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/soc')
-rw-r--r--include/soc/fsl/qe/qe.h1
-rw-r--r--include/soc/fsl/qe/ucc_fast.h22
2 files changed, 21 insertions, 2 deletions
diff --git a/include/soc/fsl/qe/qe.h b/include/soc/fsl/qe/qe.h
index c3b1dc8a21a7..70339d7958c0 100644
--- a/include/soc/fsl/qe/qe.h
+++ b/include/soc/fsl/qe/qe.h
@@ -657,6 +657,7 @@ struct ucc_slow_pram {
657#define UCC_SLOW_GUMR_L_MODE_QMC 0x00000002 657#define UCC_SLOW_GUMR_L_MODE_QMC 0x00000002
658 658
659/* General UCC FAST Mode Register */ 659/* General UCC FAST Mode Register */
660#define UCC_FAST_GUMR_LOOPBACK 0x40000000
660#define UCC_FAST_GUMR_TCI 0x20000000 661#define UCC_FAST_GUMR_TCI 0x20000000
661#define UCC_FAST_GUMR_TRX 0x10000000 662#define UCC_FAST_GUMR_TRX 0x10000000
662#define UCC_FAST_GUMR_TTX 0x08000000 663#define UCC_FAST_GUMR_TTX 0x08000000
diff --git a/include/soc/fsl/qe/ucc_fast.h b/include/soc/fsl/qe/ucc_fast.h
index e898895223f9..3ee9e7c1a7d7 100644
--- a/include/soc/fsl/qe/ucc_fast.h
+++ b/include/soc/fsl/qe/ucc_fast.h
@@ -21,19 +21,37 @@
21 21
22#include <soc/fsl/qe/ucc.h> 22#include <soc/fsl/qe/ucc.h>
23 23
24/* Receive BD's status */ 24/* Receive BD's status and length*/
25#define R_E 0x80000000 /* buffer empty */ 25#define R_E 0x80000000 /* buffer empty */
26#define R_W 0x20000000 /* wrap bit */ 26#define R_W 0x20000000 /* wrap bit */
27#define R_I 0x10000000 /* interrupt on reception */ 27#define R_I 0x10000000 /* interrupt on reception */
28#define R_L 0x08000000 /* last */ 28#define R_L 0x08000000 /* last */
29#define R_F 0x04000000 /* first */ 29#define R_F 0x04000000 /* first */
30 30
31/* transmit BD's status */ 31/* transmit BD's status and length*/
32#define T_R 0x80000000 /* ready bit */ 32#define T_R 0x80000000 /* ready bit */
33#define T_W 0x20000000 /* wrap bit */ 33#define T_W 0x20000000 /* wrap bit */
34#define T_I 0x10000000 /* interrupt on completion */ 34#define T_I 0x10000000 /* interrupt on completion */
35#define T_L 0x08000000 /* last */ 35#define T_L 0x08000000 /* last */
36 36
37/* Receive BD's status */
38#define R_E_S 0x8000 /* buffer empty */
39#define R_W_S 0x2000 /* wrap bit */
40#define R_I_S 0x1000 /* interrupt on reception */
41#define R_L_S 0x0800 /* last */
42#define R_F_S 0x0400 /* first */
43#define R_CM_S 0x0200 /* continuous mode */
44#define R_CR_S 0x0004 /* crc */
45#define R_OV_S 0x0002 /* crc */
46
47/* transmit BD's status */
48#define T_R_S 0x8000 /* ready bit */
49#define T_W_S 0x2000 /* wrap bit */
50#define T_I_S 0x1000 /* interrupt on completion */
51#define T_L_S 0x0800 /* last */
52#define T_TC_S 0x0400 /* crc */
53#define T_TM_S 0x0200 /* continuous mode */
54
37/* Rx Data buffer must be 4 bytes aligned in most cases */ 55/* Rx Data buffer must be 4 bytes aligned in most cases */
38#define UCC_FAST_RX_ALIGN 4 56#define UCC_FAST_RX_ALIGN 4
39#define UCC_FAST_MRBLR_ALIGNMENT 4 57#define UCC_FAST_MRBLR_ALIGNMENT 4