switch-l4t-atf/include/drivers/dw_ufs.h
Antonio Nino Diaz c3cf06f1a3 Standardise header guards across codebase
All identifiers, regardless of use, that start with two underscores are
reserved. This means they can't be used in header guards.

The style that this project is now to use the full name of the file in
capital letters followed by 'H'. For example, for a file called
"uart_example.h", the header guard is UART_EXAMPLE_H.

The exceptions are files that are imported from other projects:

- CryptoCell driver
- dt-bindings folders
- zlib headers

Change-Id: I50561bf6c88b491ec440d0c8385c74650f3c106e
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-11-08 10:20:19 +00:00

111 lines
3.5 KiB
C

/*
* Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef DW_UFS_H
#define DW_UFS_H
#include <stdint.h>
/* Bus Throtting */
#define BUSTHRTL 0xC0
/* Outstanding OCP Requests */
#define OOCPR 0xC4
/* Fatal Error Interrupt Enable */
#define FEIE 0xC8
/* C-Port Direct Access Configuration register */
#define CDACFG 0xD0
/* C-Port Direct Access Transmit 1 register */
#define CDATX1 0xD4
/* C-Port Direct Access Transmit 2 register */
#define CDATX2 0xD8
/* C-Port Direct Access Receive 1 register */
#define CDARX1 0xDC
/* C-Port Direct Access Receive 2 register */
#define CDARX2 0xE0
/* C-Port Direct Access Status register */
#define CDASTA 0xE4
/* UPIU Loopback Configuration register */
#define LBMCFG 0xF0
/* UPIU Loopback Status */
#define LBMSTA 0xF4
/* Debug register */
#define DBG 0xF8
/* HClk Divider register */
#define HCLKDIV 0xFC
#define TX_HIBERN8TIME_CAP_OFFSET 0x000F
#define TX_FSM_STATE_OFFSET 0x0041
#define TX_FSM_STATE_LINE_RESET 7
#define TX_FSM_STATE_LINE_CFG 6
#define TX_FSM_STATE_HS_BURST 5
#define TX_FSM_STATE_LS_BURST 4
#define TX_FSM_STATE_STALL 3
#define TX_FSM_STATE_SLEEP 2
#define TX_FSM_STATE_HIBERN8 1
#define TX_FSM_STATE_DISABLE 0
#define RX_MIN_ACTIVATETIME_CAP_OFFSET 0x008F
#define RX_HS_G2_SYNC_LENGTH_CAP_OFFSET 0x0094
#define RX_HS_G3_SYNC_LENGTH_CAP_OFFSET 0x0095
#define PA_AVAIL_TX_DATA_LANES_OFFSET 0x1520
#define PA_TX_SKIP_OFFSET 0x155C
#define PA_TX_SKIP_PERIOD_OFFSET 0x155D
#define PA_LOCAL_TX_LCC_ENABLE_OFFSET 0x155E
#define PA_ACTIVE_TX_DATA_LANES_OFFSET 0x1560
#define PA_CONNECTED_TX_DATA_LANES_OFFSET 0x1561
#define PA_TX_TRAILING_CLOCKS_OFFSET 0x1564
#define PA_TX_GEAR_OFFSET 0x1568
#define PA_TX_TERMINATION_OFFSET 0x1569
#define PA_HS_SERIES_OFFSET 0x156A
#define PA_PWR_MODE_OFFSET 0x1571
#define PA_ACTIVE_RX_DATA_LANES_OFFSET 0x1580
#define PA_CONNECTED_RX_DATA_LANES_OFFSET 0x1581
#define PA_RX_PWR_STATUS_OFFSET 0x1582
#define PA_RX_GEAR_OFFSET 0x1583
#define PA_RX_TERMINATION_OFFSET 0x1584
#define PA_SCRAMBLING_OFFSET 0x1585
#define PA_MAX_RX_PWM_GEAR_OFFSET 0x1586
#define PA_MAX_RX_HS_GEAR_OFFSET 0x1587
#define PA_PACP_REQ_TIMEOUT_OFFSET 0x1590
#define PA_PACP_REQ_EOB_TIMEOUT_OFFSET 0x1591
#define PA_REMOTE_VER_INFO_OFFSET 0x15A0
#define PA_LOGICAL_LANE_MAP_OFFSET 0x15A1
#define PA_TACTIVATE_OFFSET 0x15A8
#define PA_PWR_MODE_USER_DATA0_OFFSET 0x15B0
#define PA_PWR_MODE_USER_DATA1_OFFSET 0x15B1
#define PA_PWR_MODE_USER_DATA2_OFFSET 0x15B2
#define PA_PWR_MODE_USER_DATA3_OFFSET 0x15B3
#define PA_PWR_MODE_USER_DATA4_OFFSET 0x15B4
#define PA_PWR_MODE_USER_DATA5_OFFSET 0x15B5
#define DL_TC0_TX_FC_THRESHOLD_OFFSET 0x2040
#define DL_AFC0_CREDIT_THRESHOLD_OFFSET 0x2044
#define DL_TC0_OUT_ACK_THRESHOLD_OFFSET 0x2045
#define DME_FC0_PROTECTION_TIMEOUT_OFFSET 0xD041
#define DME_TC0_REPLAY_TIMEOUT_OFFSET 0xD042
#define DME_AFC0_REQ_TIMEOUT_OFFSET 0xD043
#define DME_FC1_PROTECTION_TIMEOUT_OFFSET 0xD044
#define DME_TC1_REPLAY_TIMEOUT_OFFSET 0xD045
#define DME_AFC1_REQ_TIMEOUT_OFFSET 0xD046
#define VS_MPHY_CFG_UPDT_OFFSET 0xD085
#define VS_MK2_EXTN_SUPPORT_OFFSET 0xD0AB
#define VS_MPHY_DISABLE_OFFSET 0xD0C1
#define VS_MPHY_DISABLE_MPHYDIS (1 << 0)
typedef struct dw_ufs_params {
uintptr_t reg_base;
uintptr_t desc_base;
size_t desc_size;
unsigned long flags;
} dw_ufs_params_t;
int dw_ufs_init(dw_ufs_params_t *params);
#endif /* DW_UFS_H */