mirror of
https://github.com/riscv-software-src/opensbi.git
synced 2025-08-24 15:31:22 +01:00

The PMU DT node bindings are defined in docs/pmu_support.md Add few fdt helper functions to parse the DT node and update the event-counter mapping tables. Reviewed-by: Anup Patel <anup.patel@wdc.com> Signed-off-by: Atish Patra <atish.patra@wdc.com>
47 lines
1.0 KiB
C
47 lines
1.0 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>
|
|
|
|
/**
|
|
* 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);
|
|
|
|
#endif
|