blob: a21c71665c1a3b11faf76c7d02257252205e21b7 [file] [log] [blame]
Pavel Machekc7213802014-09-08 14:08:45 +02001/*
Tien Fong Chee31e50f42017-07-26 13:05:38 +08002 * Copyright (C) 2012-2017 Altera Corporation <www.altera.com>
Pavel Machekc7213802014-09-08 14:08:45 +02003 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8#ifndef _FPGA_MANAGER_H_
9#define _FPGA_MANAGER_H_
10
11#include <altera.h>
12
Tien Fong Chee31e50f42017-07-26 13:05:38 +080013#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
14#include <asm/arch/fpga_manager_gen5.h>
Tien Fong Chee1d675f32017-07-26 13:05:43 +080015#elif defined(CONFIG_TARGET_SOCFPGA_ARRIA10)
16#include <asm/arch/fpga_manager_arria10.h>
Tien Fong Chee31e50f42017-07-26 13:05:38 +080017#endif
Pavel Machekc7213802014-09-08 14:08:45 +020018
19/* FPGA CD Ratio Value */
20#define CDRATIO_x1 0x0
21#define CDRATIO_x2 0x1
22#define CDRATIO_x4 0x2
23#define CDRATIO_x8 0x3
24
Tien Fong Chee31e50f42017-07-26 13:05:38 +080025#ifndef __ASSEMBLY__
26
27/* Common prototypes */
Pavel Machekc7213802014-09-08 14:08:45 +020028int fpgamgr_get_mode(void);
Tien Fong Chee31e50f42017-07-26 13:05:38 +080029int fpgamgr_poll_fpga_ready(void);
30void fpgamgr_program_write(const void *rbf_data, size_t rbf_size);
31int fpgamgr_test_fpga_ready(void);
32int fpgamgr_dclkcnt_set(unsigned long cnt);
Pavel Machekc7213802014-09-08 14:08:45 +020033
Tien Fong Chee31e50f42017-07-26 13:05:38 +080034#endif /* __ASSEMBLY__ */
Pavel Machekc7213802014-09-08 14:08:45 +020035#endif /* _FPGA_MANAGER_H_ */