// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#pragma once

// clang-format off

#define CONFIG_DW_GMAC_DEFAULT_DMA_PBL 8

/* Bus mode register definitions */
#define X8PBL              (1 << 24)
#define FIXEDBURST         (1 << 16)
#define PRIORXTX_41        (3 << 14)
#define PRIORXTX_31        (2 << 14)
#define PRIORXTX_21        (1 << 14)
#define PRIORXTX_11        (0 << 14)
#define DMA_PBL            (CONFIG_DW_GMAC_DEFAULT_DMA_PBL << 8)
#define RXHIGHPRIO         (1 << 1)
#define DMAMAC_SRST        (1 << 0)

#define DMA_OPMODE_RSF       (1 << 25)
#define DMA_OPMODE_TSF       (1 << 21)
#define DMA_OPMODE_FTF       (1 << 20)
#define DMA_OPMODE_ST        (1 << 13)
#define DMA_OPMODE_EFC       (1 << 8)
#define DMA_OPMODE_FEF       (1 << 7)
#define DMA_OPMODE_SR        (1 << 1)

#define DMA_OPMODE_RFD(val)  (((val & 0x3) << 11) | ((val & 0x4) << 20))
#define DMA_OPMODE_RFA(val)  (((val & 0x3) <<  9) | ((val & 0x4) << 21))
#define DMA_OPMODE_TTC(val)   ((val & 0x7) << 14)
#define DMA_OPMODE_RTC(val)   ((val & 0x3) <<  3)


#define DESC_TXSTS_OWNBYDMA            (1 << 31)
#define DESC_TXSTS_MSK                 (0x1FFFF << 0)

/* rx status bits definitions */
#define DESC_RXSTS_OWNBYDMA            (1 << 31)
#define DESC_RXSTS_DAFILTERFAIL        (1 << 30)
#define DESC_RXSTS_FRMLENMSK           (0x3FFF << 16)
#define DESC_RXSTS_FRMLENSHFT          (16)

#define DESC_RXSTS_ERROR               (1 << 15)
#define DESC_RXSTS_RXTRUNCATED         (1 << 14)
#define DESC_RXSTS_SAFILTERFAIL        (1 << 13)
#define DESC_RXSTS_RXIPC_GIANTFRAME    (1 << 12)
#define DESC_RXSTS_RXDAMAGED           (1 << 11)
#define DESC_RXSTS_RXVLANTAG           (1 << 10)
#define DESC_RXSTS_RXFIRST             (1 <<  9)
#define DESC_RXSTS_RXLAST              (1 <<  8)
#define DESC_RXSTS_RXIPC_GIANT         (1 <<  7)
#define DESC_RXSTS_RXCOLLISION         (1 <<  6)
#define DESC_RXSTS_RXFRAMEETHER        (1 <<  5)
#define DESC_RXSTS_RXWATCHDOG          (1 <<  4)
#define DESC_RXSTS_RXMIIERROR          (1 <<  3)
#define DESC_RXSTS_RXDRIBBLING         (1 <<  2)
#define DESC_RXSTS_RXCRC               (1 <<  1)

/* tx control bits definitions */
#define DESC_TXCTRL_TXINT              (1 << 31)
#define DESC_TXCTRL_TXLAST             (1 << 30)
#define DESC_TXCTRL_TXFIRST            (1 << 29)
#define DESC_TXCTRL_TXCHECKINSCTRL     (2 << 27)
#define DESC_TXCTRL_TXCRCDIS           (1 << 26)
#define DESC_TXCTRL_TXRINGEND          (1 << 25)
#define DESC_TXCTRL_TXCHAIN            (1 << 24)

#define DESC_TXCTRL_SIZE1MASK          (0x7FF << 0)
#define DESC_TXCTRL_SIZE1SHFT          (0)
#define DESC_TXCTRL_SIZE2MASK          (0x7FF << 11)
#define DESC_TXCTRL_SIZE2SHFT          (11)

/* rx control bits definitions */
#define DESC_RXCTRL_RXINTDIS           (1 << 31)
#define DESC_RXCTRL_RXRINGEND          (1 << 25)
#define DESC_RXCTRL_RXCHAIN            (1 << 24)

#define DESC_RXCTRL_SIZE1MASK          (0x7FF << 0)
#define DESC_RXCTRL_SIZE1SHFT          (0)
#define DESC_RXCTRL_SIZE2MASK          (0x7FF << 11)
#define DESC_RXCTRL_SIZE2SHFT          (11)

