mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-23 19:43:33 +00:00
50 lines
975 B
C
50 lines
975 B
C
|
// SPDX-License-Identifier: GPL-2.0
|
||
|
/*
|
||
|
* This file implements basic PSCI support for Renesas r8a779a0 SoC
|
||
|
*
|
||
|
* Copyright (C) 2020 Renesas Electronics Corp.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#include <common.h>
|
||
|
#include <asm/io.h>
|
||
|
#include <asm/psci.h>
|
||
|
#include <asm/secure.h>
|
||
|
|
||
|
int __secure psci_features(u32 function_id, u32 psci_fid)
|
||
|
{
|
||
|
switch (psci_fid) {
|
||
|
case ARM_PSCI_0_2_FN_PSCI_VERSION:
|
||
|
case ARM_PSCI_0_2_FN_SYSTEM_RESET:
|
||
|
return 0x0;
|
||
|
}
|
||
|
/* case ARM_PSCI_0_2_FN_CPU_ON: */
|
||
|
/* case ARM_PSCI_0_2_FN_CPU_OFF: */
|
||
|
/* case ARM_PSCI_0_2_FN_AFFINITY_INFO: */
|
||
|
/* case ARM_PSCI_0_2_FN_MIGRATE_INFO_TYPE: */
|
||
|
/* case ARM_PSCI_0_2_FN_SYSTEM_OFF: */
|
||
|
return ARM_PSCI_RET_NI;
|
||
|
}
|
||
|
|
||
|
u32 __secure psci_version(void)
|
||
|
{
|
||
|
return ARM_PSCI_VER_0_2;
|
||
|
}
|
||
|
|
||
|
#define RST_BASE 0xE6160000 /* Domain0 */
|
||
|
#define RST_SRESCR0 (RST_BASE + 0x18)
|
||
|
#define RST_SPRES 0x5AA58000
|
||
|
|
||
|
void __secure __noreturn psci_system_reset(void)
|
||
|
{
|
||
|
writel(RST_SPRES, RST_SRESCR0);
|
||
|
|
||
|
while (1)
|
||
|
;
|
||
|
}
|
||
|
|
||
|
int psci_update_dt(void *fdt)
|
||
|
{
|
||
|
return 0;
|
||
|
}
|