aboutsummaryrefslogtreecommitdiff
path: root/drivers/misc/mediatek/masp/asfv2/module/sec_mod.h
blob: 857b10e3ba6cb11f031244eca42e767038f1e0dd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef SECMOD_H
#define SECMOD_H

#include <linux/init.h>
#include <linux/types.h>
#include <linux/spinlock.h>
#include <linux/fs.h>

struct sec_ops {
	int (*sec_get_rid)(unsigned int *rid);
};

struct sec_mod {
	dev_t id;
	int init;
	spinlock_t lock;
	const struct sec_ops *ops;
};

/**************************************************************************
 *  EXTERNAL VARIABLE
 **************************************************************************/
extern const struct sec_ops *sec_get_ops(void);
extern struct semaphore hacc_sem;
/**************************************************************************
 *  EXTERNAL FUNCTION
 **************************************************************************/
extern long sec_core_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
extern void sec_core_init(void);
extern void sec_core_exit(void);
#define NUM_SBC_PUBK_HASH           8
#define NUM_CRYPTO_SEED          16
#define NUM_RID 4


#ifdef CONFIG_OF
/*device information data*/
struct masp_tag {
	u32 size;
	u32 tag;
	unsigned int rom_info_sbc_attr;
	unsigned int rom_info_sdl_attr;
	unsigned int hw_sbcen;
	unsigned int lock_state;
	unsigned int rid[NUM_RID];
	/*rom_info.m_SEC_KEY.crypto_seed */
	unsigned char crypto_seed[NUM_CRYPTO_SEED];
	unsigned int sbc_pubk_hash[NUM_SBC_PUBK_HASH];
};
#endif
#endif				/* end of SECMOD_H */