/*DMA interrupt enable bits */
#define DMA_INT_NIE                    (1 << 16)  /* Normal Interrupt Enable */
#define DMA_INT_AIE                    (1 << 15)  /* Abnormal Interrupt Enable */
#define DMA_INT_ERE                    (1 << 14)  /* Early Rx */
#define DMA_INT_FBE                    (1 << 13)  /* Fatal Bus Error */
#define DMA_INT_ETE                    (1 << 10)  /* Early Tx */
#define DMA_INT_RWE                    (1 <<  9)  /* Rx Watchdog */
#define DMA_INT_RSE                    (1 <<  8)  /* Rx Stopped */
#define DMA_INT_RUE                    (1 <<  7)  /* Rx Buffer Unavailable */
#define DMA_INT_RIE                    (1 <<  6)
#define DMA_INT_UNE                    (1 <<  5)
#define DMA_INT_OVE                    (1 <<  4)
#define DMA_INT_TJE                    (1 <<  3)
#define DMA_INT_TUE                    (1 <<  2)
#define DMA_INT_TSE                    (1 <<  1)
#define DMA_INT_TIE                    (1 <<  0)


#define DMA_STATUS_GLI                (1 << 26)  /*GMAC Line interface interrupt*/
#define DMA_STATUS_AIS                (1 << 15)  /*GMAC Abnormal activity*/
#define DMA_STATUS_RI                 (1 <<  6)  /*GMAC Rx Complete*/
#define DMA_STATUS_TI                 (1 <<  0)  /*Tx Complete */
#define DMA_STATUS_RS_POS             (17)
#define DMA_STATUS_RS_MASK            (0x7 << DMA_STATUS_RS_POS)

#define DMA_RS_STATUS_STOPPED          (0)
#define DMA_RS_STATUS_FETCHING_DESC    (1)
#define DMA_RS_STATUS_WAITING          (3)
#define DMA_RS_STATUS_SUSPENDED        (4)
#define DMA_RS_STATUS_CLOSING_DESC     (5)
#define DMA_RS_STATUS_TRANSFERRING     (7)

#define GMAC_RGMII_STATUS_LNKSTS       (1 << 3)

/* GMAC Configuration defines */
#define GMAC_CONF_2K 0x08000000  /* IEEE 802.3as 2K packets */
#define GMAC_CONF_TC 0x01000000  /* Transmit Conf. in RGMII/SGMII */
#define GMAC_CONF_WD 0x00800000  /* Disable Watchdog on receive */
#define GMAC_CONF_JD 0x00400000  /* Jabber disable */
#define GMAC_CONF_BE 0x00200000  /* Frame Burst Enable */
#define GMAC_CONF_JE 0x00100000  /* Jumbo frame */
enum inter_frame_gap {
    GMAC_CONF_IFG_88 = 0x00040000,
    GMAC_CONF_IFG_80 = 0x00020000,
    GMAC_CONF_IFG_40 = 0x000e0000,
};
#define GMAC_CONF_DCRS   0x00010000  /* Disable carrier sense */
#define GMAC_CONF_PS     0x00008000  /* Port Select 0:GMI 1:MII */
#define GMAC_CONF_FES    0x00004000  /* Speed 0:10 1:100 */
#define GMAC_CONF_DO     0x00002000  /* Disable Rx Own */
#define GMAC_CONF_LM     0x00001000  /* Loop-back mode */
#define GMAC_CONF_DM     0x00000800  /* Duplex Mode */
#define GMAC_CONF_IPC    0x00000400  /* Checksum Offload */
#define GMAC_CONF_DR     0x00000200  /* Disable Retry */
#define GMAC_CONF_LUD    0x00000100  /* Link up/down */
#define GMAC_CONF_ACS    0x00000080  /* Auto Pad/FCS Stripping */
#define GMAC_CONF_DC     0x00000010  /* Deferral Check */
#define GMAC_CONF_TE     0x00000008  /* Transmitter Enable */
#define GMAC_CONF_RE     0x00000004  /* Receiver Enable */

#define GMAC_CORE_INIT (GMAC_CONF_JD | \
            GMAC_CONF_DM)


#define GMAC_FLOW_TFE    (1 <<  1)
#define GMAC_FLOW_RFE    (1 <<  2)
#define GMAC_FLOW_UP     (1 <<  3)



//ETH_REG0 definitions
//        (ending in _POS indicates bit position)
#define ETH_REG0_RGMII_SEL      (1 << 0)
#define ETH_REG0_DATA_ENDIAN    (1 << 1)
#define ETH_REG0_DESC_ENDIAN    (1 << 2)
#define ETH_REG0_RX_CLK_INV     (1 << 3)
#define ETH_REG0_TX_CLK_SRC     (1 << 4)
#define ETH_REG0_TX_CLK_PH_POS       (5)
#define ETH_REG0_TX_CLK_RATIO_POS    (7)
#define ETH_REG0_REF_CLK_ENA    (1 << 10)
#define ETH_REG0_RMII_INV       (1 << 11)
#define ETH_REG0_CLK_ENA        (1 << 12)
#define ETH_REG0_ADJ_ENA        (1 << 13)
#define ETH_REG0_ADJ_SETUP      (1 << 14)
#define ETH_REG0_ADJ_DELAY_POS  (15)
#define ETH_REG0_ADJ_SKEW_POS   (20)
#define ETH_REG0_CALI_START     (1 << 25)
#define ETH_REG0_CALI_RISE      (1 << 26)
#define ETH_REG0_CALI_SEL_POS   (27)
#define ETH_REG0_RX_REUSE       (1 << 30)
#define ETH_REG0_URGENT         (1 << 31)

