Port makefiles to Linux (while still supporting Windows)
[keystone-rtos/ibl.git] / src / device / device.h
1 /**********************************************************************************
2  * FILE PURPOSE: Define the device interface
3  **********************************************************************************
4  * FILE NAME: device.h
5  *
6  * DESCRIPTION: This file defines the device wrapper used by IBL modules
7  *
8  * @file device.h
9  *
10  * @brief
11  *  The device wrapper API is defined
12  *
13  ***********************************************************************************/
14 #ifndef DEVICE_H 
15 #define DEVICE_H
17 #include "types.h"
20 /* The target specific file is pointed to via make control. There will be a different
21    target.h file for each platform */
22 #include "target.h"
23  
24  
25  
26 /**
27  * @brief
28  *    Fill in the ibl structure with default values
29  *
30  * @details
31  *    If the ibl table is not pre-loaded during the initial boot, then
32  *    each device will load a default table.
33  */
34 void deviceLoadDefaultIblTable(void);
37 /**
38  * @brief
39  *   Convert a local address to a global address
40  *
41  *  @details
42  *    a local memory address (l1d, l1p, l2) is converted to a global address
43  */
44 Uint32 deviceLocalAddrToGlobal (Uint32 local);
47 /**
48  * @brief Configure the PLLs
49  *
50  * @details
51  *   The three PLLs are enabled. Only the main PLL has the ability to configure
52  *   the multiplier and dividers.
53  */
54 void devicePllConfig (void);
57 /**
58  * @brief
59  *    Power up a peripheral
60  *
61  * @details
62  *    The specified module (and domain if required) is power up
63  */
64 int32 devicePowerPeriph (int32 modNum);
67 /**
68  * @brief Enable the DDR controller
69  *
70  * @details
71  *   The DDR controller is enabled (optionally)
72  */
73 void deviceDdrConfig (void);
76 /**
77  * @brief
78  *    Perform device level configuration for nand boot
79  *
80  * @detials
81  *    Board/chip specific initializations
82  */
83 int32 deviceConfigureForNand(void);
85 /**
86  *  @brief
87  *      Load the default ethernet address
88  *
89  *  @details
90  *      The mac address from e-fuse is loaded
91  */
92 void deviceLoadDefaultEthAddress (uint8 *maddr);
94 #endif