blob: 238215b0510fdec6c78670867a6aa62a7ea0456f [file] [log] [blame]
/*
* cfg.h
*
* DSP-BIOS Bridge driver support functions for TI OMAP processors.
*
* PM Configuration module.
*
* Copyright (C) 2005-2006 Texas Instruments, Inc.
*
* This package is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
#ifndef CFG_
#define CFG_
#include <dspbridge/host_os.h>
#include <dspbridge/cfgdefs.h>
/*
* ======== cfg_get_cd_version ========
* Purpose:
* Retrieves the version of the PM Class Driver.
* Parameters:
* version: Ptr to u32 to contain version number upon return.
* Returns:
* 0: Success. version contains Class Driver version in
* the form: 0xAABBCCDD where AABB is Major version and
* CCDD is Minor.
* -EPERM: Failure.
* Requires:
* CFG initialized.
* Ensures:
* 0: Success.
* else: *version is NULL.
*/
extern int cfg_get_cd_version(u32 *version);
/*
* ======== cfg_get_perf_value ========
* Purpose:
* Retrieve a flag indicating whether PERF should log statistics for the
* PM class driver.
* Parameters:
* enable_perf: Location to store flag. 0 indicates the key was
* not found, or had a zero value. A nonzero value
* means the key was found and had a nonzero value.
* Returns:
* Requires:
* enable_perf != NULL;
* Ensures:
*/
extern void cfg_get_perf_value(bool *enable_perf);
/*
* ======== cfg_get_zl_file ========
* Purpose:
* Retreive the ZLFile, if any, for this board.
* Parameters:
* dev_node_obj: Handle to the dev_node who's driver we are querying.
* buf_size: Size of buffer.
* str_zl_file_name: Ptr to character buf to hold ZLFileName.
* Returns:
* 0: Success.
* -EFAULT: str_zl_file_name is invalid or dev_node_obj is invalid.
* -ENODATA: couldn't find the ZLFileName.
* Requires:
* CFG initialized.
* Ensures:
* 0: Not more than buf_size bytes were copied into
* str_zl_file_name, and *str_zl_file_name contains ZLFileName
* for this devnode.
*/
extern int cfg_get_zl_file(struct cfg_devnode *dev_node_obj,
u32 buf_size, char *str_zl_file_name);
#endif /* CFG_ */