Go to the documentation of this file.
47 #include "xparameters.h"
54 #ifdef XPAR_AXI_HDMI_TX_0_BASEADDR
55 #define CFV_BASEADDR XPAR_AXI_HDMI_TX_0_BASEADDR
57 #define CFV_BASEADDR XPAR_AXI_HDMI_CORE_BASEADDR
59 #ifdef XPAR_AXI_SPDIF_TX_0_BASEADDR
60 #define CFA_BASEADDR XPAR_AXI_SPDIF_TX_0_BASEADDR
62 #define CFA_BASEADDR XPAR_AXI_SPDIF_TX_CORE_BASEADDR
65 #if defined(PLATFORM_KC705) || defined(PLATFORM_AC701) || \
66 defined(PLATFORM_VC707)
67 #ifdef XPAR_DDR3_SDRAM_S_AXI_BASEADDR
68 #define DDR_BASEADDR XPAR_DDR3_SDRAM_S_AXI_BASEADDR
70 #define DDR_BASEADDR XPAR_AXI_DDR_CNTRL_BASEADDR
72 #elif defined(PLATFORM_ZC702) || defined(PLATFORM_ZC706) || \
74 #define DDR_BASEADDR XPAR_DDR_MEM_BASEADDR
77 #if defined(PLATFORM_KC705) || defined(PLATFORM_AC701) || \
78 defined(PLATFORM_VC707)
79 #ifdef XPAR_RS232_UART_1_BASEADDR
80 #define UART_BASEADDR XPAR_RS232_UART_1_BASEADDR
82 #define UART_BASEADDR XPAR_AXI_UART_BASEADDR
84 #elif defined(PLATFORM_ZC702) || defined(PLATFORM_ZC706) || \
86 #define UART_BASEADDR XPS_UART1_BASEADDR
89 #ifdef XPAR_AXI_VDMA_0_BASEADDR
90 #define VDMA_BASEADDR XPAR_AXI_VDMA_0_BASEADDR
92 #define VDMA_BASEADDR XPAR_AXI_HDMI_DMA_BASEADDR
95 #ifdef XPAR_AXI_DMA_0_BASEADDR
96 #define ADMA_BASEADDR XPAR_AXI_DMA_0_BASEADDR
98 #if defined(PLATFORM_AC701) || defined(PLATFORM_VC707)
99 #define ADMA_BASEADDR XPAR_AXIDMA_1_BASEADDR
100 #elif defined(PLATFORM_KC705)
101 #define ADMA_BASEADDR XPAR_AXIDMA_0_BASEADDR
104 #if defined(PLATFORM_ZC702) || defined(PLATFORM_ZC706) || \
105 defined(PLATFORM_ZED)
106 #define ADMA_DEVICE_ID XPAR_XDMAPS_1_DEVICE_ID
109 #if defined(PLATFORM_KC705) || defined(PLATFORM_AC701) || \
110 defined(PLATFORM_VC707)
111 #define IIC_BASEADDR XPAR_AXI_IIC_0_BASEADDR
112 #elif defined(PLATFORM_ZC702) || defined(PLATFORM_ZC706) || \
113 defined(PLATFORM_ZED)
114 #define IIC_BASEADDR XPS_I2C0_BASEADDR
117 #define VIDEO_BASEADDR DDR_BASEADDR + 0x2000000
118 #define AUDIO_BASEADDR DDR_BASEADDR + 0x1000000
119 #define A_SAMPLE_FREQ 48000
121 #define AUDIO_LENGTH (A_SAMPLE_FREQ/A_FREQ)
123 #define AXI_HDMI_REG_RESET 0x040
124 #define AXI_HDMI_REG_CTRL 0x044
125 #define AXI_HDMI_REG_SOURCE_SEL 0x048
126 #define AXI_HDMI_REG_COLORPATTERN 0x04c
127 #define AXI_HDMI_REG_STATUS 0x05c
128 #define AXI_HDMI_REG_VDMA_STATUS 0x060
129 #define AXI_HDMI_REG_TPM_STATUS 0x064
130 #define AXI_HDMI_REG_HTIMING1 0x400
131 #define AXI_HDMI_REG_HTIMING2 0x404
132 #define AXI_HDMI_REG_HTIMING3 0x408
133 #define AXI_HDMI_REG_VTIMING1 0x440
134 #define AXI_HDMI_REG_VTIMING2 0x444
135 #define AXI_HDMI_REG_VTIMING3 0x448
137 #define AXI_VDMA_REG_DMA_CTRL 0x00
138 #define AXI_VDMA_REG_V_SIZE 0x50
139 #define AXI_VDMA_REG_H_SIZE 0x54
140 #define AXI_VDMA_REG_FRMDLY_STRIDE 0x58
141 #define AXI_VDMA_REG_START_1 0x5C
142 #define AXI_VDMA_REG_START_2 0x60
143 #define AXI_VDMA_REG_START_3 0x64
145 #define AXI_CLKGEN_V2_REG_RESET 0x40
146 #define AXI_CLKGEN_V2_REG_DRP_CNTRL 0x70
147 #define AXI_CLKGEN_V2_REG_DRP_STATUS 0x74
149 #define AXI_CLKGEN_V2_RESET_MMCM_ENABLE (1 << 1)
150 #define AXI_CLKGEN_V2_RESET_ENABLE (1 << 0)
152 #define AXI_CLKGEN_V2_DRP_CNTRL_SEL (1 << 29)
153 #define AXI_CLKGEN_V2_DRP_CNTRL_READ (1 << 28)
154 #define AXI_CLKGEN_V2_DRP_STATUS_BUSY (1 << 16)
156 #define MMCM_REG_CLKOUT0_1 0x08
157 #define MMCM_REG_CLKOUT0_2 0x09
158 #define MMCM_REG_CLK_FB1 0x14
159 #define MMCM_REG_CLK_FB2 0x15
160 #define MMCM_REG_CLK_DIV 0x16
161 #define MMCM_REG_LOCK1 0x18
162 #define MMCM_REG_LOCK2 0x19
163 #define MMCM_REG_LOCK3 0x1a
164 #define MMCM_REG_FILTER1 0x4e
165 #define MMCM_REG_FILTER2 0x4f
181 unsigned short horizontalBlankingTime,
182 unsigned short horizontalSyncOffset,
183 unsigned short horizontalSyncPulseWidth,
184 unsigned short verticalActiveTime,
185 unsigned short verticalBlankingTime,
186 unsigned short verticalSyncOffset,
187 unsigned short verticalSyncPulseWidth);
#define AXI_DMAC_CTRL_ENABLE
Definition: axi_dmac.h:64
#define IMG_LENGTH
Definition: cf_hdmi_demo.h:41
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
#define AXI_DMAC_REG_X_LENGTH
Definition: axi_dmac.h:75
@ V_SYNC_OFFSET
Definition: cf_hdmi.c:73
#define AXI_HDMI_REG_SOURCE_SEL
Definition: cf_hdmi.h:125
void InitHdmiVideoPcore(unsigned short horizontalActiveTime, unsigned short horizontalBlankingTime, unsigned short horizontalSyncOffset, unsigned short horizontalSyncPulseWidth, unsigned short verticalActiveTime, unsigned short verticalBlankingTime, unsigned short verticalSyncOffset, unsigned short verticalSyncPulseWidth)
InitHdmiVideoPcore.
Definition: cf_hdmi.c:167
#define AXI_HDMI_REG_HTIMING2
Definition: cf_hdmi.h:131
#define AXI_DMAC_REG_SRC_ADDRESS
Definition: axi_dmac.h:74
Driver for the Analog Devices AXI CLKGEN.
int32_t no_os_gpio_get_value(struct no_os_gpio_desc *desc, uint8_t *value)
Get the value of the specified GPIO.
Definition: no_os_gpio.c:227
void DDRVideoWr(unsigned short horizontalActiveTime, unsigned short verticalActiveTime)
DDRVideoWr.
Definition: cf_hdmi.c:90
#define CFV_BASEADDR
Definition: cf_hdmi.h:57
void toggle(struct no_os_gpio_desc *led)
Definition: blinky_example.c:26
#define AXI_VDMA_REG_START_2
Definition: cf_hdmi.h:142
Header file of Delay functions.
#define AXI_HDMI_REG_VTIMING2
Definition: cf_hdmi.h:134
int32_t axi_clkgen_set_rate(struct axi_clkgen *clkgen, uint32_t rate)
axi_clkgen_set_rate
Definition: clk_axi_clkgen.c:419
@ RESOLUTION_1360x768
Definition: cf_hdmi.h:172
@ RESOLUTION_640x480
Definition: cf_hdmi.h:168
@ NO_OS_GPIO_HIGH
Definition: no_os_gpio.h:123
int32_t number
Definition: no_os_gpio.h:89
Definition: clk_axi_clkgen.h:50
@ V_SYNC_WIDTH_PULSE
Definition: cf_hdmi.c:74
videoResolution
Definition: cf_hdmi.h:167
@ RESOLUTION_800x600
Definition: cf_hdmi.h:169
#define AXI_DMAC_REG_SRC_STRIDE
Definition: axi_dmac.h:78
int main(int argc, char *argv[])
Definition: blinky_example.c:34
void InitHdmiVideoPcore(unsigned short horizontalActiveTime, unsigned short horizontalBlankingTime, unsigned short horizontalSyncOffset, unsigned short horizontalSyncPulseWidth, unsigned short verticalActiveTime, unsigned short verticalBlankingTime, unsigned short verticalSyncOffset, unsigned short verticalSyncPulseWidth)
InitHdmiVideoPcore.
Definition: cf_hdmi.c:167
@ H_BLANKING_TIME
Definition: cf_hdmi.c:68
@ NO_OS_GPIO_LOW
Definition: no_os_gpio.h:121
#define AXI_VDMA_REG_DMA_CTRL
Definition: cf_hdmi.h:137
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
@ PIXEL_CLOCK
Definition: cf_hdmi.c:66
#define AXI_HDMI_REG_HTIMING3
Definition: cf_hdmi.h:132
void DDRAudioWr(void)
DDRAudioWr.
Definition: cf_hdmi.c:128
unsigned long u32
Definition: wrapper.h:155
@ V_ACTIVE_TIME
Definition: cf_hdmi.c:71
void AudioClick(void)
AudioClick.
Definition: cf_hdmi.c:301
detailedTimingElement
Definition: cf_hdmi.c:65
#define AXI_DMAC_REG_TRANSFER_SUBMIT
Definition: axi_dmac.h:69
#define AUDIO_BASEADDR
Definition: cf_hdmi.h:118
void AudioClick(void)
AudioClick.
Definition: cf_hdmi.c:301
void SetVideoResolution(struct axi_clkgen *clkgen, unsigned char resolution)
SetVideoResolution.
Definition: cf_hdmi.c:263
Driver for the Analog Devices AXI-DMAC core.
@ RESOLUTION_1280x720
Definition: cf_hdmi.h:171
int initPower()
Definition: blinky_example.c:12
#define AXI_HDMI_REG_VTIMING1
Definition: cf_hdmi.h:133
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
@ RESOLUTION_1600x900
Definition: cf_hdmi.h:173
@ V_BLANKING_TIME
Definition: cf_hdmi.c:72
Config file of ADV7511 no-OS project.
#define AXI_VDMA_REG_V_SIZE
Definition: cf_hdmi.h:138
#define VIDEO_BASEADDR
Definition: cf_hdmi.h:117
int32_t no_os_gpio_get(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Obtain the GPIO decriptor.
Definition: no_os_gpio.c:55
@ H_SYNC_OFFSET
Definition: cf_hdmi.c:69
#define AXI_HDMI_REG_HTIMING1
Definition: cf_hdmi.h:130
#define AXI_VDMA_REG_FRMDLY_STRIDE
Definition: cf_hdmi.h:140
#define AXI_DMAC_REG_FLAGS
Definition: axi_dmac.h:72
@ DMA_CYCLIC
Definition: axi_dmac.h:97
const struct no_os_gpio_platform_ops aducm_gpio_ops
ADuCM3029 platform specific GPIO platform ops structure.
Definition: aducm3029_gpio.c:295
#define AXI_HDMI_REG_RESET
Definition: cf_hdmi.h:123
#define NULL
Definition: wrapper.h:64
int32_t no_os_gpio_set_value(struct no_os_gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition: no_os_gpio.c:203
void InitHdmiAudioPcore(void)
InitHdmiAudioPcore.
Definition: cf_hdmi.c:279
#define AUDIO_LENGTH
Definition: cf_hdmi.h:121
#define AXI_VDMA_REG_START_1
Definition: cf_hdmi.h:141
#define AXI_DMAC_REG_CTRL
Definition: axi_dmac.h:63
Header file of GPIO Interface.
#define AXI_VDMA_REG_H_SIZE
Definition: cf_hdmi.h:139
@ DMA_LAST
Definition: axi_dmac.h:98
#define VDMA_BASEADDR
Definition: cf_hdmi.h:92
@ RESOLUTION_1920x1080
Definition: cf_hdmi.h:174
void SetVideoResolution(struct axi_clkgen *clkgen, unsigned char resolution)
SetVideoResolution.
Definition: cf_hdmi.c:263
#define AXI_HDMI_REG_VTIMING3
Definition: cf_hdmi.h:135
void InitHdmiAudioPcore(void)
InitHdmiAudioPcore.
Definition: cf_hdmi.c:279
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: no_os_gpio.c:153
@ RESOLUTION_1024x768
Definition: cf_hdmi.h:170
#define AXI_DMAC_REG_Y_LENGTH
Definition: axi_dmac.h:76
#define AXI_VDMA_REG_START_3
Definition: cf_hdmi.h:143
@ H_SYNC_WIDTH_PULSE
Definition: cf_hdmi.c:70
@ H_ACTIVE_TIME
Definition: cf_hdmi.c:67
#define CFA_BASEADDR
Definition: cf_hdmi.h:62