1/****************************************************************************** 2 PTP Header file 3 4 Copyright (C) 2013 Vayavya Labs Pvt Ltd 5 6 This program is free software; you can redistribute it and/or modify it 7 under the terms and conditions of the GNU General Public License, 8 version 2, as published by the Free Software Foundation. 9 10 This program is distributed in the hope it will be useful, but WITHOUT 11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 more details. 14 15 You should have received a copy of the GNU General Public License along with 16 this program; if not, write to the Free Software Foundation, Inc., 17 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 18 19 The full GNU General Public License is included in this distribution in 20 the file called "COPYING". 21 22 Author: Rayagond Kokatanur <rayagond@vayavyalabs.com> 23******************************************************************************/ 24 25#ifndef __STMMAC_PTP_H__ 26#define __STMMAC_PTP_H__ 27 28/* IEEE 1588 PTP register offsets */ 29#define PTP_TCR 0x0700 /* Timestamp Control Reg */ 30#define PTP_SSIR 0x0704 /* Sub-Second Increment Reg */ 31#define PTP_STSR 0x0708 /* System Time ��� Seconds Regr */ 32#define PTP_STNSR 0x070C /* System Time ��� Nanoseconds Reg */ 33#define PTP_STSUR 0x0710 /* System Time ��� Seconds Update Reg */ 34#define PTP_STNSUR 0x0714 /* System Time ��� Nanoseconds Update Reg */ 35#define PTP_TAR 0x0718 /* Timestamp Addend Reg */ 36#define PTP_TTSR 0x071C /* Target Time Seconds Reg */ 37#define PTP_TTNSR 0x0720 /* Target Time Nanoseconds Reg */ 38#define PTP_STHWSR 0x0724 /* System Time - Higher Word Seconds Reg */ 39#define PTP_TSR 0x0728 /* Timestamp Status */ 40 41#define PTP_STNSUR_ADDSUB_SHIFT 31 42 43/* PTP TCR defines */ 44#define PTP_TCR_TSENA 0x00000001 /* Timestamp Enable */ 45#define PTP_TCR_TSCFUPDT 0x00000002 /* Timestamp Fine/Coarse Update */ 46#define PTP_TCR_TSINIT 0x00000004 /* Timestamp Initialize */ 47#define PTP_TCR_TSUPDT 0x00000008 /* Timestamp Update */ 48/* Timestamp Interrupt Trigger Enable */ 49#define PTP_TCR_TSTRIG 0x00000010 50#define PTP_TCR_TSADDREG 0x00000020 /* Addend Reg Update */ 51#define PTP_TCR_TSENALL 0x00000100 /* Enable Timestamp for All Frames */ 52/* Timestamp Digital or Binary Rollover Control */ 53#define PTP_TCR_TSCTRLSSR 0x00000200 54 55/* Enable PTP packet Processing for Version 2 Format */ 56#define PTP_TCR_TSVER2ENA 0x00000400 57/* Enable Processing of PTP over Ethernet Frames */ 58#define PTP_TCR_TSIPENA 0x00000800 59/* Enable Processing of PTP Frames Sent over IPv6-UDP */ 60#define PTP_TCR_TSIPV6ENA 0x00001000 61/* Enable Processing of PTP Frames Sent over IPv4-UDP */ 62#define PTP_TCR_TSIPV4ENA 0x00002000 63/* Enable Timestamp Snapshot for Event Messages */ 64#define PTP_TCR_TSEVNTENA 0x00004000 65/* Enable Snapshot for Messages Relevant to Master */ 66#define PTP_TCR_TSMSTRENA 0x00008000 67/* Select PTP packets for Taking Snapshots */ 68#define PTP_TCR_SNAPTYPSEL_1 0x00010000 69/* Enable MAC address for PTP Frame Filtering */ 70#define PTP_TCR_TSENMACADDR 0x00040000 71 72#endif /* __STMMAC_PTP_H__ */ 73