Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
82426599
Unverified
Commit
82426599
authored
6 years ago
by
Soby Mathew
Committed by
GitHub
6 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #1555 from theopolis/tbb-hikey960
hikey960: Add development TBB support
parents
e636812d
745d8a82
master
v2.5
v2.5-rc1
v2.5-rc0
v2.4
v2.4-rc2
v2.4-rc1
v2.4-rc0
v2.3
v2.3-rc2
v2.3-rc1
v2.3-rc0
v2.2
v2.2-rc2
v2.2-rc1
v2.2-rc0
v2.1
v2.1-rc1
v2.1-rc0
v2.0
v2.0-rc0
v1.6
v1.6-rc1
v1.6-rc0
arm_cca_v0.2
arm_cca_v0.1
No related merge requests found
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
plat/hisilicon/hikey960/hikey960_io_storage.c
+86
-1
plat/hisilicon/hikey960/hikey960_io_storage.c
plat/hisilicon/hikey960/hikey960_rotpk.S
+16
-0
plat/hisilicon/hikey960/hikey960_rotpk.S
plat/hisilicon/hikey960/hikey960_tbbr.c
+31
-0
plat/hisilicon/hikey960/hikey960_tbbr.c
plat/hisilicon/hikey960/include/platform_def.h
+4
-4
plat/hisilicon/hikey960/include/platform_def.h
plat/hisilicon/hikey960/platform.mk
+40
-0
plat/hisilicon/hikey960/platform.mk
with
177 additions
and
5 deletions
+177
-5
plat/hisilicon/hikey960/hikey960_io_storage.c
View file @
82426599
...
...
@@ -76,6 +76,44 @@ static const io_uuid_spec_t bl33_uuid_spec = {
.
uuid
=
UUID_NON_TRUSTED_FIRMWARE_BL33
,
};
#if TRUSTED_BOARD_BOOT
static
const
io_uuid_spec_t
trusted_key_cert_uuid_spec
=
{
.
uuid
=
UUID_TRUSTED_KEY_CERT
,
};
static
const
io_uuid_spec_t
scp_fw_key_cert_uuid_spec
=
{
.
uuid
=
UUID_SCP_FW_KEY_CERT
,
};
static
const
io_uuid_spec_t
soc_fw_key_cert_uuid_spec
=
{
.
uuid
=
UUID_SOC_FW_KEY_CERT
,
};
static
const
io_uuid_spec_t
tos_fw_key_cert_uuid_spec
=
{
.
uuid
=
UUID_TRUSTED_OS_FW_KEY_CERT
,
};
static
const
io_uuid_spec_t
nt_fw_key_cert_uuid_spec
=
{
.
uuid
=
UUID_NON_TRUSTED_FW_KEY_CERT
,
};
static
const
io_uuid_spec_t
scp_fw_cert_uuid_spec
=
{
.
uuid
=
UUID_SCP_FW_CONTENT_CERT
,
};
static
const
io_uuid_spec_t
soc_fw_cert_uuid_spec
=
{
.
uuid
=
UUID_SOC_FW_CONTENT_CERT
,
};
static
const
io_uuid_spec_t
tos_fw_cert_uuid_spec
=
{
.
uuid
=
UUID_TRUSTED_OS_FW_CONTENT_CERT
,
};
static
const
io_uuid_spec_t
nt_fw_cert_uuid_spec
=
{
.
uuid
=
UUID_NON_TRUSTED_FW_CONTENT_CERT
,
};
#endif
/* TRUSTED_BOARD_BOOT */
static
const
struct
plat_io_policy
policies
[]
=
{
[
FIP_IMAGE_ID
]
=
{
&
ufs_dev_handle
,
...
...
@@ -111,7 +149,54 @@ static const struct plat_io_policy policies[] = {
&
fip_dev_handle
,
(
uintptr_t
)
&
bl33_uuid_spec
,
check_fip
}
},
#if TRUSTED_BOARD_BOOT
[
TRUSTED_KEY_CERT_ID
]
=
{
&
fip_dev_handle
,
(
uintptr_t
)
&
trusted_key_cert_uuid_spec
,
check_fip
},
[
SCP_FW_KEY_CERT_ID
]
=
{
&
fip_dev_handle
,
(
uintptr_t
)
&
scp_fw_key_cert_uuid_spec
,
check_fip
},
[
SOC_FW_KEY_CERT_ID
]
=
{
&
fip_dev_handle
,
(
uintptr_t
)
&
soc_fw_key_cert_uuid_spec
,
check_fip
},
[
TRUSTED_OS_FW_KEY_CERT_ID
]
=
{
&
fip_dev_handle
,
(
uintptr_t
)
&
tos_fw_key_cert_uuid_spec
,
check_fip
},
[
NON_TRUSTED_FW_KEY_CERT_ID
]
=
{
&
fip_dev_handle
,
(
uintptr_t
)
&
nt_fw_key_cert_uuid_spec
,
check_fip
},
[
SCP_FW_CONTENT_CERT_ID
]
=
{
&
fip_dev_handle
,
(
uintptr_t
)
&
scp_fw_cert_uuid_spec
,
check_fip
},
[
SOC_FW_CONTENT_CERT_ID
]
=
{
&
fip_dev_handle
,
(
uintptr_t
)
&
soc_fw_cert_uuid_spec
,
check_fip
},
[
TRUSTED_OS_FW_CONTENT_CERT_ID
]
=
{
&
fip_dev_handle
,
(
uintptr_t
)
&
tos_fw_cert_uuid_spec
,
check_fip
},
[
NON_TRUSTED_FW_CONTENT_CERT_ID
]
=
{
&
fip_dev_handle
,
(
uintptr_t
)
&
nt_fw_cert_uuid_spec
,
check_fip
},
#endif
/* TRUSTED_BOARD_BOOT */
};
static
int
check_ufs
(
const
uintptr_t
spec
)
...
...
This diff is collapsed.
Click to expand it.
plat/hisilicon/hikey960/hikey960_rotpk.S
0 → 100644
View file @
82426599
/*
*
Copyright
(
c
)
2018
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
.
global
hikey960_rotpk_hash
.
global
hikey960_rotpk_hash_end
.
section
.
rodata
.
hikey960_rotpk_hash
,
"a"
hikey960_rotpk_hash
:
/
*
DER
header
*/
.
byte
0x30
,
0x31
,
0x30
,
0x0D
,
0x06
,
0x09
,
0x60
,
0x86
,
0x48
.
byte
0x01
,
0x65
,
0x03
,
0x04
,
0x02
,
0x01
,
0x05
,
0x00
,
0x04
,
0x20
/
*
SHA256
*/
.
incbin
ROTPK_HASH
hikey960_rotpk_hash_end
:
This diff is collapsed.
Click to expand it.
plat/hisilicon/hikey960/hikey960_tbbr.c
0 → 100644
View file @
82426599
/*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <platform.h>
extern
char
hikey960_rotpk_hash
[],
hikey960_rotpk_hash_end
[];
int
plat_get_rotpk_info
(
void
*
cookie
,
void
**
key_ptr
,
unsigned
int
*
key_len
,
unsigned
int
*
flags
)
{
*
key_ptr
=
hikey960_rotpk_hash
;
*
key_len
=
hikey960_rotpk_hash_end
-
hikey960_rotpk_hash
;
*
flags
=
ROTPK_IS_HASH
;
return
0
;
}
int
plat_get_nv_ctr
(
void
*
cookie
,
unsigned
int
*
nv_ctr
)
{
*
nv_ctr
=
0
;
return
0
;
}
int
plat_set_nv_ctr
(
void
*
cookie
,
unsigned
int
nv_ctr
)
{
return
1
;
}
This diff is collapsed.
Click to expand it.
plat/hisilicon/hikey960/include/platform_def.h
View file @
82426599
...
...
@@ -19,7 +19,7 @@
*/
/* Size of cacheable stacks */
#define PLATFORM_STACK_SIZE 0x
8
00
#define PLATFORM_STACK_SIZE 0x
10
00
#define FIRMWARE_WELCOME_STR "Booting Trusted Firmware\n"
...
...
@@ -49,8 +49,8 @@
* BL1 specific defines.
*/
#define BL1_RO_BASE (0x1AC00000)
#define BL1_RO_LIMIT (BL1_RO_BASE + 0x
1
0000)
#define BL1_RW_BASE (BL1_RO_LIMIT)
/* 1AC
1
_0000 */
#define BL1_RO_LIMIT (BL1_RO_BASE + 0x
2
0000)
#define BL1_RW_BASE (BL1_RO_LIMIT)
/* 1AC
2
_0000 */
#define BL1_RW_SIZE (0x00188000)
#define BL1_RW_LIMIT (0x1B000000)
...
...
@@ -104,7 +104,7 @@
#define NS_BL1U_SIZE (0x00100000)
#define NS_BL1U_LIMIT (NS_BL1U_BASE + NS_BL1U_SIZE)
#define HIKEY960_NS_IMAGE_OFFSET (0x1AC
1
8000)
/* offset in l-loader */
#define HIKEY960_NS_IMAGE_OFFSET (0x1AC
2
8000)
/* offset in l-loader */
#define HIKEY960_NS_TMP_OFFSET (0x1AE00000)
#define SCP_BL2_BASE (0x89C80000)
...
...
This diff is collapsed.
Click to expand it.
plat/hisilicon/hikey960/platform.mk
View file @
82426599
...
...
@@ -108,6 +108,46 @@ BL31_SOURCES += drivers/arm/cci/cci.c \
plat/hisilicon/hikey960/drivers/ipc/hisi_ipc.c
\
${HIKEY960_GIC_SOURCES}
ifneq
(${TRUSTED_BOARD_BOOT},0)
include
drivers/auth/mbedtls/mbedtls_crypto.mk
include
drivers/auth/mbedtls/mbedtls_x509.mk
USE_TBBR_DEFS
:=
1
AUTH_SOURCES
:=
drivers/auth/auth_mod.c
\
drivers/auth/crypto_mod.c
\
drivers/auth/img_parser_mod.c
\
drivers/auth/tbbr/tbbr_cot.c
BL1_SOURCES
+=
${AUTH_SOURCES}
\
plat/common/tbbr/plat_tbbr.c
\
plat/hisilicon/hikey960/hikey960_tbbr.c
\
plat/hisilicon/hikey960/hikey960_rotpk.S
BL2_SOURCES
+=
${AUTH_SOURCES}
\
plat/common/tbbr/plat_tbbr.c
\
plat/hisilicon/hikey960/hikey960_tbbr.c
\
plat/hisilicon/hikey960/hikey960_rotpk.S
ROT_KEY
=
$(BUILD_PLAT)
/rot_key.pem
ROTPK_HASH
=
$(BUILD_PLAT)
/rotpk_sha256.bin
$(eval
$(call
add_define_val,ROTPK_HASH,
'"$(ROTPK_HASH)"'
))
$(BUILD_PLAT)/bl1/hikey960_rotpk.o
:
$(ROTPK_HASH)
$(BUILD_PLAT)/bl2/hikey960_rotpk.o
:
$(ROTPK_HASH)
certificates
:
$(ROT_KEY)
$(ROT_KEY)
:
| $(BUILD_PLAT)
@
echo
" OPENSSL
$@
"
$(Q)
openssl genrsa 2048
>
$@
2>/dev/null
$(ROTPK_HASH)
:
$(ROT_KEY)
@
echo
" OPENSSL
$@
"
$(Q)
openssl rsa
-in
$<
-pubout
-outform
DER 2>/dev/null |
\
openssl dgst
-sha256
-binary
>
$@
2>/dev/null
endif
# Enable workarounds for selected Cortex-A53 errata.
ERRATA_A53_836870
:=
1
ERRATA_A53_843419
:=
1
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help