lib: utils: Add simple FDT ipi framework

We add simple ipi framework which will select and use ipi driver
based on details in FDT passed by previous booting stage.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
This commit is contained in:
Anup Patel
2020-04-24 16:53:32 +05:30
committed by Anup Patel
parent 8ff2b94ea1
commit 76f0f81407
4 changed files with 186 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
/*
* SPDX-License-Identifier: BSD-2-Clause
*
* Copyright (c) 2020 Western Digital Corporation or its affiliates.
*
* Authors:
* Anup Patel <anup.patel@wdc.com>
*/
#ifndef __FDT_IPI_H__
#define __FDT_IPI_H__
#include <sbi/sbi_types.h>
struct fdt_ipi {
const struct fdt_match *match_table;
int (*cold_init)(void *fdt, int nodeoff, const struct fdt_match *match);
int (*warm_init)(void);
void (*exit)(void);
void (*send)(u32 target_hart);
void (*clear)(u32 target_hart);
};
void fdt_ipi_send(u32 target_hart);
void fdt_ipi_clear(u32 target_hart);
void fdt_ipi_exit(void);
int fdt_ipi_init(bool cold_boot);
#endif