📄 args.h
字号:
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
//------------------------------------------------------------------------------
//
// Copyright (C) 2004, Freescale Semiconductor, Inc. All Rights Reserved
// THIS SOURCE CODE IS CONFIDENTIAL AND PROPRIETARY AND MAY NOT
// BE USED OR DISTRIBUTED WITHOUT THE WRITTEN PERMISSION OF
// FREESCALE SEMICONDUCTOR, INC.
//
//------------------------------------------------------------------------------
//
// File: args.h
//
// This file defines the shared argument structure used by the bootloader and
// the OS image.
//
//------------------------------------------------------------------------------
#ifndef _ARGS_H_
#define _ARGS_H_
#define BSP_ARGS_QUERY_KITL_FLAGS BSP_ARGS_QUERY // Query for KITL flags
#ifdef PLAT_PMC
#include <pmcargs.h>
#ifdef __cplusplus
struct BSP_ARGS : PMC_BSP_ARGS {
UINT32 clockFreq[DDK_CLOCK_SIGNAL_ENUM_END];
BOOL bL2enable;
BOOL bHighSpeedEnable;
UINT32 panicRequests;
};
#else
typedef struct {
PMC_BSP_ARGS;
UINT32 clockFreq[DDK_CLOCK_SIGNAL_ENUM_END];
BOOL bL2enable;
BOOL bHighSpeedEnable;
UINT32 panicRequests;
} BSP_ARGS;
#endif
#else
//------------------------------------------------------------------------------
// Bootloader configuration parameters (stored in NOR flash).
// BOOT_CFG structure defines layout of persistent device
// information. It is used to control boot process. BSP_ARGS structure defines
// information passed from boot loader to kernel HAL/OAL. Each structure has
// version field which should be updated each time when structure layout
// change.
//
#define CONFIG_SIGNATURE 0x12345678
#define CONFIG_VERSION_MAJOR 0x0001
#define CONFIG_VERSION_MINOR 0x0000
typedef struct
{
ULONG Signature; // Config signature (used to validate).
USHORT VerMajor; // Config major version.
USHORT VerMinor; // Config minor version.
ULONG ConfigFlags; // General bootloader flags.
ULONG IPAddr; // Device static IP address.
ULONG SubnetMask; // Device subnet mask.
BYTE BootDevice; // AUTOBOOT device.
BYTE KitlTransport; // KITL transport select.
USHORT CS8900MAC[3]; // Crystal CS8900A MAC address.
ULONG LaunchAddress; // Kernel region launch address.
} BOOT_CFG, *PBOOT_CFG;
#define CONFIG_AUTOBOOT_DEVICE_NOR 0
#define CONFIG_AUTOBOOT_DEVICE_NAND 1
#define CONFIG_FLAGS_AUTOBOOT (1 << 0)
#define CONFIG_FLAGS_DHCP (1 << 1)
#define CONFIG_FLAGS_SAVETOFLASH (1 << 2)
#define CONFIG_FLAGS_KITL_POLL (1 << 3)
#define CONFIG_FLAGS_KITL_PASSIVE (1 << 4)
#define CONFIG_FLAGS_L2CACHE (1 << 5)
#define CONFIG_FLAGS_AHBCLK (1 << 6)
#define CONFIG_FLAGS_ARMCLK (1 << 7)
#define CONFIG_FLAGS_DPTC (1 << 8)
#define CONFIG_FLAGS_DVFS (1 << 9)
#define CONFIG_FLAGS_SW2A (1 << 10)
#define CONFIG_DEFAULT_IPADDR "0.0.0.0"
#define CONFIG_DEFAULT_SUBNET_MASK "0.0.0.0"
#define BSP_ARGS_DEFAULT_MAC_BYTE0 0x12
#define BSP_ARGS_DEFAULT_MAC_BYTE1 0x13
#define BSP_ARGS_DEFAULT_MAC_BYTE2 0x17
#define BSP_ARGS_DEFAULT_MAC_BYTE3 0x28
#define BSP_ARGS_DEFAULT_MAC_BYTE4 0x31
#define BSP_ARGS_DEFAULT_MAC_BYTE5 0x00
//------------------------------------------------------------------------------
#define BSP_ARGS_VERSION 1
typedef struct {
OAL_ARGS_HEADER header;
UINT8 deviceId[16]; // Device identification
OAL_KITL_ARGS kitl;
UINT32 clockFreq[DDK_CLOCK_SIGNAL_ENUM_END];
BOOL bL2enable;
BOOL bHighSpeedEnable;
UINT32 panicRequests;
} BSP_ARGS;
//------------------------------------------------------------------------------
// For BOOT configuration access
void OALResetBootCFG(BOOT_CFG *pBootCfg);
BOOL OALReadBootCFG(BOOT_CFG *EBootCFG);
BOOL OALWriteBootCFG(BOOT_CFG *EBootCFG);
#endif // PLAT_PMC
BOOL OALBspArgsInit(BSP_ARGS *pBSPArgs);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -