blob: 12042ff136013a74be3368ec1f275faad8631722 [file] [log] [blame]
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001/*
Robin Getz96f10502009-09-24 14:11:24 +00002 * Copyright 2008-2009 Analog Devices Inc.
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08003 *
Sonic Zhangde450832012-05-17 14:45:27 +08004 * Licensed under the Clear BSD license or the GPL-2 (or later)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08005 */
6
7#ifndef _DEF_BF518_H
8#define _DEF_BF518_H
9
Mike Frysinger31ad0e272009-11-17 06:15:01 +000010/* BF518 is BF516 + IEEE-1588 */
11#include "defBF516.h"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080012
13/* PTP TSYNC Registers */
14
15#define EMAC_PTP_CTL 0xFFC030A0 /* PTP Block Control */
16#define EMAC_PTP_IE 0xFFC030A4 /* PTP Block Interrupt Enable */
17#define EMAC_PTP_ISTAT 0xFFC030A8 /* PTP Block Interrupt Status */
18#define EMAC_PTP_FOFF 0xFFC030AC /* PTP Filter offset Register */
19#define EMAC_PTP_FV1 0xFFC030B0 /* PTP Filter Value Register 1 */
20#define EMAC_PTP_FV2 0xFFC030B4 /* PTP Filter Value Register 2 */
21#define EMAC_PTP_FV3 0xFFC030B8 /* PTP Filter Value Register 3 */
22#define EMAC_PTP_ADDEND 0xFFC030BC /* PTP Addend for Frequency Compensation */
23#define EMAC_PTP_ACCR 0xFFC030C0 /* PTP Accumulator for Frequency Compensation */
24#define EMAC_PTP_OFFSET 0xFFC030C4 /* PTP Time Offset Register */
25#define EMAC_PTP_TIMELO 0xFFC030C8 /* PTP Precision Clock Time Low */
26#define EMAC_PTP_TIMEHI 0xFFC030CC /* PTP Precision Clock Time High */
27#define EMAC_PTP_RXSNAPLO 0xFFC030D0 /* PTP Receive Snapshot Register Low */
28#define EMAC_PTP_RXSNAPHI 0xFFC030D4 /* PTP Receive Snapshot Register High */
29#define EMAC_PTP_TXSNAPLO 0xFFC030D8 /* PTP Transmit Snapshot Register Low */
30#define EMAC_PTP_TXSNAPHI 0xFFC030DC /* PTP Transmit Snapshot Register High */
31#define EMAC_PTP_ALARMLO 0xFFC030E0 /* PTP Alarm time Low */
32#define EMAC_PTP_ALARMHI 0xFFC030E4 /* PTP Alarm time High */
33#define EMAC_PTP_ID_OFF 0xFFC030E8 /* PTP Capture ID offset register */
34#define EMAC_PTP_ID_SNAP 0xFFC030EC /* PTP Capture ID register */
35#define EMAC_PTP_PPS_STARTLO 0xFFC030F0 /* PPS Start Time Low */
36#define EMAC_PTP_PPS_STARTHI 0xFFC030F4 /* PPS Start Time High */
37#define EMAC_PTP_PPS_PERIOD 0xFFC030F8 /* PPS Count Register */
38
Barry Song6206f702009-09-17 07:50:23 +000039/* Bit masks for EMAC_PTP_CTL */
40
41#define PTP_EN 0x1 /* Enable the PTP_TSYNC module */
42#define TL 0x2 /* Timestamp lock control */
43#define ASEN 0x10 /* Auxiliary snapshot control */
44#define PPSEN 0x80 /* Pulse-per-second (PPS) control */
45#define CKOEN 0x2000 /* Clock output control */
46
47/* Bit masks for EMAC_PTP_IE */
48
49#define ALIE 0x1 /* Alarm interrupt enable */
50#define RXEIE 0x2 /* Receive event interrupt enable */
51#define RXGIE 0x4 /* Receive general interrupt enable */
52#define TXIE 0x8 /* Transmit interrupt enable */
53#define RXOVE 0x10 /* Receive overrun error interrupt enable */
54#define TXOVE 0x20 /* Transmit overrun error interrupt enable */
55#define ASIE 0x40 /* Auxiliary snapshot interrupt enable */
56
57/* Bit masks for EMAC_PTP_ISTAT */
58
59#define ALS 0x1 /* Alarm status */
60#define RXEL 0x2 /* Receive event interrupt status */
61#define RXGL 0x4 /* Receive general interrupt status */
62#define TXTL 0x8 /* Transmit snapshot status */
63#define RXOV 0x10 /* Receive snapshot overrun status */
64#define TXOV 0x20 /* Transmit snapshot overrun status */
65#define ASL 0x40 /* Auxiliary snapshot interrupt status */
66
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080067#endif /* _DEF_BF518_H */