summaryrefslogtreecommitdiff
path: root/arch/arm/mach-bcmring/include/csp/secHw.h
blob: b9d7e0732dfc2406a682c0f32bf3ad3907d1062c (plain)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*****************************************************************************
* Copyright 2004 - 2008 Broadcom Corporation.  All rights reserved.
*
* Unless you and Broadcom execute a separate written software license
* agreement governing use of this software, this software is licensed to you
* under the terms of the GNU General Public License version 2, available at
* http://www.broadcom.com/licenses/GPLv2.php (the "GPL").
*
* Notwithstanding the above, under no circumstances may you combine this
* software in any way with any other Broadcom software provided under a
* license other than the GPL, without Broadcom's express prior written
* consent.
*****************************************************************************/

/****************************************************************************/
/**
*  @file    secHw.h
*
*  @brief   Definitions for accessing low level security features
*
*/
/****************************************************************************/
#ifndef SECHW_H
#define SECHW_H

typedef void (*secHw_FUNC_t) (void);

typedef enum {
	secHw_MODE_SECURE = 0x0,	/* Switches processor into secure mode */
	secHw_MODE_NONSECURE = 0x1	/* Switches processor into non-secure mode */
} secHw_MODE;

/****************************************************************************/
/**
*  @brief   Requesting to execute the function in secure mode
*
*  This function requests the given function to run in secure mode
*
*/
/****************************************************************************/
void secHw_RunSecure(secHw_FUNC_t	/* Function to run in secure mode */
    );

/****************************************************************************/
/**
*  @brief   Sets the  mode
*
*  his function sets the processor mode (secure/non-secure)
*
*/
/****************************************************************************/
void secHw_SetMode(secHw_MODE	/* Processor mode */
    );

/****************************************************************************/
/**
*  @brief   Get the current mode
*
*  This function retieves the processor mode (secure/non-secure)
*
*/
/****************************************************************************/
void secHw_GetMode(secHw_MODE *);

#endif /* SECHW_H */