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
bc2910c1
Unverified
Commit
bc2910c1
authored
7 years ago
by
Dimitris Papastamos
Committed by
GitHub
7 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #1306 from JiafeiPan/master
layerscape: Initial ATF support for LS1043ardb
parents
c39afead
364e1342
Changes
43
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
plat/layerscape/common/tsp/ls_tsp.mk
+10
-0
plat/layerscape/common/tsp/ls_tsp.mk
plat/layerscape/common/tsp/ls_tsp_setup.c
+76
-0
plat/layerscape/common/tsp/ls_tsp_setup.c
plat/layerscape/common/tsp/platform_tsp.h
+17
-0
plat/layerscape/common/tsp/platform_tsp.h
with
103 additions
and
0 deletions
+103
-0
plat/layerscape/common/tsp/ls_tsp.mk
0 → 100644
View file @
bc2910c1
#
# Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
# TSP source files common to ARM standard platforms
BL32_SOURCES
+=
plat/layerscape/common/ls_topology.c
\
plat/layerscape/common/tsp/ls_tsp_setup.c
\
plat/common/aarch64/platform_mp_stack.S
This diff is collapsed.
Click to expand it.
plat/layerscape/common/tsp/ls_tsp_setup.c
0 → 100644
View file @
bc2910c1
/*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <gicv2.h>
#include <debug.h>
#include "ls_16550.h"
#include "plat_ls.h"
#include "soc.h"
#define BL32_END (unsigned long)(&__BL32_END__)
const
unsigned
int
g0_interrupt_array1
[]
=
{
9
};
gicv2_driver_data_t
ls_gic_data
=
{
.
gicd_base
=
GICD_BASE
,
.
gicc_base
=
GICC_BASE
,
.
g0_interrupt_num
=
ARRAY_SIZE
(
g0_interrupt_array1
),
.
g0_interrupt_array
=
g0_interrupt_array1
,
};
/*******************************************************************************
* Initialize the UART
******************************************************************************/
void
ls_tsp_early_platform_setup
(
void
)
{
static
console_ls_16550_t
console
;
/*
* Initialize a different console than already in use to display
* messages from TSP
*/
console_ls_16550_register
(
PLAT_LS1043_UART2_BASE
,
PLAT_LS1043_UART_CLOCK
,
PLAT_LS1043_UART_BAUDRATE
,
&
console
);
NOTICE
(
FIRMWARE_WELCOME_STR_LS1043_BL32
);
}
/*******************************************************************************
* Perform platform specific setup placeholder
******************************************************************************/
void
tsp_platform_setup
(
void
)
{
uint32_t
gicc_base
,
gicd_base
;
/* Initialize the GIC driver, cpu and distributor interfaces */
get_gic_offset
(
&
gicc_base
,
&
gicd_base
);
ls_gic_data
.
gicd_base
=
(
uintptr_t
)
gicd_base
;
ls_gic_data
.
gicc_base
=
(
uintptr_t
)
gicc_base
;
gicv2_driver_init
(
&
ls_gic_data
);
gicv2_distif_init
();
gicv2_pcpu_distif_init
();
gicv2_cpuif_enable
();
}
/*******************************************************************************
* Perform the very early platform specific architectural setup here. At the
* moment this is only intializes the MMU
******************************************************************************/
void
tsp_plat_arch_setup
(
void
)
{
ls_setup_page_tables
(
BL32_BASE
,
(
BL32_END
-
BL32_BASE
),
BL_CODE_BASE
,
BL_CODE_END
,
BL_RO_DATA_BASE
,
BL_RO_DATA_END
#if USE_COHERENT_MEM
,
BL_COHERENT_RAM_BASE
,
BL_COHERENT_RAM_END
#endif
);
enable_mmu_el1
(
0
);
}
This diff is collapsed.
Click to expand it.
plat/layerscape/common/tsp/platform_tsp.h
0 → 100644
View file @
bc2910c1
/*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef __PLATFORM_TSP_H__
#define __PLATFORM_TSP_H__
/*******************************************************************************
* Mandatory TSP functions (only if platform contains a TSP)
******************************************************************************/
void
tsp_early_platform_setup
(
void
);
void
tsp_plat_arch_setup
(
void
);
void
tsp_platform_setup
(
void
);
#endif
/* __PLATFORM_TSP_H__ */
This diff is collapsed.
Click to expand it.
Prev
1
2
3
Next
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