forked from Mirrors/opensbi

We update FDT support makefile to use kconfig for enabling/disabling. To avoid compilation errors, we also enable FDT for each platform. Signed-off-by: Anup Patel <apatel@ventanamicro.com> Tested-by: Andrew Jones <ajones@ventanamicro.com> Acked-by: Atish Patra <atishp@rivosinc.com> Tested-by: Atish Patra <atishp@rivosinc.com>
57 lines
1.2 KiB
C
57 lines
1.2 KiB
C
// SPDX-License-Identifier: BSD-2-Clause
|
|
/*
|
|
* fdt_pmu.c - Flat Device Tree PMU helper routines
|
|
*
|
|
* Copyright (c) 2021 Western Digital Corporation or its affiliates.
|
|
*
|
|
* Authors:
|
|
* Atish Patra <atish.patra@wdc.com>
|
|
*/
|
|
|
|
#ifndef __FDT_PMU_H__
|
|
#define __FDT_PMU_H__
|
|
|
|
#include <sbi/sbi_types.h>
|
|
|
|
#ifdef CONFIG_FDT_PMU
|
|
|
|
/**
|
|
* Fix up the PMU node in the device tree
|
|
*
|
|
* This routine:
|
|
* 1. Disables opensbi specific properties from the DT
|
|
*
|
|
* It is recommended that platform support call this function in
|
|
* their final_init() platform operation.
|
|
*
|
|
* @param fdt device tree blob
|
|
*/
|
|
void fdt_pmu_fixup(void *fdt);
|
|
|
|
/**
|
|
* Setup PMU data from device tree
|
|
*
|
|
* @param fdt device tree blob
|
|
*
|
|
* @return 0 on success and negative error code on failure
|
|
*/
|
|
int fdt_pmu_setup(void *fdt);
|
|
|
|
/**
|
|
* Get the mhpmevent select value read from DT for a given event
|
|
* @param event_idx Event ID of the given event
|
|
*
|
|
* @return The select value read from DT or 0 if given index was not found
|
|
*/
|
|
uint64_t fdt_pmu_get_select_value(uint32_t event_idx);
|
|
|
|
#else
|
|
|
|
static inline void fdt_pmu_fixup(void *fdt) { }
|
|
static inline int fdt_pmu_setup(void *fdt) { return 0; }
|
|
static inline uint64_t fdt_pmu_get_select_value(uint32_t event_idx) { return 0; }
|
|
|
|
#endif
|
|
|
|
#endif
|