- toolkit V2.8.0.1@14806 - BSL V1.8.0.0@14590 - tcpserver: V1.4.3.0@14676 (marshaller V2.4.0.1@14551)
104 lines
3.6 KiB
C
104 lines
3.6 KiB
C
/**************************************************************************************
|
|
|
|
Copyright (c) Hilscher Gesellschaft fuer Systemautomation mbH. All Rights Reserved.
|
|
|
|
***************************************************************************************
|
|
|
|
$Id: netx90_4x00_romloader_dpm.h 14189 2021-08-31 10:49:31Z RMayer $:
|
|
|
|
Description:
|
|
netX90 and netX4000 ROM Loader DPM layout
|
|
|
|
Changes:
|
|
Date Description
|
|
-----------------------------------------------------------------------------------
|
|
2021-08-31 added some comments
|
|
2018-11-30 initial version
|
|
|
|
**************************************************************************************/
|
|
|
|
#ifndef __NETX90_4X00_ROMLOADER_DPM_H__
|
|
#define __NETX90_4X00_ROMLOADER_DPM_H__
|
|
|
|
/*-----------------------------------------------*/
|
|
/* netX90 chip identifier definitions */
|
|
/*-----------------------------------------------*/
|
|
#define HBOOT_DPM_NETX90_COOKIE 0x0900000D
|
|
|
|
#define MSK_HBOOT_DPM_NETX90_TYPE 0x00FF0000
|
|
#define MSK_HBOOT_DPM_NETX90_ROMSTEP 0x0000FF00
|
|
|
|
/*-----------------------------------------------*/
|
|
/* netX4000 chip identifier definitions */
|
|
/*-----------------------------------------------*/
|
|
#define HBOOT_DPM_NETX4000_COOKIE 0x84524C0B
|
|
#define HBOOT_DPM_NETX4100_COOKIE 0x93615B0B
|
|
|
|
/*-----------------------------------------------*/
|
|
/* netX ROM code definitions */
|
|
/*-----------------------------------------------*/
|
|
/* The 'NXBL' DPM boot identifier ('NXBL') is shown when the ROM code is running. */
|
|
#define HBOOT_V2_DPM_ID 0x4c42584e
|
|
#define HBOOT_V2_DPM_ID_ADR 0x100
|
|
|
|
/* Definition of the ROM code DPM layout and functions */
|
|
#define HBOOT_V2_DPM_NETX_TO_HOST_BUFFERSIZE 0x0200
|
|
#define HBOOT_V2_DPM_HOST_TO_NETX_BUFFERSIZE 0x0400
|
|
|
|
#define HBOOT_V2_DPM_BITFLIP_BUFFERSIZE 0xf800
|
|
|
|
#define DPM_BOOT_NETX_RECEIVED_CMD 0x01
|
|
#define DPM_BOOT_NETX_SEND_CMD 0x02
|
|
|
|
#define DPM_BOOT_HOST_SEND_CMD 0x01
|
|
#define DPM_BOOT_HOST_RECEIVED_CMD 0x02
|
|
|
|
#define SRT_HANDSHAKE_REG_ARM_DATA 16
|
|
#define SRT_HANDSHAKE_REG_PC_DATA 24
|
|
|
|
#define HBOOT_MSK_SYS_STA_BITFLIP 0x80
|
|
|
|
#define MSK_HBOOT_dpm_sys_sta_NETX_STA_CODE_ro 0x00ff0000U
|
|
#define SRT_HBOOT_dpm_sys_sta_NETX_STA_CODE_ro 8
|
|
|
|
#define MSK_HBOOT_dpm_status_unlocked 0x00000001U
|
|
#define SRT_HBOOT_dpm_status_unlocked 0
|
|
|
|
|
|
typedef struct HBOOT_V2_DPM_CFG_AREA_STRUCT
|
|
{
|
|
volatile uint32_t aulReserved0[7];
|
|
volatile uint32_t ulDpm_status;
|
|
volatile uint32_t aulReserved1[46];
|
|
volatile uint32_t ulDpm_sys_sta;
|
|
volatile uint32_t ulDpm_reset_request;
|
|
volatile uint32_t aulReserved5[7];
|
|
volatile uint32_t ulDpm_netx_version;
|
|
} HBOOT_V2_DPM_CFG_AREA_T;
|
|
|
|
|
|
|
|
typedef struct HBOOT_V2_DPM_BLOCKS_STRUCTURE
|
|
{
|
|
volatile uint32_t ulDpmBootId;
|
|
volatile uint32_t ulDpmByteSize;
|
|
volatile uint32_t aulReserved_08[28];
|
|
volatile uint32_t ulNetxToHostDataSize;
|
|
volatile uint32_t ulHostToNetxDataSize;
|
|
volatile uint32_t ulHandshake;
|
|
volatile uint32_t aulReserved_84[31];
|
|
volatile uint8_t aucNetxToHostData[HBOOT_V2_DPM_NETX_TO_HOST_BUFFERSIZE];
|
|
volatile uint8_t aucHostToNetxData[HBOOT_V2_DPM_HOST_TO_NETX_BUFFERSIZE];
|
|
} HBOOT_V2_DPM_BLOCKS_T;
|
|
|
|
|
|
typedef struct HBOOT_V2_DPM_AREA_STRUCTURE
|
|
{
|
|
HBOOT_V2_DPM_CFG_AREA_T tConfigurationRegisters;
|
|
HBOOT_V2_DPM_BLOCKS_T tDpmBlocks;
|
|
volatile uint8_t aucBitflipArea[HBOOT_V2_DPM_BITFLIP_BUFFERSIZE];
|
|
} HBOOT_V2_DPM_AREA_T;
|
|
|
|
|
|
#endif /* __NETX90_4X00_ROMLOADER_DPM_H__ */
|