/**************************************************************************** ; ; MODULE atto_setup.h ; ; DESCRIPTION This module is a general header file for all atto ; customization to U-Boot. ; ; ; THIS PROGRAM AND THE INFORMATION CONTAINED HEREIN IS THE PROPERTY OF ; ATTO TECHNOLOGY, INC. AND SHALL NOT BE REPRODUCED, COPIED, OR USED IN ; WHOLE OR IN PART OTHER THAN AS PROVIDED FOR IN THE LICENSE AGREEMENT ; PURSUANT TO WHICH IT WAS FURNISHED. ; ; COPYRIGHT (c) ATTO TECHNOLOGY, INC. 2016 ; ALL RIGHTS RESERVED. ; *****************************************************************************/ #ifndef __ATTO_SETUP_H__ #define __ATTO_SETUP_H__ #include /* QSPI Addresses */ #define ATTO_IMA_ADDR_A 0x00080000 #define ATTO_IMA_ADDR_B 0x03CA0000 #define ATTO_IMA_SIZE 0x00A00000 #define BOOT_STATUS_BLOCK_ADDR 0x078C0000 #define ATTO_QSPI_BLOCK_SIZE 0x10000 #define STRUCT struct __attribute__((aligned(4),packed)) #define STALL_HERE {volatile int i = 1; while(i){};} #define IMAGE_NA 0 #define IMAGE_A 1 #define IMAGE_B 2 #define IMAGE_STATUS_GOOD 0 #define IMAGE_STATUS_BAD 1 /* Filenames */ #define ATTO_FILE_BOOTOLDESTIMAGE "BootOldestImage.txt" #define ATTO_FILE_EXTENDEDPOST "ExtendedPost.txt" /* defines from UVDA */ #define BOOT_NORMAL_STATE 0xffffffff #define BOOT_FIRST_UPDATE_STATE 0x0000ffff #define BOOT_SECOND_UPDATE_STATE 0xffff0000 #define BOOT_REVERT_TIME_MIN 10 #define BOOT_REVERT_DATE 1 #define FALSE 0 #define TRUE 1 extern int atto_image_a_status; extern int atto_image_b_status; extern int atto_image; extern int in_rollback; extern int do_extended_post; uint32_t atto_fpga_get_address(void); void atto_qspi_get_data(uint32_t block_addr, uint32_t offset, uint32_t data_size, uint32_t * pdata); void atto_qspi_set_data(uint32_t addr, uint32_t offset, uint32_t data_size, uint32_t * pdata); int atto_validate_image(uint32_t addr); void atto_init_flash(void); void atto_free_flash(void); #endif /* __ATTO_SETUP_H__ */