/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Rockchip UFS Host Controller driver
*
* Copyright (C) 2025 Rockchip Electronics Co., Ltd.
*/
#ifndef _UFS_ROCKCHIP_H_
#define _UFS_ROCKCHIP_H_
#define SEL_TX_LANE0 0 x0
#define SEL_TX_LANE1 0 x1
#define SEL_TX_LANE2 0 x2
#define SEL_TX_LANE3 0 x3
#define SEL_RX_LANE0 0 x4
#define SEL_RX_LANE1 0 x5
#define SEL_RX_LANE2 0 x6
#define SEL_RX_LANE3 0 x7
#define VND_TX_CLK_PRD 0 xAA
#define VND_TX_CLK_PRD_EN 0 xA9
#define VND_TX_LINERESET_PVALUE2 0 xAB
#define VND_TX_LINERESET_PVALUE1 0 xAC
#define VND_TX_LINERESET_VALUE 0 xAD
#define VND_TX_BASE_NVALUE 0 x93
#define VND_TX_TASE_VALUE 0 x94
#define VND_TX_POWER_SAVING_CTRL 0 x7F
#define VND_RX_CLK_PRD 0 x12
#define VND_RX_CLK_PRD_EN 0 x11
#define VND_RX_LINERESET_PVALUE2 0 x1B
#define VND_RX_LINERESET_PVALUE1 0 x1C
#define VND_RX_LINERESET_VALUE 0 x1D
#define VND_RX_LINERESET_OPTION 0 x25
#define VND_RX_POWER_SAVING_CTRL 0 x2F
#define VND_RX_SAVE_DET_CTRL 0 x1E
#define CMN_REG23 0 x8C
#define CMN_REG25 0 x94
#define TRSV0_REG08 0 xE0
#define TRSV1_REG08 0 x220
#define TRSV0_REG14 0 x110
#define TRSV1_REG14 0 x250
#define TRSV0_REG15 0 x134
#define TRSV1_REG15 0 x274
#define TRSV0_REG16 0 x128
#define TRSV1_REG16 0 x268
#define TRSV0_REG17 0 x12C
#define TRSV1_REG17 0 x26c
#define TRSV0_REG18 0 x120
#define TRSV1_REG18 0 x260
#define TRSV0_REG29 0 x164
#define TRSV1_REG29 0 x2A4
#define TRSV0_REG2E 0 x178
#define TRSV1_REG2E 0 x2B8
#define TRSV0_REG3C 0 x1B0
#define TRSV1_REG3C 0 x2F0
#define TRSV0_REG3D 0 x1B4
#define TRSV1_REG3D 0 x2F4
#define MPHY_CFG 0 x200
#define MPHY_CFG_ENABLE 0 x40
#define MPHY_CFG_DISABLE 0 x0
#define MIB_T_DBG_CPORT_TX_ENDIAN 0 xc022
#define MIB_T_DBG_CPORT_RX_ENDIAN 0 xc023
struct ufs_rockchip_host {
struct ufs_hba *hba;
void __iomem *ufs_phy_ctrl;
void __iomem *ufs_sys_ctrl;
void __iomem *mphy_base;
struct gpio_desc *rst_gpio;
struct reset_control *rst;
struct clk *ref_out_clk;
struct clk_bulk_data *clks;
uint64_t caps;
};
#define ufs_sys_writel(base, val, reg) \
writel((val), (base) + (reg))
#define ufs_sys_readl(base, reg) readl((base) + (reg))
#define ufs_sys_set_bits(base, mask, reg) \
ufs_sys_writel( \
(base), ((mask) | (ufs_sys_readl((base), (reg)))), (reg))
#define ufs_sys_ctrl_clr_bits(base, mask, reg) \
ufs_sys_writel((base), \
((~(mask)) & (ufs_sys_readl((base), (reg)))), \
(reg))
#endif /* _UFS_ROCKCHIP_H_ */
Messung V0.5 in Prozent C=93 H=95 G=93
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-07)
¤
*© Formatika GbR, Deutschland