linux/drivers/ufs/host/ufs-sprd.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * UNISOC UFS Host Controller driver
 *
 * Copyright (C) 2022 Unisoc, Inc.
 * Author: Zhe Wang <[email protected]>
 */

#include <linux/arm-smccc.h>
#include <linux/mfd/syscon.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/reset.h>
#include <linux/regulator/consumer.h>

#include <ufs/ufshcd.h>
#include "ufshcd-pltfrm.h"
#include "ufs-sprd.h"

static const struct of_device_id ufs_sprd_of_match[];

static struct ufs_sprd_priv *ufs_sprd_get_priv_data(struct ufs_hba *hba)
{}

static void ufs_sprd_regmap_update(struct ufs_sprd_priv *priv, unsigned int index,
				unsigned int reg, unsigned int bits,  unsigned int val)
{}

static void ufs_sprd_regmap_read(struct ufs_sprd_priv *priv, unsigned int index,
				unsigned int reg, unsigned int *val)
{}

static void ufs_sprd_get_unipro_ver(struct ufs_hba *hba)
{}

static void ufs_sprd_ctrl_uic_compl(struct ufs_hba *hba, bool enable)
{}

static int ufs_sprd_get_reset_ctrl(struct device *dev, struct ufs_sprd_rst *rci)
{}

static int ufs_sprd_get_syscon_reg(struct device *dev, struct ufs_sprd_syscon *sysci)
{}

static int ufs_sprd_get_vreg(struct device *dev, struct ufs_sprd_vreg *vregi)
{}

static int ufs_sprd_parse_dt(struct device *dev, struct ufs_hba *hba, struct ufs_sprd_host *host)
{}

static int ufs_sprd_common_init(struct ufs_hba *hba)
{}

static int sprd_ufs_pwr_change_notify(struct ufs_hba *hba,
				      enum ufs_notify_change_status status,
				      struct ufs_pa_layer_attr *dev_max_params,
				      struct ufs_pa_layer_attr *dev_req_params)
{}

static int ufs_sprd_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,
			    enum ufs_notify_change_status status)
{}

static void ufs_sprd_n6_host_reset(struct ufs_hba *hba)
{}

static int ufs_sprd_n6_device_reset(struct ufs_hba *hba)
{}

static void ufs_sprd_n6_key_acc_enable(struct ufs_hba *hba)
{}

static int ufs_sprd_n6_init(struct ufs_hba *hba)
{}

static int ufs_sprd_n6_phy_init(struct ufs_hba *hba)
{}


static int sprd_ufs_n6_hce_enable_notify(struct ufs_hba *hba,
					 enum ufs_notify_change_status status)
{}

static void sprd_ufs_n6_h8_notify(struct ufs_hba *hba,
				  enum uic_cmd_dme cmd,
				  enum ufs_notify_change_status status)
{}

static struct ufs_sprd_priv n6_ufs =;

static const struct of_device_id __maybe_unused ufs_sprd_of_match[] =;
MODULE_DEVICE_TABLE(of, ufs_sprd_of_match);

static int ufs_sprd_probe(struct platform_device *pdev)
{}

static void ufs_sprd_remove(struct platform_device *pdev)
{}

static const struct dev_pm_ops ufs_sprd_pm_ops =;

static struct platform_driver ufs_sprd_pltform =;
module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();