u-boot/arch/arm/mach-rmobile/psci-r8a779a0.c
Paul Barker 93565cc94c arm: mach-rmobile: Drop <common.h>
For most source files we can just drop <common.h>. We need to add an
include for <asm/u-boot.h> in a couple of places. Also sort the include
list in memmap-gen3.c while we're here.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2023-11-02 11:30:18 +01:00

48 lines
955 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 <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;
}