linux/drivers/crypto/ccree/cc_driver.c

// SPDX-License-Identifier: GPL-2.0
/* Copyright (C) 2012-2019 ARM Limited or its affiliates. */

#include <linux/kernel.h>
#include <linux/module.h>

#include <linux/crypto.h>
#include <linux/moduleparam.h>
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/of.h>
#include <linux/clk.h>
#include <linux/of_address.h>
#include <linux/pm_runtime.h>

#include "cc_driver.h"
#include "cc_request_mgr.h"
#include "cc_buffer_mgr.h"
#include "cc_debugfs.h"
#include "cc_cipher.h"
#include "cc_aead.h"
#include "cc_hash.h"
#include "cc_sram_mgr.h"
#include "cc_pm.h"
#include "cc_fips.h"

bool cc_dump_desc;
module_param_named(dump_desc, cc_dump_desc, bool, 0600);
MODULE_PARM_DESC();
bool cc_dump_bytes;
module_param_named(dump_bytes, cc_dump_bytes, bool, 0600);
MODULE_PARM_DESC();

static bool cc_sec_disable;
module_param_named(sec_disable, cc_sec_disable, bool, 0600);
MODULE_PARM_DESC();

struct cc_hw_data {};

#define CC_NUM_IDRS
#define CC_HW_RESET_LOOP_COUNT

/* Note: PIDR3 holds CMOD/Rev so ignored for HW identification purposes */
static const u32 pidr_0124_offsets[CC_NUM_IDRS] =;

static const u32 cidr_0123_offsets[CC_NUM_IDRS] =;

/* Hardware revisions defs. */

/* The 703 is a OSCCA only variant of the 713 */
static const struct cc_hw_data cc703_hw =;

static const struct cc_hw_data cc713_hw =;

static const struct cc_hw_data cc712_hw =;

static const struct cc_hw_data cc710_hw =;

static const struct cc_hw_data cc630p_hw =;

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

static void init_cc_cache_params(struct cc_drvdata *drvdata)
{}

static u32 cc_read_idr(struct cc_drvdata *drvdata, const u32 *idr_offsets)
{}

void __dump_byte_array(const char *name, const u8 *buf, size_t len)
{}

static irqreturn_t cc_isr(int irq, void *dev_id)
{}

bool cc_wait_for_reset_completion(struct cc_drvdata *drvdata)
{}

int init_cc_regs(struct cc_drvdata *drvdata)
{}

static int init_cc_resources(struct platform_device *plat_dev)
{}

void fini_cc_regs(struct cc_drvdata *drvdata)
{}

static void cleanup_cc_resources(struct platform_device *plat_dev)
{}

unsigned int cc_get_default_hash_len(struct cc_drvdata *drvdata)
{}

static int ccree_probe(struct platform_device *plat_dev)
{}

static void ccree_remove(struct platform_device *plat_dev)
{}

static struct platform_driver ccree_driver =;

static int __init ccree_init(void)
{}
module_init();

static void __exit ccree_exit(void)
{}
module_exit(ccree_exit);

/* Module description */
MODULE_DESCRIPTION();
MODULE_VERSION();
MODULE_AUTHOR();
MODULE_LICENSE();