blob: 5802203503e2c13c30246e660db1be16cb28aeb4 [file] [log] [blame]
// **********************************************************************
// * NOTICE *
// * *
// * COPYRIGHT MARVELL INTERNATIONAL LTD. AND ITS AFFILIATES *
// * ALL RIGHTS RESERVED *
// * *
// * The source code for this computer program is CONFIDENTIAL and a *
// * TRADE SECRET of MARVELL INTERNATIONAL LTD. AND ITS AFFILIATES *
// * ("MARVELL"). The receipt or possession of this program does not *
// * convey any rights to reproduce or disclose its contents, or to *
// * manufacture, use, or sell anything that it may describe, in *
// * whole or in part, without the specific written consent of MARVELL. *
// * Any reproduction or distribution of this program without the *
// * express written consent of MARVELL is a violation of the copyright *
// * laws and may subject you to criminal prosecution. *
// * *
// **********************************************************************
#ifndef BCMREG_H
#define BCMREG_H
typedef unsigned int BCM_U32;
typedef unsigned char BCM_U8;
// the command mailbox, which appears in the Client's memory space
typedef struct _NOT_MAILBOX
{
BCM_U32 primitive_command_parameter0; // 0x0 Write Only
BCM_U32 primitive_command_parameter1; // 0x4 Write Only
BCM_U32 primitive_command_parameter2; // 0x8 Write Only
BCM_U32 primitive_command_parameter3; // 0xc Write Only
BCM_U32 primitive_command_parameter4; // 0x10 Write Only
BCM_U32 primitive_command_parameter5; // 0x14 Write Only
BCM_U32 primitive_command_parameter6; // 0x18 Write Only
BCM_U32 primitive_command_parameter7; // 0x1c Write Only
BCM_U32 primitive_command_parameter8; // 0x20 Write Only
BCM_U32 primitive_command_parameter9; // 0x24 Write Only
BCM_U32 primitive_command_paramete10; // 0x28 Write Only
BCM_U32 primitive_command_parameter11; // 0x2c Write Only
BCM_U32 primitive_command_parameter12; // 0x30 Write Only
BCM_U32 primitive_command_parameter13; // 0x34 Write Only
BCM_U32 primitive_command_parameter14; // 0x38 Write Only: linked-list dma host-read pointer
BCM_U32 primitive_command_parameter15; // 0x3c Write Only: linked-list dma host-write pointer
BCM_U32 secure_processor_command; // 0x40 Write Only
BCM_U8 reserved_0x44[60];
BCM_U32 command_return_status; // 0x80 Read Only
BCM_U32 command_status_0; // 0x84 Read Only
BCM_U32 command_status_1; // 0x88 Read Only
BCM_U32 command_status_2; // 0x8c Read Only
BCM_U32 command_status_3; // 0x90 Read Only
BCM_U32 command_status_4; // 0x94 Read Only
BCM_U32 command_status_5; // 0x98 Read Only
BCM_U32 command_status_6; // 0x9c Read Only
BCM_U32 command_status_7; // 0xa0 Read Only
BCM_U32 command_status_8; // 0xa4 Read Only
BCM_U32 command_status_9; // 0xa8 Read Only
BCM_U32 command_status_10; // 0xac Read Only
BCM_U32 command_status_11; // 0xb0 Read Only
BCM_U32 command_status_12; // 0xb4 Read Only
BCM_U32 command_status_13; // 0xb8 Read Only
BCM_U32 command_status_14; // 0xbc Read Only
BCM_U32 command_status_15; // 0xc0 Read Only
BCM_U32 command_fifo_status; // 0xc4 Read Only
BCM_U32 host_interrupt_register; // 0xc8 Write-to-Clear
BCM_U32 host_interrupt_mask; // 0xcc Write-to-Clear
BCM_U32 host_exception_address; // 0xd0 Write-to-Clear
BCM_U32 sp_trust_register; // 0xd4 Read Only
BCM_U32 wtm_identification; // 0xd8 Read Only
BCM_U32 wtm_revision; // 0xdc Read Only
} NOT_MAILBOX;
typedef struct
{
BCM_U32 command_parameter_0; // 0x0
BCM_U32 command_parameter_1; // 0x4
BCM_U32 command_parameter_2; // 0x8
BCM_U32 command_parameter_3; // 0xc
BCM_U32 command_parameter_4; // 0x10
BCM_U32 command_parameter_5; // 0x14
BCM_U32 command_parameter_6; // 0x18
BCM_U32 command_parameter_7; // 0x1c
BCM_U32 command_parameter_8; // 0x20
BCM_U32 command_parameter_9; // 0x24
BCM_U32 command_parameter_10; // 0x28
BCM_U32 command_parameter_11; // 0x2c
BCM_U32 command_parameter_12; // 0x30
BCM_U32 command_parameter_13; // 0x34
BCM_U32 command_parameter_14; // 0x38
BCM_U32 command_parameter_15; // 0x3c
BCM_U32 secure_processor_command; // 0x40
BCM_U8 reserved_0x44[60];
BCM_U32 command_return_status; // 0x80
BCM_U32 command_status_0; // 0x84
BCM_U32 command_status_1; // 0x88
BCM_U32 command_status_2; // 0x8c
BCM_U32 command_status_3; // 0x90
BCM_U32 command_status_4; // 0x94
BCM_U32 command_status_5; // 0x98
BCM_U32 command_status_6; // 0x9c
BCM_U32 command_status_7; // 0xa0
BCM_U32 command_status_8; // 0xa4
BCM_U32 command_status_9; // 0xa8
BCM_U32 command_status_10; // 0xac
BCM_U32 command_status_11; // 0xb0
BCM_U32 command_status_12; // 0xb4
BCM_U32 command_status_13; // 0xb8
BCM_U32 command_status_14; // 0xbc
BCM_U32 command_status_15; // 0xc0
BCM_U32 command_fifo_status; // 0xc4
BCM_U32 host_interrupt_reset; // 0xc8
BCM_U32 host_interrupt_mask; // 0xcc
BCM_U32 host_exception_address; // 0xd0
BCM_U32 sp_trust_register; // 0xd4
BCM_U32 wtm_identification; // 0xd8
BCM_U32 wtm_revision; // 0xdc
BCM_U32 context_status; // 0xe0
BCM_U8 reserved_0xe4[300];
BCM_U32 sp_interrupt_set; // 0x210
BCM_U32 sp_sram_control; // 0x214
BCM_U32 sp_interrupt_reset; // 0x218
BCM_U32 sp_interrupt_mask; // 0x21c
BCM_U32 sp_control; // 0x220
BCM_U32 sp_exception_address; // 0x224
BCM_U32 sp_exception_data; // 0x228
BCM_U32 sp_exception_parity; // 0x22c
BCM_U8 reserved_0x230[4];
BCM_U32 host_interrupt_set; // 0x234
BCM_U8 reserved_0x238[16];
BCM_U32 trust_level; // 0x248
BCM_U8 reserved_0x24c[436];
} BCM_BIU; // Space: 1024 bytes
#endif