224224
225225/* RSCFDnCFDRFPTRx */
226226#define RCANFD_RFPTR_RFDLC (x ) (((x) >> 28) & 0xf)
227- #define RCANFD_RFPTR_RFPTR (x ) (((x) >> 16) & 0xfff)
228- #define RCANFD_RFPTR_RFTS (x ) (((x) >> 0) & 0xffff)
229227
230228/* RSCFDnCFDRFFDSTSx */
231229#define RCANFD_RFFDSTS_RFFDF BIT(2)
257255/* RSCFDnCFDCFIDk */
258256#define RCANFD_CFID_CFIDE BIT(31)
259257#define RCANFD_CFID_CFRTR BIT(30)
260- #define RCANFD_CFID_CFID_MASK (x ) ((x) & 0x1fffffff)
261258
262259/* RSCFDnCFDCFPTRk */
263260#define RCANFD_CFPTR_CFDLC (x ) (((x) & 0xf) << 28)
264- #define RCANFD_CFPTR_CFPTR (x ) (((x) & 0xfff) << 16)
265- #define RCANFD_CFPTR_CFTS (x ) (((x) & 0xff) << 0)
266261
267262/* RSCFDnCFDCFFDCSTSk */
268263#define RCANFD_CFFDCSTS_CFFDF BIT(2)
328323#define RCANFD_CFPCTR (gpriv , ch , idx ) \
329324 ((gpriv)->info->regs->cfpctr + (0x0c * (ch)) + (0x04 * (idx)))
330325
331- /* RSCFDnCFDFESTS / RSCFDnFESTS */
332- #define RCANFD_FESTS (0x0238)
333- /* RSCFDnCFDFFSTS / RSCFDnFFSTS */
334- #define RCANFD_FFSTS (0x023c)
335- /* RSCFDnCFDFMSTS / RSCFDnFMSTS */
336- #define RCANFD_FMSTS (0x0240)
337- /* RSCFDnCFDRFISTS / RSCFDnRFISTS */
338- #define RCANFD_RFISTS (0x0244)
339- /* RSCFDnCFDCFRISTS / RSCFDnCFRISTS */
340- #define RCANFD_CFRISTS (0x0248)
341- /* RSCFDnCFDCFTISTS / RSCFDnCFTISTS */
342- #define RCANFD_CFTISTS (0x024c)
343-
344- /* RSCFDnCFDTMCp / RSCFDnTMCp */
345- #define RCANFD_TMC (p ) (0x0250 + (0x01 * (p)))
346- /* RSCFDnCFDTMSTSp / RSCFDnTMSTSp */
347- #define RCANFD_TMSTS (p ) (0x02d0 + (0x01 * (p)))
348-
349- /* RSCFDnCFDTMTRSTSp / RSCFDnTMTRSTSp */
350- #define RCANFD_TMTRSTS (y ) (0x0350 + (0x04 * (y)))
351- /* RSCFDnCFDTMTARSTSp / RSCFDnTMTARSTSp */
352- #define RCANFD_TMTARSTS (y ) (0x0360 + (0x04 * (y)))
353- /* RSCFDnCFDTMTCSTSp / RSCFDnTMTCSTSp */
354- #define RCANFD_TMTCSTS (y ) (0x0370 + (0x04 * (y)))
355- /* RSCFDnCFDTMTASTSp / RSCFDnTMTASTSp */
356- #define RCANFD_TMTASTS (y ) (0x0380 + (0x04 * (y)))
357- /* RSCFDnCFDTMIECy / RSCFDnTMIECy */
358- #define RCANFD_TMIEC (y ) (0x0390 + (0x04 * (y)))
359-
360- /* RSCFDnCFDTXQCCm / RSCFDnTXQCCm */
361- #define RCANFD_TXQCC (m ) (0x03a0 + (0x04 * (m)))
362- /* RSCFDnCFDTXQSTSm / RSCFDnTXQSTSm */
363- #define RCANFD_TXQSTS (m ) (0x03c0 + (0x04 * (m)))
364- /* RSCFDnCFDTXQPCTRm / RSCFDnTXQPCTRm */
365- #define RCANFD_TXQPCTR (m ) (0x03e0 + (0x04 * (m)))
366-
367- /* RSCFDnCFDTHLCCm / RSCFDnTHLCCm */
368- #define RCANFD_THLCC (m ) (0x0400 + (0x04 * (m)))
369- /* RSCFDnCFDTHLSTSm / RSCFDnTHLSTSm */
370- #define RCANFD_THLSTS (m ) (0x0420 + (0x04 * (m)))
371- /* RSCFDnCFDTHLPCTRm / RSCFDnTHLPCTRm */
372- #define RCANFD_THLPCTR (m ) (0x0440 + (0x04 * (m)))
373-
374- /* RSCFDnCFDGTINTSTS0 / RSCFDnGTINTSTS0 */
375- #define RCANFD_GTINTSTS0 (0x0460)
376- /* RSCFDnCFDGTINTSTS1 / RSCFDnGTINTSTS1 */
377- #define RCANFD_GTINTSTS1 (0x0464)
378- /* RSCFDnCFDGTSTCFG / RSCFDnGTSTCFG */
379- #define RCANFD_GTSTCFG (0x0468)
380- /* RSCFDnCFDGTSTCTR / RSCFDnGTSTCTR */
381- #define RCANFD_GTSTCTR (0x046c)
382- /* RSCFDnCFDGLOCKK / RSCFDnGLOCKK */
383- #define RCANFD_GLOCKK (0x047c)
384326/* RSCFDnCFDGRMCFG */
385327#define RCANFD_GRMCFG (0x04fc)
386328
398340/* RSCFDnGAFLXXXj offset */
399341#define RCANFD_C_GAFL_OFFSET (0x0500)
400342
401- /* RSCFDnRMXXXq -> RCANFD_C_RMXXX(q) */
402- #define RCANFD_C_RMID (q ) (0x0600 + (0x10 * (q)))
403- #define RCANFD_C_RMPTR (q ) (0x0604 + (0x10 * (q)))
404- #define RCANFD_C_RMDF0 (q ) (0x0608 + (0x10 * (q)))
405- #define RCANFD_C_RMDF1 (q ) (0x060c + (0x10 * (q)))
406-
407343/* RSCFDnRFXXx -> RCANFD_C_RFXX(x) */
408344#define RCANFD_C_RFOFFSET (0x0e00)
409345#define RCANFD_C_RFID (x ) (RCANFD_C_RFOFFSET + (0x10 * (x)))
423359#define RCANFD_C_CFDF (ch , idx , df ) \
424360 (RCANFD_C_CFOFFSET + 0x08 + (0x30 * (ch)) + (0x10 * (idx)) + (0x04 * (df)))
425361
426- /* RSCFDnTMXXp -> RCANFD_C_TMXX(p) */
427- #define RCANFD_C_TMID (p ) (0x1000 + (0x10 * (p)))
428- #define RCANFD_C_TMPTR (p ) (0x1004 + (0x10 * (p)))
429- #define RCANFD_C_TMDF0 (p ) (0x1008 + (0x10 * (p)))
430- #define RCANFD_C_TMDF1 (p ) (0x100c + (0x10 * (p)))
431-
432- /* RSCFDnTHLACCm */
433- #define RCANFD_C_THLACC (m ) (0x1800 + (0x04 * (m)))
434- /* RSCFDnRPGACCr */
435- #define RCANFD_C_RPGACC (r ) (0x1900 + (0x04 * (r)))
436-
437362/* R-Car Gen4 Classical and CAN FD mode specific register map */
438363#define RCANFD_GEN4_GAFL_OFFSET (0x1800)
439364
@@ -452,12 +377,6 @@ struct rcar_canfd_f_c {
452377/* RSCFDnCFDGAFLXXXj offset */
453378#define RCANFD_F_GAFL_OFFSET (0x1000)
454379
455- /* RSCFDnCFDRMXXXq -> RCANFD_F_RMXXX(q) */
456- #define RCANFD_F_RMID (q ) (0x2000 + (0x20 * (q)))
457- #define RCANFD_F_RMPTR (q ) (0x2004 + (0x20 * (q)))
458- #define RCANFD_F_RMFDSTS (q ) (0x2008 + (0x20 * (q)))
459- #define RCANFD_F_RMDF (q , b ) (0x200c + (0x04 * (b)) + (0x20 * (q)))
460-
461380/* RSCFDnCFDRFXXx -> RCANFD_F_RFXX(x) */
462381#define RCANFD_F_RFOFFSET (gpriv ) ((gpriv)->info->regs->rfoffset)
463382#define RCANFD_F_RFID (gpriv , x ) (RCANFD_F_RFOFFSET(gpriv) + (0x80 * (x)))
@@ -482,23 +401,11 @@ struct rcar_canfd_f_c {
482401 (RCANFD_F_CFOFFSET(gpriv) + 0x0c + (0x180 * (ch)) + (0x80 * (idx)) + \
483402 (0x04 * (df)))
484403
485- /* RSCFDnCFDTMXXp -> RCANFD_F_TMXX(p) */
486- #define RCANFD_F_TMID (p ) (0x4000 + (0x20 * (p)))
487- #define RCANFD_F_TMPTR (p ) (0x4004 + (0x20 * (p)))
488- #define RCANFD_F_TMFDCTR (p ) (0x4008 + (0x20 * (p)))
489- #define RCANFD_F_TMDF (p , b ) (0x400c + (0x20 * (p)) + (0x04 * (b)))
490-
491- /* RSCFDnCFDTHLACCm */
492- #define RCANFD_F_THLACC (m ) (0x6000 + (0x04 * (m)))
493- /* RSCFDnCFDRPGACCr */
494- #define RCANFD_F_RPGACC (r ) (0x6400 + (0x04 * (r)))
495-
496404/* Constants */
497405#define RCANFD_FIFO_DEPTH 8 /* Tx FIFO depth */
498406#define RCANFD_NAPI_WEIGHT 8 /* Rx poll quota */
499407
500408#define RCANFD_NUM_CHANNELS 8 /* Eight channels max */
501- #define RCANFD_CHANNELS_MASK BIT((RCANFD_NUM_CHANNELS) - 1)
502409
503410#define RCANFD_GAFL_PAGENUM (entry ) ((entry) / 16)
504411#define RCANFD_CHANNEL_NUMRULES 1 /* only one rule per channel */
0 commit comments