blob: d6d7c6cdc836d496373e8d292bb0c5dc380346d5 [file] [log] [blame]
Bo Lv72d0e902023-01-02 14:27:34 +00001/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
2/*
3 * Copyright (c) 2019 Amlogic, Inc. All rights reserved.
4 */
5
6#ifndef __KEYUNIFY_H__
7#define __KEYUNIFY_H__
8
9//APIs of key_unify*: unify interfaces for nandkeys/emmckeys/efuse keys
10
11int key_unify_init(const char* seednum, const char* dtbaddr);
12
13int key_unify_uninit(void);
14
15//keyType: user type to define how to parse/check the key value before burn to target
16int key_unify_write(const char* keyname, const void* keydata, const unsigned datalen);
17
18int key_unify_read(const char* keyname, void* keydata, const unsigned bufLen);
19
20int key_unify_query_size(const char* keyname, ssize_t* keysize);
21
22int key_unify_query_exist(const char* keyname, int* exist);
23
24int key_unify_query_secure(const char* keyname, int* isSecure);
25
26int key_unify_query_canOverWrite(const char* keyname, int* canOverWrite);
27
28//Does the key configured in dts
29int key_unify_query_key_has_configure(const char* keyname);
30
31//Another APIs with APP concerns, like special flower hdcp2
32//These APIs are based on key_unify_*
33//
34int key_manage_init(const char* seednum, const char* dtbaddr);
35int key_manage_exit(void);
36
37int key_manage_write(const char* keyname, const void* keydata, const unsigned datalen);
38
39int key_manage_read(const char* keyname, void* keydata, const unsigned bufLen);
40
41int key_manage_query_size(const char* keyname, ssize_t* keysize);
42
43int key_manage_query_exist(const char* keyname, int* exist);
44
45int key_manage_query_secure(const char* keyname, int* isSecure);
46
47int key_manage_query_canOverWrite(const char* keyname, int* canOverWrite);
48
49#endif// #ifndef __KEYUNIFY_H__
50