blob: 7be84df9470d9bc7d3227a9514e3272e4d11623c [file] [log] [blame]
/****************************************************************************
* arch/arm/src/cxd56xx/hardware/cxd5602_backupmem.h
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
****************************************************************************/
#ifndef __ARCH_ARM_SRC_CXD56XX_HARDWARE_CXD5602_BACKUPMEM_H
#define __ARCH_ARM_SRC_CXD56XX_HARDWARE_CXD5602_BACKUPMEM_H
/****************************************************************************
* Included Files
****************************************************************************/
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
#define CXD56_BKUP_SRAM_BASE (0x04400000)
#define BKUP ((backup_info_t*)CXD56_BKUP_SRAM_BASE)
/****************************************************************************
* Public Types
****************************************************************************/
typedef struct
{
uint32_t rcosc_clock; /* 0x04400000 ~ 0x04400003 */
uint32_t chip_revision; /* 0x04400004 ~ 0x04400007 */
uint32_t sbl_version; /* 0x04400008 ~ 0x0440000b */
uint32_t sysfw_version; /* 0x0440000c ~ 0x0440000f */
uint32_t gnssfw_version; /* 0x04400010 ~ 0x04400013 */
uint32_t reserved_version[2]; /* 0x04400014 ~ 0x0440001b */
uint32_t fw_free_space; /* 0x0440001c ~ 0x0440001f */
uint32_t bootcause; /* 0x04400020 ~ 0x04400023 */
uint32_t bootmask; /* 0x04400024 ~ 0x04400027 */
uint32_t bootreserve; /* 0x04400028 ~ 0x0440002b */
uint32_t systemconfig; /* 0x0440002c ~ 0x0440002f */
uint8_t rtc_saved_data[32]; /* 0x04400030 ~ 0x0440004f */
uint32_t irq_wake_map[4]; /* 0x04400050 ~ 0x0440005f */
uint32_t irq_inv_map[4]; /* 0x04400060 ~ 0x0440006f */
uint8_t reserved0[0x100 - 0x70]; /* 0x04400070 ~ 0x044000ff */
uint8_t power_monitor_data[0x420]; /* 0x04400100 ~ 0x0440051f */
uint8_t reserved1[2 * 1024 - 0x520]; /* 0x04400520 ~ 0x044007ff (2KB-0x520) */
uint8_t gnss_backup_data[24 * 1024]; /* 0x04400800 ~ 0x044067ff (24KB) */
uint8_t gnss_pvtlog_data[4 * 1024]; /* 0x04406800 ~ 0x044077ff (4KB) */
uint8_t reserved_romcode[2 * 1024]; /* 0x04407800 ~ 0x04407fff (2KB) */
uint8_t log[32 * 1024]; /* 0x04408000 ~ 0x0440ffff (32KB) */
} backup_info_t;
/****************************************************************************
* Public Data
****************************************************************************/
/****************************************************************************
* Public Functions Prototypes
****************************************************************************/
#endif /* __ARCH_ARM_SRC_CXD56XX_HARDWARE_CXD5602_BACKUPMEM_H */