Scan Manager driver will be called to configure the IOCSR scan chain. This configuration will setup the IO buffer settings Signed-off-by: Chin Liang See <clsee@altera.com> Cc: Dinh Nguyen <dinguyen@altera.com> Cc: Wolfgang Denk <wd@denx.de> CC: Pavel Machek <pavel@denx.de> Cc: Tom Rini <trini@ti.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net>master
parent
05b884b5cd
commit
dc4d4aa14b
@ -0,0 +1,209 @@ |
||||
/*
|
||||
* Copyright (C) 2013 Altera Corporation <www.altera.com> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <asm/io.h> |
||||
#include <asm/arch/freeze_controller.h> |
||||
#include <asm/arch/scan_manager.h> |
||||
|
||||
DECLARE_GLOBAL_DATA_PTR; |
||||
|
||||
static const struct socfpga_scan_manager *scan_manager_base = |
||||
(void *)(SOCFPGA_SCANMGR_ADDRESS); |
||||
static const struct socfpga_freeze_controller *freeze_controller_base = |
||||
(void *)(SOCFPGA_SYSMGR_ADDRESS + SYSMGR_FRZCTRL_ADDRESS); |
||||
|
||||
/*
|
||||
* Function to check IO scan chain engine status and wait if the engine is |
||||
* is active. Poll the IO scan chain engine till maximum iteration reached. |
||||
*/ |
||||
static inline uint32_t scan_chain_engine_is_idle(uint32_t max_iter) |
||||
{ |
||||
uint32_t scanmgr_status; |
||||
|
||||
scanmgr_status = readl(&scan_manager_base->stat); |
||||
|
||||
/* Poll the engine until the scan engine is inactive */ |
||||
while (SCANMGR_STAT_ACTIVE_GET(scanmgr_status) || |
||||
(SCANMGR_STAT_WFIFOCNT_GET(scanmgr_status) > 0)) { |
||||
max_iter--; |
||||
if (max_iter > 0) |
||||
scanmgr_status = readl(&scan_manager_base->stat); |
||||
else |
||||
return 0; |
||||
} |
||||
return 1; |
||||
} |
||||
|
||||
/* Program HPS IO Scan Chain */ |
||||
uint32_t scan_mgr_io_scan_chain_prg( |
||||
uint32_t io_scan_chain_id, |
||||
uint32_t io_scan_chain_len_in_bits, |
||||
const uint32_t *iocsr_scan_chain) |
||||
{ |
||||
uint16_t tdi_tdo_header; |
||||
uint32_t io_program_iter; |
||||
uint32_t io_scan_chain_data_residual; |
||||
uint32_t residual; |
||||
uint32_t i; |
||||
uint32_t index = 0; |
||||
|
||||
/*
|
||||
* De-assert reinit if the IO scan chain is intended for HIO. In |
||||
* this, its the chain 3. |
||||
*/ |
||||
if (io_scan_chain_id == 3) |
||||
clrbits_le32(&freeze_controller_base->hioctrl, |
||||
SYSMGR_FRZCTRL_HIOCTRL_DLLRST_MASK); |
||||
|
||||
/*
|
||||
* Check if the scan chain engine is inactive and the |
||||
* WFIFO is empty before enabling the IO scan chain |
||||
*/ |
||||
if (!scan_chain_engine_is_idle(SCAN_MAX_DELAY)) |
||||
return 1; |
||||
|
||||
/*
|
||||
* Enable IO Scan chain based on scan chain id |
||||
* Note: only one chain can be enabled at a time |
||||
*/ |
||||
setbits_le32(&scan_manager_base->en, 1 << io_scan_chain_id); |
||||
|
||||
/*
|
||||
* Calculate number of iteration needed for full 128-bit (4 x32-bits) |
||||
* bits shifting. Each TDI_TDO packet can shift in maximum 128-bits |
||||
*/ |
||||
io_program_iter = io_scan_chain_len_in_bits >> |
||||
IO_SCAN_CHAIN_128BIT_SHIFT; |
||||
io_scan_chain_data_residual = io_scan_chain_len_in_bits & |
||||
IO_SCAN_CHAIN_128BIT_MASK; |
||||
|
||||
/* Construct TDI_TDO packet for 128-bit IO scan chain (2 bytes) */ |
||||
tdi_tdo_header = TDI_TDO_HEADER_FIRST_BYTE | |
||||
(TDI_TDO_MAX_PAYLOAD << TDI_TDO_HEADER_SECOND_BYTE_SHIFT); |
||||
|
||||
/* Program IO scan chain in 128-bit iteration */ |
||||
for (i = 0; i < io_program_iter; i++) { |
||||
/* write TDI_TDO packet header to scan manager */ |
||||
writel(tdi_tdo_header, &scan_manager_base->fifo_double_byte); |
||||
|
||||
/* calculate array index. Multiply by 4 as write 4 x 32bits */ |
||||
index = i * 4; |
||||
|
||||
/* write 4 successive 32-bit IO scan chain data into WFIFO */ |
||||
writel(iocsr_scan_chain[index], |
||||
&scan_manager_base->fifo_quad_byte); |
||||
writel(iocsr_scan_chain[index + 1], |
||||
&scan_manager_base->fifo_quad_byte); |
||||
writel(iocsr_scan_chain[index + 2], |
||||
&scan_manager_base->fifo_quad_byte); |
||||
writel(iocsr_scan_chain[index + 3], |
||||
&scan_manager_base->fifo_quad_byte); |
||||
|
||||
/*
|
||||
* Check if the scan chain engine has completed the |
||||
* IO scan chain data shifting |
||||
*/ |
||||
if (!scan_chain_engine_is_idle(SCAN_MAX_DELAY)) |
||||
goto error; |
||||
} |
||||
|
||||
/* Calculate array index for final TDI_TDO packet */ |
||||
index = io_program_iter * 4; |
||||
|
||||
/* Final TDI_TDO packet if any */ |
||||
if (io_scan_chain_data_residual) { |
||||
/*
|
||||
* Calculate number of quad bytes FIFO write |
||||
* needed for the final TDI_TDO packet |
||||
*/ |
||||
io_program_iter = io_scan_chain_data_residual >> |
||||
IO_SCAN_CHAIN_32BIT_SHIFT; |
||||
|
||||
/*
|
||||
* Construct TDI_TDO packet for remaining IO |
||||
* scan chain (2 bytes) |
||||
*/ |
||||
tdi_tdo_header = TDI_TDO_HEADER_FIRST_BYTE | |
||||
((io_scan_chain_data_residual - 1) << |
||||
TDI_TDO_HEADER_SECOND_BYTE_SHIFT); |
||||
|
||||
/*
|
||||
* Program the last part of IO scan chain write TDI_TDO packet |
||||
* header (2 bytes) to scan manager |
||||
*/ |
||||
writel(tdi_tdo_header, &scan_manager_base->fifo_double_byte); |
||||
|
||||
for (i = 0; i < io_program_iter; i++) { |
||||
/*
|
||||
* write remaining scan chain data into scan |
||||
* manager WFIFO with 4 bytes write |
||||
*/ |
||||
writel(iocsr_scan_chain[index + i], |
||||
&scan_manager_base->fifo_quad_byte); |
||||
} |
||||
|
||||
index += io_program_iter; |
||||
residual = io_scan_chain_data_residual & |
||||
IO_SCAN_CHAIN_32BIT_MASK; |
||||
|
||||
if (IO_SCAN_CHAIN_PAYLOAD_24BIT < residual) { |
||||
/*
|
||||
* write the last 4B scan chain data |
||||
* into scan manager WFIFO |
||||
*/ |
||||
writel(iocsr_scan_chain[index], |
||||
&scan_manager_base->fifo_quad_byte); |
||||
} else { |
||||
/*
|
||||
* write the remaining 1 - 3 bytes scan chain |
||||
* data into scan manager WFIFO byte by byte |
||||
* to prevent JTAG engine shifting unused data |
||||
* from the FIFO and mistaken the data as a |
||||
* valid command (even though unused bits are |
||||
* set to 0, but just to prevent hardware |
||||
* glitch) |
||||
*/ |
||||
for (i = 0; i < residual; i += 8) { |
||||
writel(((iocsr_scan_chain[index] >> i) |
||||
& IO_SCAN_CHAIN_BYTE_MASK), |
||||
&scan_manager_base->fifo_single_byte); |
||||
} |
||||
} |
||||
|
||||
/*
|
||||
* Check if the scan chain engine has completed the |
||||
* IO scan chain data shifting |
||||
*/ |
||||
if (!scan_chain_engine_is_idle(SCAN_MAX_DELAY)) |
||||
goto error; |
||||
} |
||||
|
||||
/* Disable IO Scan chain when configuration done*/ |
||||
clrbits_le32(&scan_manager_base->en, 1 << io_scan_chain_id); |
||||
return 0; |
||||
|
||||
error: |
||||
/* Disable IO Scan chain when error detected */ |
||||
clrbits_le32(&scan_manager_base->en, 1 << io_scan_chain_id); |
||||
return 1; |
||||
} |
||||
|
||||
int scan_mgr_configure_iocsr(void) |
||||
{ |
||||
int status = 0; |
||||
|
||||
/* configure the IOCSR through scan chain */ |
||||
status |= scan_mgr_io_scan_chain_prg(0, |
||||
CONFIG_HPS_IOCSR_SCANCHAIN0_LENGTH, iocsr_scan_chain0_table); |
||||
status |= scan_mgr_io_scan_chain_prg(1, |
||||
CONFIG_HPS_IOCSR_SCANCHAIN1_LENGTH, iocsr_scan_chain1_table); |
||||
status |= scan_mgr_io_scan_chain_prg(2, |
||||
CONFIG_HPS_IOCSR_SCANCHAIN2_LENGTH, iocsr_scan_chain2_table); |
||||
status |= scan_mgr_io_scan_chain_prg(3, |
||||
CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH, iocsr_scan_chain3_table); |
||||
return status; |
||||
} |
@ -0,0 +1,90 @@ |
||||
/*
|
||||
* Copyright (C) 2013 Altera Corporation <www.altera.com> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef _SCAN_MANAGER_H_ |
||||
#define _SCAN_MANAGER_H_ |
||||
|
||||
struct socfpga_scan_manager { |
||||
u32 stat; |
||||
u32 en; |
||||
u32 padding[2]; |
||||
u32 fifo_single_byte; |
||||
u32 fifo_double_byte; |
||||
u32 fifo_quad_byte; |
||||
}; |
||||
|
||||
/*
|
||||
* Shift count to get number of IO scan chain data in granularity |
||||
* of 128-bit ( N / 128 ) |
||||
*/ |
||||
#define IO_SCAN_CHAIN_128BIT_SHIFT 7 |
||||
|
||||
/*
|
||||
* Mask to get residual IO scan chain data in |
||||
* granularity of 128-bit ( N mod 128 ) |
||||
*/ |
||||
#define IO_SCAN_CHAIN_128BIT_MASK 0x7F |
||||
|
||||
/*
|
||||
* Shift count to get number of IO scan chain |
||||
* data in granularity of 32-bit ( N / 32 ) |
||||
*/ |
||||
#define IO_SCAN_CHAIN_32BIT_SHIFT 5 |
||||
|
||||
/*
|
||||
* Mask to get residual IO scan chain data in |
||||
* granularity of 32-bit ( N mod 32 ) |
||||
*/ |
||||
#define IO_SCAN_CHAIN_32BIT_MASK 0x1F |
||||
|
||||
/* Byte mask */ |
||||
#define IO_SCAN_CHAIN_BYTE_MASK 0xFF |
||||
|
||||
/* 24-bits (3 bytes) IO scan chain payload definition */ |
||||
#define IO_SCAN_CHAIN_PAYLOAD_24BIT 24 |
||||
|
||||
/*
|
||||
* Maximum length of TDI_TDO packet payload is 128 bits, |
||||
* represented by (length - 1) in TDI_TDO header |
||||
*/ |
||||
#define TDI_TDO_MAX_PAYLOAD 127 |
||||
|
||||
/* TDI_TDO packet header for IO scan chain program */ |
||||
#define TDI_TDO_HEADER_FIRST_BYTE 0x80 |
||||
|
||||
/* Position of second command byte for TDI_TDO packet */ |
||||
#define TDI_TDO_HEADER_SECOND_BYTE_SHIFT 8 |
||||
|
||||
/*
|
||||
* Maximum polling loop to wait for IO scan chain engine |
||||
* becomes idle to prevent infinite loop |
||||
*/ |
||||
#define SCAN_MAX_DELAY 100 |
||||
|
||||
#define SCANMGR_STAT_ACTIVE_GET(x) (((x) & 0x80000000) >> 31) |
||||
#define SCANMGR_STAT_WFIFOCNT_GET(x) (((x) & 0x70000000) >> 28) |
||||
|
||||
/*
|
||||
* Program HPS IO Scan Chain |
||||
* io_scan_chain_id - IO scan chain ID |
||||
* io_scan_chain_len_in_bits - IO scan chain length in bits |
||||
* iocsr_scan_chain - IO scan chain table |
||||
*/ |
||||
uint32_t scan_mgr_io_scan_chain_prg( |
||||
uint32_t io_scan_chain_id, |
||||
uint32_t io_scan_chain_len_in_bits, |
||||
const uint32_t *iocsr_scan_chain); |
||||
|
||||
extern const uint32_t iocsr_scan_chain0_table[ |
||||
((CONFIG_HPS_IOCSR_SCANCHAIN0_LENGTH / 32) + 1)]; |
||||
extern const uint32_t iocsr_scan_chain1_table[ |
||||
((CONFIG_HPS_IOCSR_SCANCHAIN1_LENGTH / 32) + 1)]; |
||||
extern const uint32_t iocsr_scan_chain2_table[ |
||||
((CONFIG_HPS_IOCSR_SCANCHAIN2_LENGTH / 32) + 1)]; |
||||
extern const uint32_t iocsr_scan_chain3_table[ |
||||
((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH / 32) + 1)]; |
||||
|
||||
#endif /* _SCAN_MANAGER_H_ */ |
@ -0,0 +1,657 @@ |
||||
/*
|
||||
* Copyright Altera Corporation (C) 2012-2014. All rights reserved |
||||
* |
||||
* SPDX-License-Identifier: BSD-3-Clause |
||||
*/ |
||||
|
||||
/* This file is generated by Preloader Generator */ |
||||
|
||||
#include <iocsr_config.h> |
||||
|
||||
const unsigned long iocsr_scan_chain0_table[(( |
||||
CONFIG_HPS_IOCSR_SCANCHAIN0_LENGTH / 32) + 1)] = { |
||||
0x00000000, |
||||
0x00000000, |
||||
0x0FF00000, |
||||
0xC0000000, |
||||
0x0000003F, |
||||
0x00008000, |
||||
0x00020080, |
||||
0x08020000, |
||||
0x08000000, |
||||
0x00018020, |
||||
0x00000000, |
||||
0x00004000, |
||||
0x00010040, |
||||
0x04010000, |
||||
0x04000000, |
||||
0x00000010, |
||||
0x00004010, |
||||
0x00002000, |
||||
0x00020000, |
||||
0x02008000, |
||||
0x02000000, |
||||
0x00000008, |
||||
0x00002008, |
||||
0x00001000, |
||||
}; |
||||
|
||||
const unsigned long iocsr_scan_chain1_table[(( |
||||
CONFIG_HPS_IOCSR_SCANCHAIN1_LENGTH / 32) + 1)] = { |
||||
0x000C0300, |
||||
0x10040000, |
||||
0x100000C0, |
||||
0x00000040, |
||||
0x00010040, |
||||
0x00008000, |
||||
0x00080000, |
||||
0x18060000, |
||||
0x18000000, |
||||
0x00000060, |
||||
0x00018060, |
||||
0x00004000, |
||||
0x00010040, |
||||
0x10000000, |
||||
0x04000000, |
||||
0x00000010, |
||||
0x00004010, |
||||
0x00002000, |
||||
0x06008020, |
||||
0x02008000, |
||||
0x01FE0000, |
||||
0xF8000000, |
||||
0x00000007, |
||||
0x00001000, |
||||
0x00004010, |
||||
0x01004000, |
||||
0x01000000, |
||||
0x00003004, |
||||
0x00001004, |
||||
0x00000800, |
||||
0x00000000, |
||||
0x00000000, |
||||
0x00800000, |
||||
0x00000002, |
||||
0x00002000, |
||||
0x00000400, |
||||
0x00000000, |
||||
0x00401000, |
||||
0x00000003, |
||||
0x00000000, |
||||
0x00000000, |
||||
0x00000200, |
||||
0x00600802, |
||||
0x00000000, |
||||
0x80200000, |
||||
0x80000600, |
||||
0x00000200, |
||||
0x00000100, |
||||
0x00300401, |
||||
0xC0100400, |
||||
0x40100000, |
||||
0x40000300, |
||||
0x000C0100, |
||||
0x00000080, |
||||
}; |
||||
|
||||
const unsigned long iocsr_scan_chain2_table[(( |
||||
CONFIG_HPS_IOCSR_SCANCHAIN2_LENGTH / 32) + 1)] = { |
||||
0x80040100, |
||||
0x00000000, |
||||
0x0FF00000, |
||||
0x00000000, |
||||
0x0C010040, |
||||
0x00008000, |
||||
0x18020080, |
||||
0x00000000, |
||||
0x08000000, |
||||
0x00040020, |
||||
0x06018060, |
||||
0x00004000, |
||||
0x0C010040, |
||||
0x04010000, |
||||
0x00000030, |
||||
0x00000000, |
||||
0x03004010, |
||||
0x00002000, |
||||
0x06008020, |
||||
0x02008000, |
||||
0x02000018, |
||||
0x00006008, |
||||
0x01802008, |
||||
0x00001000, |
||||
0x03004010, |
||||
0x01004000, |
||||
0x0100000C, |
||||
0x00003004, |
||||
0x00C01004, |
||||
0x00000800, |
||||
}; |
||||
|
||||
const unsigned long iocsr_scan_chain3_table[(( |
||||
CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH / 32) + 1)] = { |
||||
0x2C420D80, |
||||
0x082000FF, |
||||
0x0A804001, |
||||
0x07900000, |
||||
0x08020000, |
||||
0x00100000, |
||||
0x0A800000, |
||||
0x07900000, |
||||
0x08020000, |
||||
0x00100000, |
||||
0xC8800000, |
||||
0x00003001, |
||||
0x00C00722, |
||||
0x00000000, |
||||
0x00000021, |
||||
0x82000004, |
||||
0x05400000, |
||||
0x03C80000, |
||||
0x04010000, |
||||
0x00080000, |
||||
0x05400000, |
||||
0x03C80000, |
||||
0x05400000, |
||||
0x03C80000, |
||||
0xE4400000, |
||||
0x00001800, |
||||
0x00600391, |
||||
0x800E4400, |
||||
0x00000001, |
||||
0x40000002, |
||||
0x02A00000, |
||||
0x01E40000, |
||||
0x02A00000, |
||||
0x01E40000, |
||||
0x02A00000, |
||||
0x01E40000, |
||||
0x02A00000, |
||||
0x01E40000, |
||||
0x72200000, |
||||
0x80000C00, |
||||
0x003001C8, |
||||
0xC0072200, |
||||
0x1C880000, |
||||
0x20000300, |
||||
0x00040000, |
||||
0x50670000, |
||||
0x00000070, |
||||
0x24590000, |
||||
0x00001000, |
||||
0xA0000034, |
||||
0x0D000001, |
||||
0x906808A2, |
||||
0xA2834024, |
||||
0x05141A00, |
||||
0x808A20D0, |
||||
0x34024906, |
||||
0x01A00A28, |
||||
0xA20D0000, |
||||
0x24906808, |
||||
0x00A28340, |
||||
0xD000001A, |
||||
0x06808A20, |
||||
0x10040000, |
||||
0x00200000, |
||||
0x10040000, |
||||
0x00200000, |
||||
0x15000000, |
||||
0x0F200000, |
||||
0x15000000, |
||||
0x0F200000, |
||||
0x01FE0000, |
||||
0x00000000, |
||||
0x01800E44, |
||||
0x00391000, |
||||
0x007F8006, |
||||
0x00000000, |
||||
0x0A800001, |
||||
0x07900000, |
||||
0x0A800000, |
||||
0x07900000, |
||||
0x0A800000, |
||||
0x07900000, |
||||
0x08020000, |
||||
0x00100000, |
||||
0xC8800000, |
||||
0x00003001, |
||||
0x00C00722, |
||||
0x00000FF0, |
||||
0x72200000, |
||||
0x80000C00, |
||||
0x05400000, |
||||
0x02480000, |
||||
0x04000000, |
||||
0x00080000, |
||||
0x05400000, |
||||
0x03C80000, |
||||
0x05400000, |
||||
0x03C80000, |
||||
0x6A1C0000, |
||||
0x00001800, |
||||
0x00600391, |
||||
0x800E4400, |
||||
0x1A870001, |
||||
0x40000600, |
||||
0x02A00040, |
||||
0x01E40000, |
||||
0x02A00000, |
||||
0x01E40000, |
||||
0x02A00000, |
||||
0x01E40000, |
||||
0x02A00000, |
||||
0x01E40000, |
||||
0x72200000, |
||||
0x80000C00, |
||||
0x003001C8, |
||||
0xC0072200, |
||||
0x1C880000, |
||||
0x20000300, |
||||
0x00040000, |
||||
0x50670000, |
||||
0x00000070, |
||||
0x24590000, |
||||
0x00001000, |
||||
0xA0000034, |
||||
0x0D000001, |
||||
0x906808A2, |
||||
0xA2834024, |
||||
0x05141A00, |
||||
0x808A20D0, |
||||
0x34024906, |
||||
0x01A00040, |
||||
0xA20D0002, |
||||
0x24906808, |
||||
0x00A28340, |
||||
0xD005141A, |
||||
0x06808A20, |
||||
0x10040000, |
||||
0x00200000, |
||||
0x10040000, |
||||
0x00200000, |
||||
0x15000000, |
||||
0x0F200000, |
||||
0x15000000, |
||||
0x0F200000, |
||||
0x01FE0000, |
||||
0x00000000, |
||||
0x01800E44, |
||||
0x00391000, |
||||
0x007F8006, |
||||
0x00000000, |
||||
0x99300001, |
||||
0x34343400, |
||||
0xAA0D4000, |
||||
0x01C3A810, |
||||
0xAA0D4000, |
||||
0x01C3A808, |
||||
0xAA0D4000, |
||||
0x01C3A810, |
||||
0x00040100, |
||||
0x00000800, |
||||
0x00000000, |
||||
0x00001208, |
||||
0x00482000, |
||||
0x000001C1, |
||||
0x00000000, |
||||
0x00410482, |
||||
0x0006A000, |
||||
0x0001B400, |
||||
0x00020000, |
||||
0x00000400, |
||||
0x0002A000, |
||||
0x0001E400, |
||||
0x5506A000, |
||||
0x00E1D404, |
||||
0x00000000, |
||||
0xC880090C, |
||||
0x00003001, |
||||
0x90400000, |
||||
0x00000000, |
||||
0x2020C243, |
||||
0x2A835000, |
||||
0x0070EA04, |
||||
0x2A835000, |
||||
0x0070EA02, |
||||
0x2A835000, |
||||
0x0070EA04, |
||||
0x00010040, |
||||
0x00000200, |
||||
0x00000000, |
||||
0x00000482, |
||||
0x00120800, |
||||
0x00002000, |
||||
0x80000000, |
||||
0x00104120, |
||||
0x00000200, |
||||
0xAC255F80, |
||||
0xF1C71C71, |
||||
0x14F3690D, |
||||
0x1A041414, |
||||
0x00D00000, |
||||
0x14864000, |
||||
0x59647A05, |
||||
0xBA28A3D8, |
||||
0xF511451E, |
||||
0x0341D348, |
||||
0x821A0000, |
||||
0x0000D000, |
||||
0x04510680, |
||||
0xD859647A, |
||||
0x1EBA28A3, |
||||
0x48F51145, |
||||
0x000341D3, |
||||
0x00080200, |
||||
0x00001000, |
||||
0x00080200, |
||||
0x00001000, |
||||
0x000A8000, |
||||
0x00075000, |
||||
0x541A8000, |
||||
0x03875011, |
||||
0x10000000, |
||||
0x00000000, |
||||
0x0080C000, |
||||
0x41000000, |
||||
0x00003FC2, |
||||
0x00820000, |
||||
0xAA0D4000, |
||||
0x01C3A810, |
||||
0xAA0D4000, |
||||
0x01C3A808, |
||||
0xAA0D4000, |
||||
0x01C3A810, |
||||
0x00040100, |
||||
0x00000800, |
||||
0x00000000, |
||||
0x00001208, |
||||
0x00482000, |
||||
0x00008000, |
||||
0x00000000, |
||||
0x00410482, |
||||
0x0006A000, |
||||
0x0001B400, |
||||
0x00020000, |
||||
0x00000400, |
||||
0x00020080, |
||||
0x00000400, |
||||
0x5506A000, |
||||
0x00E1D404, |
||||
0x00000000, |
||||
0x0000090C, |
||||
0x00000010, |
||||
0x90400000, |
||||
0x00000000, |
||||
0x2020C243, |
||||
0x2A835000, |
||||
0x0070EA04, |
||||
0x2A835000, |
||||
0x0070EA02, |
||||
0x2A835000, |
||||
0x0070EA04, |
||||
0x00015000, |
||||
0x0000F200, |
||||
0x00000000, |
||||
0x00000482, |
||||
0x00120800, |
||||
0x00600391, |
||||
0x80000000, |
||||
0x00104120, |
||||
0x00000200, |
||||
0xAC255F80, |
||||
0xF1C71C71, |
||||
0x14F3690D, |
||||
0x1A041414, |
||||
0x00D00000, |
||||
0x14864000, |
||||
0x59647A05, |
||||
0xBA28A3D8, |
||||
0xF511451E, |
||||
0x8341D348, |
||||
0x821A0124, |
||||
0x0000D000, |
||||
0x00000680, |
||||
0xD859647A, |
||||
0x1EBA28A3, |
||||
0x48F51145, |
||||
0x000341D3, |
||||
0x00080200, |
||||
0x00001000, |
||||
0x00080200, |
||||
0x00001000, |
||||
0x000A8000, |
||||
0x00075000, |
||||
0x541A8000, |
||||
0x03875011, |
||||
0x10000000, |
||||
0x00000000, |
||||
0x0080C000, |
||||
0x41000000, |
||||
0x04000002, |
||||
0x00820000, |
||||
0xAA0D4000, |
||||
0x01C3A810, |
||||
0xAA0D4000, |
||||
0x01C3A808, |
||||
0xAA0D4000, |
||||
0x01C3A810, |
||||
0x00040100, |
||||
0x00000800, |
||||
0x00000000, |
||||
0x00001208, |
||||
0x00482000, |
||||
0x00008000, |
||||
0x00000000, |
||||
0x00410482, |
||||
0x0006A000, |
||||
0x0001B400, |
||||
0x00020000, |
||||
0x00000400, |
||||
0x0002A000, |
||||
0x0001E400, |
||||
0x5506A000, |
||||
0x00E1D404, |
||||
0x00000000, |
||||
0xC880090C, |
||||
0x00003001, |
||||
0x90400000, |
||||
0x00000000, |
||||
0x2020C243, |
||||
0x2A835000, |
||||
0x0070EA04, |
||||
0x2A835000, |
||||
0x0070EA02, |
||||
0x2A835000, |
||||
0x0070EA04, |
||||
0x00010040, |
||||
0x00000200, |
||||
0x00000000, |
||||
0x00000482, |
||||
0x00120800, |
||||
0x00002000, |
||||
0x80000000, |
||||
0x00104120, |
||||
0x00000200, |
||||
0xAC255F80, |
||||
0xF1C71C71, |
||||
0x14F3690D, |
||||
0x1A041414, |
||||
0x00D00000, |
||||
0x14864000, |
||||
0x59647A05, |
||||
0xBA28A3D8, |
||||
0xF511451E, |
||||
0x0341D348, |
||||
0x821A0000, |
||||
0x0000D000, |
||||
0x00000680, |
||||
0xD859647A, |
||||
0x1EBA28A3, |
||||
0x48F51145, |
||||
0x000341D3, |
||||
0x00080200, |
||||
0x00001000, |
||||
0x00080200, |
||||
0x00001000, |
||||
0x000A8000, |
||||
0x00075000, |
||||
0x541A8000, |
||||
0x03875011, |
||||
0x10000000, |
||||
0x00000000, |
||||
0x0080C000, |
||||
0x41000000, |
||||
0x04000002, |
||||
0x00820000, |
||||
0xAA0D4000, |
||||
0x01C3A810, |
||||
0xAA0D4000, |
||||
0x01C3A808, |
||||
0xAA0D4000, |
||||
0x01C3A810, |
||||
0x00040100, |
||||
0x00000800, |
||||
0x00000000, |
||||
0x00001208, |
||||
0x00482000, |
||||
0x00008000, |
||||
0x00000000, |
||||
0x00410482, |
||||
0x0006A000, |
||||
0x0001B400, |
||||
0x00020000, |
||||
0x00000400, |
||||
0x00020080, |
||||
0x00000400, |
||||
0x5506A000, |
||||
0x00E1D404, |
||||
0x00000000, |
||||
0x0000090C, |
||||
0x00000010, |
||||
0x90400000, |
||||
0x00000000, |
||||
0x2020C243, |
||||
0x2A835000, |
||||
0x0070EA04, |
||||
0x2A835000, |
||||
0x0070EA02, |
||||
0x2A835000, |
||||
0x0070EA04, |
||||
0x00010040, |
||||
0x00000200, |
||||
0x00000000, |
||||
0x00000482, |
||||
0x40120800, |
||||
0x00000070, |
||||
0x80000000, |
||||
0x00104120, |
||||
0x00000200, |
||||
0xAC255F80, |
||||
0xF1C71C71, |
||||
0x14F1690D, |
||||
0x1A041414, |
||||
0x00D00000, |
||||
0x14864000, |
||||
0x59647A05, |
||||
0xBA28A3D8, |
||||
0xF511451E, |
||||
0x0341D348, |
||||
0x821A0000, |
||||
0x0000D000, |
||||
0x00000680, |
||||
0xD859647A, |
||||
0x1EBA28A3, |
||||
0x48F51145, |
||||
0x000341D3, |
||||
0x00080200, |
||||
0x00001000, |
||||
0x00080200, |
||||
0x00001000, |
||||
0x000A8000, |
||||
0x00075000, |
||||
0x541A8000, |
||||
0x03875011, |
||||
0x10000000, |
||||
0x00000000, |
||||
0x0080C000, |
||||
0x41000000, |
||||
0x04000002, |
||||
0x00820000, |
||||
0x00489800, |
||||
0x001A1A1A, |
||||
0x085506A0, |
||||
0x0000E1D4, |
||||
0x045506A0, |
||||
0x0000E1D4, |
||||
0x085506A0, |
||||
0x8000E1D4, |
||||
0x00000200, |
||||
0x00000004, |
||||
0x04000000, |
||||
0x00000009, |
||||
0x00002410, |
||||
0x00000040, |
||||
0x41000000, |
||||
0x00002082, |
||||
0x00000350, |
||||
0x000000DA, |
||||
0x00000100, |
||||
0x40000002, |
||||
0x00000100, |
||||
0x00000002, |
||||
0x022A8350, |
||||
0x000070EA, |
||||
0x86000000, |
||||
0x08000004, |
||||
0x00000000, |
||||
0x00482000, |
||||
0x21800000, |
||||
0x00101061, |
||||
0x021541A8, |
||||
0x00003875, |
||||
0x011541A8, |
||||
0x00003875, |
||||
0x021541A8, |
||||
0x20003875, |
||||
0x00000080, |
||||
0x00000001, |
||||
0x41000000, |
||||
0x00000002, |
||||
0x00FF0904, |
||||
0x00000000, |
||||
0x90400000, |
||||
0x00000820, |
||||
0xC0000001, |
||||
0x38D612AF, |
||||
0x86F8E38E, |
||||
0x0A0A78B4, |
||||
0x000D020A, |
||||
0x00006800, |
||||
0x028A4320, |
||||
0xEC2CB23D, |
||||
0x8F5D1451, |
||||
0xA47A88A2, |
||||
0x0001A0E9, |
||||
0x00410D00, |
||||
0x40000068, |
||||
0x3D000003, |
||||
0x51EC2CB2, |
||||
0xA28F5D14, |
||||
0xE9A47A88, |
||||
0x000001A0, |
||||
0x00000401, |
||||
0x00000008, |
||||
0x00000401, |
||||
0x00000008, |
||||
0x00000540, |
||||
0x000003A8, |
||||
0x08AA0D40, |
||||
0x8001C3A8, |
||||
0x0000007F, |
||||
0x00000000, |
||||
0x00004060, |
||||
0xE1208000, |
||||
0x0000001F, |
||||
0x00004100, |
||||
}; |
@ -0,0 +1,17 @@ |
||||
/*
|
||||
* Copyright Altera Corporation (C) 2012-2014. All rights reserved |
||||
* |
||||
* SPDX-License-Identifier: BSD-3-Clause |
||||
*/ |
||||
|
||||
/* This file is generated by Preloader Generator */ |
||||
|
||||
#ifndef _PRELOADER_IOCSR_CONFIG_H_ |
||||
#define _PRELOADER_IOCSR_CONFIG_H_ |
||||
|
||||
#define CONFIG_HPS_IOCSR_SCANCHAIN0_LENGTH (764) |
||||
#define CONFIG_HPS_IOCSR_SCANCHAIN1_LENGTH (1719) |
||||
#define CONFIG_HPS_IOCSR_SCANCHAIN2_LENGTH (955) |
||||
#define CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH (16766) |
||||
|
||||
#endif /*_PRELOADER_IOCSR_CONFIG_H_*/ |
Loading…
Reference in new issue