no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
parameters.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef __PARAMETERS_H__
34#define __PARAMETERS_H__
35
36#ifdef XILINX_PLATFORM
37#include <xparameters.h>
38
39#ifdef _XPARAMETERS_PS_H_
40#define UART_BAUDRATE 921600
41#define SYSID_BASEADDR XPAR_AXI_SYSID_0_BASEADDR
42#else
43#define UART_BAUDRATE 115200
44#endif
45#ifdef XPAR_AXI_AD9361_0_BASEADDR
46#define AD9361_RX_0_BASEADDR XPAR_AXI_AD9361_0_BASEADDR
47#define AD9361_TX_0_BASEADDR XPAR_AXI_AD9361_0_BASEADDR + 0x4000
48#else
49#define AD9361_RX_0_BASEADDR XPAR_AXI_AD9361_BASEADDR
50#define AD9361_TX_0_BASEADDR XPAR_AXI_AD9361_BASEADDR + 0x4000
51#endif
52#ifdef XPAR_AXI_AD9361_1_BASEADDR
53#define AD9361_RX_1_BASEADDR XPAR_AXI_AD9361_1_BASEADDR
54#define AD9361_TX_1_BASEADDR XPAR_AXI_AD9361_1_BASEADDR + 0x4000
55#else
56#ifdef XPAR_AXI_AD9361_0_BASEADDR
57#define AD9361_RX_1_BASEADDR XPAR_AXI_AD9361_0_BASEADDR
58#define AD9361_TX_1_BASEADDR XPAR_AXI_AD9361_0_BASEADDR + 0x4000
59#else
60#define AD9361_RX_1_BASEADDR XPAR_AXI_AD9361_BASEADDR
61#define AD9361_TX_1_BASEADDR XPAR_AXI_AD9361_BASEADDR + 0x4000
62#endif
63#endif
64#ifdef XPAR_AXI_DMAC_0_BASEADDR
65#define CF_AD9361_RX_DMA_BASEADDR XPAR_AXI_DMAC_0_BASEADDR
66#else
67#define CF_AD9361_RX_DMA_BASEADDR XPAR_AXI_AD9361_ADC_DMA_BASEADDR
68#endif
69#ifdef XPAR_AXI_DMAC_1_BASEADDR
70#define CF_AD9361_TX_DMA_BASEADDR XPAR_AXI_DMAC_1_BASEADDR
71#else
72#define CF_AD9361_TX_DMA_BASEADDR XPAR_AXI_AD9361_DAC_DMA_BASEADDR
73#endif
74#ifdef _XPARAMETERS_PS_H_
75#define ADC_DDR_BASEADDR XPAR_DDR_MEM_BASEADDR + 0x800000
76#define DAC_DDR_BASEADDR XPAR_DDR_MEM_BASEADDR + 0xA000000
77
78#define UART_DEVICE_ID XPAR_XUARTPS_0_DEVICE_ID
79#define INTC_DEVICE_ID XPAR_SCUGIC_SINGLE_DEVICE_ID
80
81#ifdef XPS_BOARD_ZCU102
82#define GPIO_DEVICE_ID XPAR_PSU_GPIO_0_DEVICE_ID
83#ifdef FMCOMMS5
84#define GPIO_RESET_PIN 130
85#define GPIO_SYNC_PIN 129
86#define GPIO_RESET_PIN_2 143
87#define GPIO_CAL_SW1_PIN 137
88#define GPIO_CAL_SW2_PIN 138
89#else
90#define GPIO_RESET_PIN 124
91#define GPIO_SYNC_PIN 123
92#define GPIO_RESET_PIN_2 113
93#define GPIO_CAL_SW1_PIN 107
94#define GPIO_CAL_SW2_PIN 108
95#endif
96#define GPIO_ENABLE_PIN 125
97#define GPIO_TXNRX_PIN 126
98#define SPI_DEVICE_ID XPAR_PSU_SPI_0_DEVICE_ID
99#define UART_IRQ_ID XPAR_XUARTPS_0_INTR
100#else
101#define GPIO_DEVICE_ID XPAR_PS7_GPIO_0_DEVICE_ID
102#define GPIO_RESET_PIN 100
103#define GPIO_SYNC_PIN 99
104#define GPIO_RESET_PIN_2 113
105#define GPIO_CAL_SW1_PIN 107
106#define GPIO_CAL_SW2_PIN 108
107#define GPIO_ENABLE_PIN 101
108#define GPIO_TXNRX_PIN 102
109#define SPI_DEVICE_ID XPAR_PS7_SPI_0_DEVICE_ID
110#define UART_IRQ_ID XPAR_XUARTPS_1_INTR
111#endif
112#define GPIO_RESET_PIN_ZC702 84
113#define GPIO_RESET_PIN_ZC706 83
114#define GPIO_RESET_PIN_ZED 100
115#define GPIO_CTL0_PIN 94
116#define GPIO_CTL1_PIN 95
117#define GPIO_CTL2_PIN 96
118#define GPIO_CTL3_PIN 97
119
120#else
121#ifdef XPAR_DDR3_SDRAM_S_AXI_BASEADDR
122#define ADC_DDR_BASEADDR XPAR_DDR3_SDRAM_S_AXI_BASEADDR + 0x800000
123#define DAC_DDR_BASEADDR XPAR_DDR3_SDRAM_S_AXI_BASEADDR + 0xA000000
124#else
125#if defined(XPAR_AXI_DDR_CNTRL_BASEADDR)
126#define ADC_DDR_BASEADDR XPAR_AXI_DDR_CNTRL_BASEADDR + 0x800000
127#define DAC_DDR_BASEADDR XPAR_AXI_DDR_CNTRL_BASEADDR + 0xA000000
128#else
129#define ADC_DDR_BASEADDR XPAR_AXI_DDR_CNTRL_C0_DDR4_MEMORY_MAP_BASEADDR + 0x800000
130#define DAC_DDR_BASEADDR XPAR_AXI_DDR_CNTRL_C0_DDR4_MEMORY_MAP_BASEADDR + 0xA000000
131#endif
132#endif
133
134#define UART_DEVICE_ID XPAR_AXI_UART_DEVICE_ID
135#define INTC_DEVICE_ID XPAR_INTC_SINGLE_DEVICE_ID
136#define UART_IRQ_ID XPAR_AXI_INTC_AXI_UART_INTERRUPT_INTR
137
138#define GPIO_DEVICE_ID 0
139#define GPIO_RESET_PIN 46
140#ifdef XPAR_AXI_SPI_0_DEVICE_ID
141#define SPI_DEVICE_ID XPAR_AXI_SPI_0_DEVICE_ID
142#else
143#define SPI_DEVICE_ID XPAR_SPI_0_DEVICE_ID
144#endif
145#endif
146
147#define SPI_CS 0
148#define SPI_CS_2 1
149
150#define RX_CORE_BASEADDR AD9361_RX_0_BASEADDR
151#define TX_CORE_BASEADDR AD9361_TX_0_BASEADDR
152#endif
153
154#define DAC_BUFFER_SAMPLES 1024
155#define ADC_BUFFER_SAMPLES 16384
156#define ADC_CHANNELS 4
157
158#if defined LINUX_PLATFORM || defined GENERIC_PLATFORM
159#define RX_CORE_BASEADDR 0
160#define TX_CORE_BASEADDR 1
161#define CF_AD9361_RX_DMA_BASEADDR 2
162#define CF_AD9361_TX_DMA_BASEADDR 3
163
164#define SPI_DEVICE_ID 0
165#define SPI_CS 0
166
167#define MAX_SIZE_BASE_ADDR 0x1000
168
169#define DAC_DDR_BASEADDR ((uintptr_t)out_buff)
170#define ADC_DDR_BASEADDR ((uintptr_t)in_buff)
171
172#define GPIO_RESET_PIN 1006
173#endif
174
175/* Workaround for correcting the erroneous generation of defines
176 * for DMA IRQs from the *.xsa file. This is a HDL known issue. */
177#ifdef PLATFORM_ZYNQ
178#define AD9361_DAC_DMA_IRQ_INTR 88
179#define AD9361_ADC_DMA_IRQ_INTR 89
180#else
181#define AD9361_DAC_DMA_IRQ_INTR XPAR_FABRIC_AXI_AD9361_DAC_DMA_IRQ_INTR
182#define AD9361_ADC_DMA_IRQ_INTR XPAR_FABRIC_AXI_AD9361_ADC_DMA_IRQ_INTR
183#endif
184
185#endif // __PARAMETERS_H__