printf: Remove unused 'bprintf'
[drm/drm-misc.git] / drivers / ufs / host / ufs-sprd.h
blob26ad5c3af4c1214399a2988ae44d71d5bdd3824c
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3 * UNISOC UFS Host Controller driver
5 * Copyright (C) 2022 Unisoc, Inc.
6 * Author: Zhe Wang <zhe.wang1@unisoc.com>
7 */
9 #ifndef _UFS_SPRD_H_
10 #define _UFS_SPRD_H_
12 /* Vendor specific attributes */
13 #define RXSQCONTROL 0x8009
14 #define CBRATESEL 0x8114
15 #define CBCREGADDRLSB 0x8116
16 #define CBCREGADDRMSB 0x8117
17 #define CBCREGWRLSB 0x8118
18 #define CBCREGWRMSB 0x8119
19 #define CBCREGRDWRSEL 0x811C
20 #define CBCRCTRL 0x811F
21 #define CBREFCLKCTRL2 0x8132
22 #define VS_MPHYDISABLE 0xD0C1
24 #define APB_UFSDEV_REG 0xCE8
25 #define APB_UFSDEV_REFCLK_EN 0x2
26 #define APB_USB31PLL_CTRL 0xCFC
27 #define APB_USB31PLLV_REF2MPHY 0x1
29 #define SPRD_SIP_SVC_STORAGE_UFS_CRYPTO_ENABLE \
30 ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
31 ARM_SMCCC_SMC_32, \
32 ARM_SMCCC_OWNER_SIP, \
33 0x0301)
35 enum SPRD_UFS_RST_INDEX {
36 SPRD_UFSHCI_SOFT_RST,
37 SPRD_UFS_DEV_RST,
39 SPRD_UFS_RST_MAX
42 enum SPRD_UFS_SYSCON_INDEX {
43 SPRD_UFS_ANLG,
44 SPRD_UFS_AON_APB,
46 SPRD_UFS_SYSCON_MAX
49 enum SPRD_UFS_VREG_INDEX {
50 SPRD_UFS_VDD_MPHY,
52 SPRD_UFS_VREG_MAX
55 struct ufs_sprd_rst {
56 const char *name;
57 struct reset_control *rc;
60 struct ufs_sprd_syscon {
61 const char *name;
62 struct regmap *regmap;
65 struct ufs_sprd_vreg {
66 const char *name;
67 struct regulator *vreg;
70 struct ufs_sprd_priv {
71 struct ufs_sprd_rst rci[SPRD_UFS_RST_MAX];
72 struct ufs_sprd_syscon sysci[SPRD_UFS_SYSCON_MAX];
73 struct ufs_sprd_vreg vregi[SPRD_UFS_VREG_MAX];
74 const struct ufs_hba_variant_ops ufs_hba_sprd_vops;
77 struct ufs_sprd_host {
78 struct ufs_hba *hba;
79 struct ufs_sprd_priv *priv;
80 void __iomem *ufs_dbg_mmio;
82 enum ufs_unipro_ver unipro_ver;
85 #endif /* _UFS_SPRD_H_ */