mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-09-30 18:21:28 +02:00
arm64: zynqmp: Define a way to intialize TCM
TCM on ZynqMP needs to be intialized in a sequence and this patch provides a global routine to perform this as per requirement. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
189bec47ab
commit
a076789efe
@ -206,6 +206,21 @@ static void write_tcm_boot_trampoline(u32 boot_addr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void initialize_tcm(bool mode)
|
||||||
|
{
|
||||||
|
if (!mode) {
|
||||||
|
set_r5_tcm_mode(LOCK);
|
||||||
|
set_r5_halt_mode(HALT, LOCK);
|
||||||
|
enable_clock_r5();
|
||||||
|
release_r5_reset(LOCK);
|
||||||
|
} else {
|
||||||
|
set_r5_tcm_mode(SPLIT);
|
||||||
|
set_r5_halt_mode(HALT, SPLIT);
|
||||||
|
enable_clock_r5();
|
||||||
|
release_r5_reset(SPLIT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int cpu_release(int nr, int argc, char * const argv[])
|
int cpu_release(int nr, int argc, char * const argv[])
|
||||||
{
|
{
|
||||||
if (nr >= ZYNQMP_CORE_APU0 && nr <= ZYNQMP_CORE_APU3) {
|
if (nr >= ZYNQMP_CORE_APU0 && nr <= ZYNQMP_CORE_APU3) {
|
||||||
|
@ -10,6 +10,11 @@
|
|||||||
|
|
||||||
#define PAYLOAD_ARG_CNT 5
|
#define PAYLOAD_ARG_CNT 5
|
||||||
|
|
||||||
|
enum {
|
||||||
|
TCM_LOCK,
|
||||||
|
TCM_SPLIT,
|
||||||
|
};
|
||||||
|
|
||||||
int zynq_slcr_get_mio_pin_status(const char *periph);
|
int zynq_slcr_get_mio_pin_status(const char *periph);
|
||||||
|
|
||||||
unsigned int zynqmp_get_silicon_version(void);
|
unsigned int zynqmp_get_silicon_version(void);
|
||||||
@ -24,4 +29,6 @@ int zynqmp_mmio_read(const u32 address, u32 *value);
|
|||||||
int invoke_smc(u32 pm_api_id, u32 arg0, u32 arg1, u32 arg2, u32 arg3,
|
int invoke_smc(u32 pm_api_id, u32 arg0, u32 arg1, u32 arg2, u32 arg3,
|
||||||
u32 *ret_payload);
|
u32 *ret_payload);
|
||||||
|
|
||||||
|
void initialize_tcm(bool mode);
|
||||||
|
|
||||||
#endif /* _ASM_ARCH_SYS_PROTO_H */
|
#endif /* _ASM_ARCH_SYS_PROTO_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user