linux/drivers/ata/ahci_ceva.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2015 Xilinx, Inc.
 * CEVA AHCI SATA platform driver
 *
 * based on the AHCI SATA platform driver by Jeff Garzik and Anton Vorontsov
 */

#include <linux/ahci_platform.h>
#include <linux/kernel.h>
#include <linux/libata.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/reset.h>
#include "ahci.h"

/* Vendor Specific Register Offsets */
#define AHCI_VEND_PCFG
#define AHCI_VEND_PPCFG
#define AHCI_VEND_PP2C
#define AHCI_VEND_PP3C
#define AHCI_VEND_PP4C
#define AHCI_VEND_PP5C
#define AHCI_VEND_AXICC
#define AHCI_VEND_PAXIC
#define AHCI_VEND_PTC

/* Vendor Specific Register bit definitions */
#define PAXIC_ADBW_BW64
#define PAXIC_MAWID(i)
#define PAXIC_MARID(i)
#define PAXIC_MARIDD(i)
#define PAXIC_MAWIDD(i)
#define PAXIC_OTL

/* Register bit definitions for cache control */
#define AXICC_ARCA_VAL
#define AXICC_ARCF_VAL
#define AXICC_ARCH_VAL
#define AXICC_ARCP_VAL
#define AXICC_AWCFD_VAL
#define AXICC_AWCD_VAL
#define AXICC_AWCF_VAL

#define PCFG_TPSS_VAL
#define PCFG_TPRS_VAL
#define PCFG_PAD_VAL

#define PPCFG_TTA
#define PPCFG_PSSO_EN
#define PPCFG_PSS_EN
#define PPCFG_ESDF_EN

#define PP5C_RIT
#define PP5C_RCT

#define PTC_RX_WM_VAL
#define PTC_RSVD

#define PORT0_BASE
#define PORT1_BASE

/* Port Control Register Bit Definitions */
#define PORT_SCTL_SPD_GEN3
#define PORT_SCTL_SPD_GEN2
#define PORT_SCTL_SPD_GEN1
#define PORT_SCTL_IPM

#define PORT_BASE
#define PORT_OFFSET
#define NR_PORTS
#define DRV_NAME
#define CEVA_FLAG_BROKEN_GEN2

static unsigned int rx_watermark =;
module_param(rx_watermark, uint, 0644);
MODULE_PARM_DESC();

struct ceva_ahci_priv {};

static unsigned int ceva_ahci_read_id(struct ata_device *dev,
				      struct ata_taskfile *tf, __le16 *id)
{}

static struct ata_port_operations ahci_ceva_ops =;

static const struct ata_port_info ahci_ceva_port_info =;

static void ahci_ceva_setup(struct ahci_host_priv *hpriv)
{}

static const struct scsi_host_template ahci_platform_sht =;

static int ceva_ahci_platform_enable_resources(struct ahci_host_priv *hpriv)
{}

static int ceva_ahci_probe(struct platform_device *pdev)
{}

static int __maybe_unused ceva_ahci_suspend(struct device *dev)
{}

static int __maybe_unused ceva_ahci_resume(struct device *dev)
{}

static SIMPLE_DEV_PM_OPS(ahci_ceva_pm_ops, ceva_ahci_suspend, ceva_ahci_resume);

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

static struct platform_driver ceva_ahci_driver =;
module_platform_driver();

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