// miiaddr register definitions
#define MII_BUSY                 (1 << 0)
#define MII_WRITE                (1 << 1)
#define MII_CLKRANGE_60_100M     (0)
#define MII_CLKRANGE_100_150M    (0x4)
#define MII_CLKRANGE_20_35M      (0x8)
#define MII_CLKRANGE_35_60M      (0xC)
#define MII_CLKRANGE_150_250M    (0x10)
#define MII_CLKRANGE_250_300M    (0x14)

#define MIIADDRSHIFT        (11)
#define MIIREGSHIFT         (6)
#define MII_REGMSK          (0x1F << 6)
#define MII_ADDRMSK         (0x1F << 11)

#define MAC_MAX_FRAME_SZ    (1600)


#define MII_BMCR        0x00    /* Basic mode control register */
#define MII_BMSR        0x01    /* Basic mode status register  */
#define MII_PHYSID1     0x02    /* PHYS ID 1               */
#define MII_PHYSID2     0x03    /* PHYS ID 2               */
#define MII_ADVERTISE   0x04    /* Advertisement control reg   */
#define MII_LPA         0x05    /* Link partner ability reg    */
#define MII_EXPANSION   0x06    /* Expansion register           */
#define MII_GBCR        0x09    /* 1000BASE-T control           */
#define MII_GBSR        0x0a    /* 1000BASE-T status           */
#define MII_ESTATUS     0x0f    /* Extended Status */
#define MII_DCOUNTER    0x12    /* Disconnect counter           */
#define MII_FCSCOUNTER  0x13    /* False carrier counter       */
#define MII_NWAYTEST    0x14    /* N-way auto-neg test reg     */
#define MII_RERRCOUNTER 0x15    /* Receive error counter       */
#define MII_SREVISION   0x16    /* Silicon revision           */
#define MII_RESV1       0x17    /* Reserved...               */
#define MII_LBRERROR    0x18    /* Lpback, rx, bypass error    */
#define MII_PHYADDR     0x19    /* PHY address               */
#define MII_RESV2       0x1a    /* Reserved...               */
#define MII_TPISTATUS   0x1b    /* TPI status for 10mbps       */
#define MII_NCONFIG     0x1c    /* Network interface config    */
#define MII_EPAGSR      0x1f    /* Page Select register */

/* Basic mode control register. */
#define BMCR_RESV           0x003f  /* Unused...                   */
#define BMCR_SPEED1000      0x0040  /* MSB of Speed (1000)         */
#define BMCR_CTST           0x0080  /* Collision test              */
#define BMCR_FULLDPLX       0x0100  /* Full duplex                 */
#define BMCR_ANRESTART      0x0200  /* Auto negotiation restart    */
#define BMCR_ISOLATE        0x0400  /* Isolate data paths from MII */
#define BMCR_PDOWN          0x0800  /* Enable low power state      */
#define BMCR_ANENABLE       0x1000  /* Enable auto negotiation     */
#define BMCR_SPEED100       0x2000  /* Select 100Mbps              */
#define BMCR_LOOPBACK       0x4000  /* TXD loopback bits           */
#define BMCR_RESET          0x8000  /* Reset to default state      */
#define BMCR_SPEED10        0x0000  /* Select 10Mbps               */

/* Basic mode status register. */
#define BMSR_ERCAP          0x0001  /* Ext-reg capability          */
#define BMSR_JCD            0x0002  /* Jabber detected             */
#define BMSR_LSTATUS        0x0004  /* Link status                 */
#define BMSR_ANEGCAPABLE    0x0008  /* Able to do auto-negotiation */
#define BMSR_RFAULT         0x0010  /* Remote fault detected       */
#define BMSR_ANEGCOMPLETE   0x0020  /* Auto-negotiation complete   */
#define BMSR_RESV           0x00c0  /* Unused...                   */
#define BMSR_ESTATEN        0x0100  /* Extended Status in R15      */
#define BMSR_100HALF2       0x0200  /* Can do 100BASE-T2 HDX       */
#define BMSR_100FULL2       0x0400  /* Can do 100BASE-T2 FDX       */
#define BMSR_10HALF         0x0800  /* Can do 10mbps, half-duplex  */
#define BMSR_10FULL         0x1000  /* Can do 10mbps, full-duplex  */
#define BMSR_100HALF        0x2000  /* Can do 100mbps, half-duplex */
#define BMSR_100FULL        0x4000  /* Can do 100mbps, full-duplex */
#define BMSR_100BASE4       0x8000  /* Can do 100mbps, 4k packets  */

