/* SPDX-License-Identifier: ISC */ /* * Copyright (c) 2005-2011 Atheros Communications Inc. * Copyright (c) 2011-2016 Qualcomm Atheros, Inc.
*/
#ifndef __TARGADDRS_H__ #define __TARGADDRS_H__
#include"hw.h"
/* * xxx_HOST_INTEREST_ADDRESS is the address in Target RAM of the * host_interest structure. It must match the address of the _host_interest * symbol (see linker script). * * Host Interest is shared between Host and Target in order to coordinate * between the two, and is intended to remain constant (with additions only * at the end) across software releases. * * All addresses are available here so that it's possible to * write a single binary that works with all Target Types. * May be used in assembler code as well as C.
*/ #define QCA988X_HOST_INTEREST_ADDRESS 0x00400800 #define HOST_INTEREST_MAX_SIZE 0x200
/* * These are items that the Host may need to access via BMI or via the * Diagnostic Window. The position of items in this structure must remain * constant across firmware revisions! Types for each item must be fixed * size across target and host platforms. More items may be added at the end.
*/ struct host_interest { /* * Pointer to application-defined area, if any. * Set by Target application during startup.
*/
u32 hi_app_host_interest; /* 0x00 */
/* Pointer to register dump area, valid after Target crash. */
u32 hi_failure_state; /* 0x04 */
/* Pointer to Board Data */
u32 hi_board_data; /* 0x54 */
/* * Indication of Board Data state: * 0: board data is not yet initialized. * 1: board data is initialized; unknown size * >1: number of bytes of initialized board data
*/
u32 hi_board_data_initialized; /* 0x58 */
/* Early allocation support */
u32 hi_early_alloc; /* 0x100 */ /* FW swap field */ /* * Bits of this 32bit word will be used to pass specific swap * instruction to FW
*/ /* * Bit 0 -- AP Nart descriptor no swap. When this bit is set * FW will not swap TX descriptor. Meaning packets are formed * on the target processor.
*/ /* Bit 1 - unused */
u32 hi_fw_swap; /* 0x104 */
/* global arenas pointer address, used by host driver debug */
u32 hi_dynamic_mem_arenas_addr; /* 0x108 */
/* allocated bytes of DRAM use by allocated */
u32 hi_dynamic_mem_allocated; /* 0x10C */
/* remaining bytes of DRAM */
u32 hi_dynamic_mem_remaining; /* 0x110 */
/* * If both SDIO_CRASH_DUMP_ENHANCEMENT_HOST and SDIO_CRASH_DUMP_ENHANCEMENT_FW * flags are set, then crashdump upload will be done using the BMI host/target * communication channel.
*/ /* HOST to support using BMI dump FW memory when hit assert */ #define HI_OPTION_SDIO_CRASH_DUMP_ENHANCEMENT_HOST 0x400
/* FW to support using BMI dump FW memory when hit assert */ #define HI_OPTION_SDIO_CRASH_DUMP_ENHANCEMENT_FW 0x800
/* * CONSOLE FLAGS * * Bit Range Meaning * --------- -------------------------------- * 2..0 UART ID (0 = Default) * 3 Baud Select (0 = 9600, 1 = 115200) * 30..4 Reserved * 31 Enable Console *
*/
/* * WOW Extension configuration * * Bit Range Meaning * --------- -------------------------------- * 8..0 Size of each WOW pattern (max 511) * 15..9 Number of patterns per list (max 127) * 17..16 Number of lists (max 4) * 30..18 Reserved * 31 Enabled * * set values (except enable) to zeros for default settings
*/
/* * Early allocation configuration * Support RAM bank configuration before BMI done and this eases the memory * allocation at very early stage * Bit Range Meaning * --------- ---------------------------------- * [0:3] number of bank assigned to be IRAM * [4:15] reserved * [16:31] magic number * * Note: * 1. target firmware would check magic number and if it's a match, firmware * would consider the bits[0:15] are valid and base on that to calculate * the end of DRAM. Early allocation would be located at that area and * may be reclaimed when necessary * 2. if no magic number is found, early allocation would happen at "_end" * symbol of ROM which is located before the app-data and might NOT be * re-claimable. If this is adopted, link script should keep this in * mind to avoid data corruption.
*/ #define HI_EARLY_ALLOC_MAGIC 0x6d8a #define HI_EARLY_ALLOC_MAGIC_MASK 0xffff0000 #define HI_EARLY_ALLOC_MAGIC_SHIFT 16 #define HI_EARLY_ALLOC_IRAM_BANKS_MASK 0x0000000f #define HI_EARLY_ALLOC_IRAM_BANKS_SHIFT 0
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.