common/cnxk: enable and disable BPHY PTP mode
[dpdk.git] / drivers / common / cnxk / roc_bphy_cgx_priv.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2021 Marvell.
3  */
4
5 #ifndef _ROC_BPHY_CGX_PRIV_H_
6 #define _ROC_BPHY_CGX_PRIV_H_
7
8 /* REQUEST ID types. Input to firmware */
9 enum eth_cmd_id {
10         ETH_CMD_GET_LINK_STS = 4,
11         ETH_CMD_INTERNAL_LBK = 7,
12         ETH_CMD_INTF_SHUTDOWN = 12,
13         ETH_CMD_SET_PTP_MODE = 34,
14 };
15
16 /* event types - cause of interrupt */
17 enum eth_evt_type {
18         ETH_EVT_ASYNC,
19         ETH_EVT_CMD_RESP,
20 };
21
22 enum eth_stat {
23         ETH_STAT_SUCCESS,
24         ETH_STAT_FAIL,
25 };
26
27 enum eth_cmd_own {
28         /* default ownership with kernel/uefi/u-boot */
29         ETH_OWN_NON_SECURE_SW,
30         /* set by kernel/uefi/u-boot after posting a new request to ATF */
31         ETH_OWN_FIRMWARE,
32 };
33
34 /* scratchx(0) CSR used for ATF->non-secure SW communication.
35  * This acts as the status register
36  * Provides details on command ack/status, link status, error details
37  */
38
39 /* struct eth_evt_sts_s */
40 #define SCR0_ETH_EVT_STS_S_ACK      BIT_ULL(0)
41 #define SCR0_ETH_EVT_STS_S_EVT_TYPE BIT_ULL(1)
42 #define SCR0_ETH_EVT_STS_S_STAT     BIT_ULL(2)
43 #define SCR0_ETH_EVT_STS_S_ID       GENMASK_ULL(8, 3)
44
45 /* struct eth_lnk_sts_s */
46 #define SCR0_ETH_LNK_STS_S_ERR_TYPE    GENMASK_ULL(24, 15)
47 #define SCR0_ETH_LNK_STS_S_LINK_UP     BIT_ULL(9)
48 #define SCR0_ETH_LNK_STS_S_FULL_DUPLEX BIT_ULL(10)
49 #define SCR0_ETH_LNK_STS_S_SPEED       GENMASK_ULL(14, 11)
50 #define SCR0_ETH_LNK_STS_S_ERR_TYPE    GENMASK_ULL(24, 15)
51 #define SCR0_ETH_LNK_STS_S_AN          BIT_ULL(25)
52 #define SCR0_ETH_LNK_STS_S_FEC         GENMASK_ULL(27, 26)
53 #define SCR0_ETH_LNK_STS_S_LMAC_TYPE   GENMASK_ULL(35, 28)
54 #define SCR0_ETH_LNK_STS_S_MODE        GENMASK_ULL(43, 36)
55
56 /* scratchx(1) CSR used for non-secure SW->ATF communication
57  * This CSR acts as a command register
58  */
59
60 /* struct eth_cmd */
61 #define SCR1_ETH_CMD_ID GENMASK_ULL(7, 2)
62
63 /* struct eth_ctl_args */
64 #define SCR1_ETH_CTL_ARGS_ENABLE BIT_ULL(8)
65
66 #define SCR1_OWN_STATUS GENMASK_ULL(1, 0)
67
68 #endif /* _ROC_BPHY_CGX_PRIV_H_ */