2013-02-26 22:48:49 -07:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2013 Broadcom Corporation
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License as
|
|
|
|
* published by the Free Software Foundation version 2.
|
|
|
|
*
|
|
|
|
* This program is distributed "as is" WITHOUT ANY WARRANTY of any
|
|
|
|
* kind, whether express or implied; without even the implied warranty
|
|
|
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef BCM_KONA_SMC_H
|
|
|
|
#define BCM_KONA_SMC_H
|
|
|
|
|
|
|
|
#include <linux/types.h>
|
|
|
|
#define FLAGS (SEC_ROM_ICACHE_ENABLE_MASK | SEC_ROM_DCACHE_ENABLE_MASK | \
|
|
|
|
SEC_ROM_IRQ_ENABLE_MASK | SEC_ROM_FIQ_ENABLE_MASK)
|
|
|
|
|
|
|
|
/*!
|
|
|
|
* Definitions for IRQ & FIQ Mask for ARM
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define FIQ_IRQ_MASK 0xC0
|
|
|
|
#define FIQ_MASK 0x40
|
|
|
|
#define IRQ_MASK 0x80
|
|
|
|
|
|
|
|
/*!
|
|
|
|
* Secure Mode FLAGs
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* When set, enables ICache within the secure mode */
|
|
|
|
#define SEC_ROM_ICACHE_ENABLE_MASK 0x00000001
|
|
|
|
|
|
|
|
/* When set, enables DCache within the secure mode */
|
|
|
|
#define SEC_ROM_DCACHE_ENABLE_MASK 0x00000002
|
|
|
|
|
|
|
|
/* When set, enables IRQ within the secure mode */
|
|
|
|
#define SEC_ROM_IRQ_ENABLE_MASK 0x00000004
|
|
|
|
|
|
|
|
/* When set, enables FIQ within the secure mode */
|
|
|
|
#define SEC_ROM_FIQ_ENABLE_MASK 0x00000008
|
|
|
|
|
|
|
|
/* When set, enables Unified L2 cache within the secure mode */
|
|
|
|
#define SEC_ROM_UL2_CACHE_ENABLE_MASK 0x00000010
|
|
|
|
|
|
|
|
/* Broadcom Secure Service API Service IDs */
|
|
|
|
#define SSAPI_DORMANT_ENTRY_SERV 0x01000000
|
|
|
|
#define SSAPI_PUBLIC_OTP_SERV 0x01000001
|
|
|
|
#define SSAPI_ENABLE_L2_CACHE 0x01000002
|
|
|
|
#define SSAPI_DISABLE_L2_CACHE 0x01000003
|
|
|
|
#define SSAPI_WRITE_SCU_STATUS 0x01000004
|
|
|
|
#define SSAPI_WRITE_PWR_GATE 0x01000005
|
|
|
|
|
|
|
|
/* Broadcom Secure Service API Return Codes */
|
|
|
|
#define SEC_ROM_RET_OK 0x00000001
|
|
|
|
#define SEC_ROM_RET_FAIL 0x00000009
|
|
|
|
|
|
|
|
#define SSAPI_RET_FROM_INT_SERV 0x4
|
|
|
|
#define SEC_EXIT_NORMAL 0x1
|
|
|
|
|
|
|
|
#define SSAPI_ROW_AES 0x0E000006
|
|
|
|
#define SSAPI_BRCM_START_VC_CORE 0x0E000008
|
|
|
|
|
|
|
|
#ifndef __ASSEMBLY__
|
2013-08-06 18:04:54 -06:00
|
|
|
extern int __init bcm_kona_smc_init(void);
|
2013-02-26 22:48:49 -07:00
|
|
|
|
|
|
|
extern unsigned bcm_kona_smc(unsigned service_id,
|
|
|
|
unsigned arg0,
|
|
|
|
unsigned arg1,
|
|
|
|
unsigned arg2,
|
|
|
|
unsigned arg3);
|
|
|
|
|
|
|
|
extern int bcm_kona_smc_asm(u32 service_id,
|
|
|
|
u32 buffer_addr);
|
|
|
|
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
|
|
|
|
#endif /* BCM_KONA_SMC_H */
|