/**************************************************************************** ; ; MODULE attosetup.c ; ; 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_HEADER #define ATTO_HEADER #include #define ATTO_FPGA_ADDR_A 0x008B0000 #define ATTO_FPGA_ADDR_B 0x030B0000 #define ATTO_FPGA_BLOCK_NUBMER_A 139 #define ATTO_FPGA_BLOCK_NUBMER_B 779 #define ATTO_IMA_COOKIE_BLOCK_NUM_A 137 #define ATTO_IMA_COOKIE_BLOCK_NUM_B 777 #define ATTO_QSPI_BLOCK_SIZE 0x10000 #define ARRIA10_HPS_SYSMGR_ROM_BASE 0xFFD06200 #define ARRIA10_HPS_SYSMGR_ROM_ISWHANDOFF_5 (ARRIA10_HPS_SYSMGR_ROM_BASE + 0x44) #define ARRIA10_HPS_SYSMGR_ROM_ISWHANDOFF_6 (ARRIA10_HPS_SYSMGR_ROM_BASE + 0x48) #define ARRIA10_HPS_SYSMGR_ROM_ISWHANDOFF_7 (ARRIA10_HPS_SYSMGR_ROM_BASE + 0x4C) #define ISWGRP_7_BOOT_OLDESTIMAGE_MASK 0x80000000 #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 FALSE 0 #define TRUE 1 typedef struct flshblk FLSH_BLK; typedef FLSH_BLK *PFLSH_BLK; STRUCT flshblk { uint16_t wFlshBlkVer; /* Start out at version 0. */ uint16_t wCookie; /* "CAFE", just to make sure we */ /* get started on the right foot */ uint16_t wReleaseImaCrc; /* CRC of Release Image */ uint8_t abyResv1[2]; /* pad */ uint32_t dwDate; /* Date Stamp */ uint32_t dwTime; /* Time Stamp */ char acVerName[12]; /* Version Name */ uint8_t abyResv2[2]; /* pad */ uint16_t wDateTimeCrc; /* CRC of [00-1E] of flshblk */ }; /* Initialize to IMAGE_NA and set it later on. */ extern int atto_image; uint32_t atto_fpga_get_address(void); int atto_setup(void); #endif /* ATTO_HEADER */