Skip to content

Commit abf9ede

Browse files
committed
projects: change intel SPI Engine projects to use new script
Signed-off-by: Laez Barbosa <laez.barbosa@analog.com>
1 parent d0aa91c commit abf9ede

File tree

7 files changed

+193
-503
lines changed

7 files changed

+193
-503
lines changed

projects/ad4052_ardz/common/ad4052_qsys.tcl

Lines changed: 28 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -11,36 +11,6 @@ set_instance_parameter_value axi_dmac_0 {CYCLIC} {0}
1111
set_instance_parameter_value axi_dmac_0 {DMA_DATA_WIDTH_SRC} {32}
1212
set_instance_parameter_value axi_dmac_0 {DMA_DATA_WIDTH_DEST} {128}
1313

14-
# axi_spi_engine
15-
16-
add_instance axi_spi_engine_0 axi_spi_engine
17-
set_instance_parameter_value axi_spi_engine_0 {ASYNC_SPI_CLK} {1}
18-
set_instance_parameter_value axi_spi_engine_0 {DATA_WIDTH} {32}
19-
set_instance_parameter_value axi_spi_engine_0 {MM_IF_TYPE} {0}
20-
set_instance_parameter_value axi_spi_engine_0 {NUM_OF_SDI} {1}
21-
set_instance_parameter_value axi_spi_engine_0 {NUM_OFFLOAD} {1}
22-
23-
# spi_engine_execution
24-
25-
add_instance spi_engine_execution_0 spi_engine_execution
26-
set_instance_parameter_value spi_engine_execution_0 {DATA_WIDTH} {32}
27-
set_instance_parameter_value spi_engine_execution_0 {NUM_OF_SDI} {1}
28-
set_instance_parameter_value spi_engine_execution_0 {SDI_DELAY} {0}
29-
30-
# spi_engine_interconnect
31-
32-
add_instance spi_engine_interconnect_0 spi_engine_interconnect
33-
set_instance_parameter_value spi_engine_interconnect_0 {DATA_WIDTH} {32}
34-
set_instance_parameter_value spi_engine_interconnect_0 {NUM_OF_SDI} {1}
35-
36-
# spi_engine_offload
37-
38-
add_instance spi_engine_offload_0 spi_engine_offload
39-
set_instance_parameter_value spi_engine_offload_0 {ASYNC_TRIG} {1}
40-
set_instance_parameter_value spi_engine_offload_0 {ASYNC_SPI_CLK} {0}
41-
set_instance_parameter_value spi_engine_offload_0 {DATA_WIDTH} {32}
42-
set_instance_parameter_value spi_engine_offload_0 {NUM_OF_SDI} {1}
43-
4414
# axi_pwm_gen
4515

4616
add_instance pwm_trigger axi_pwm_gen
@@ -87,6 +57,26 @@ set_connection_parameter_value spi_clk_pll.reconfig_to_pll/spi_clk_pll_reconfig.
8757
set_connection_parameter_value spi_clk_pll.reconfig_to_pll/spi_clk_pll_reconfig.reconfig_to_pll startPortLSB {0}
8858
set_connection_parameter_value spi_clk_pll.reconfig_to_pll/spi_clk_pll_reconfig.reconfig_to_pll width {0}
8959

60+
# spi engine
61+
source $ad_hdl_dir/library/spi_engine/scripts/spi_engine.tcl
62+
63+
set spi_engine_hier spi_ad4052
64+
65+
set data_width 32
66+
set async_spi_clk 1
67+
set num_cs 1
68+
set num_sdi 1
69+
set num_sdo 1
70+
set sdi_delay 0
71+
set echo_sclk 0
72+
set sdo_streaming 0
73+
74+
set axi_clk sys_clk.clk
75+
set axi_reset sys_clk.clk_reset
76+
set spi_clk spi_clk_pll.outclk0
77+
78+
spi_engine_create $spi_engine_hier $axi_clk $axi_reset $spi_clk $data_width $async_spi_clk $num_cs $num_sdi $num_sdo $sdi_delay $echo_sclk $sdo_streaming
79+
set_instance_parameter_value ${spi_engine_hier}_offload {ASYNC_TRIG} {1}
9080
# exported interface
9181

9282
add_interface adc_spi_sclk clock source
@@ -95,27 +85,21 @@ add_interface adc_spi_sdo conduit end
9585
add_interface adc_spi_cs conduit end
9686
add_interface adc_drdy conduit end
9787

98-
set_interface_property adc_spi_sclk EXPORT_OF spi_engine_execution_0.if_sclk
99-
set_interface_property adc_spi_sdi EXPORT_OF spi_engine_execution_0.if_sdi
100-
set_interface_property adc_spi_sdo EXPORT_OF spi_engine_execution_0.if_sdo
101-
set_interface_property adc_spi_cs EXPORT_OF spi_engine_execution_0.if_cs
102-
set_interface_property adc_drdy_trigger EXPORT_OF spi_engine_offload_0.if_trigger
88+
set_interface_property adc_spi_sclk EXPORT_OF ${spi_engine_hier}_execution.if_sclk
89+
set_interface_property adc_spi_sdi EXPORT_OF ${spi_engine_hier}_execution.if_sdi
90+
set_interface_property adc_spi_sdo EXPORT_OF ${spi_engine_hier}_execution.if_sdo
91+
set_interface_property adc_spi_cs EXPORT_OF ${spi_engine_hier}_execution.if_cs
92+
set_interface_property adc_drdy_trigger EXPORT_OF ${spi_engine_hier}_offload.if_trigger
10393
set_interface_property adc_cnv EXPORT_OF pwm_trigger.if_pwm_0
10494

10595
# clocks
10696

10797
add_connection sys_clk.clk spi_clk_pll.refclk
10898
add_connection sys_clk.clk spi_clk_pll_reconfig.mgmt_clk
109-
add_connection sys_clk.clk axi_spi_engine_0.s_axi_clock
11099
add_connection sys_clk.clk axi_dmac_0.s_axi_clock
111100
add_connection sys_clk.clk pwm_trigger.s_axi_clock
112101

113102
add_connection spi_clk_pll.outclk0 pwm_trigger.if_ext_clk
114-
add_connection spi_clk_pll.outclk0 spi_engine_execution_0.if_clk
115-
add_connection spi_clk_pll.outclk0 spi_engine_interconnect_0.if_clk
116-
add_connection spi_clk_pll.outclk0 axi_spi_engine_0.if_spi_clk
117-
add_connection spi_clk_pll.outclk0 spi_engine_offload_0.if_ctrl_clk
118-
add_connection spi_clk_pll.outclk0 spi_engine_offload_0.if_spi_clk
119103
add_connection spi_clk_pll.outclk0 axi_dmac_0.if_s_axis_aclk
120104

121105
add_connection sys_dma_clk.clk axi_dmac_0.m_dest_axi_clock
@@ -124,47 +108,19 @@ add_connection sys_dma_clk.clk axi_dmac_0.m_dest_axi_clock
124108

125109
add_connection sys_clk.clk_reset spi_clk_pll.reset
126110
add_connection sys_clk.clk_reset spi_clk_pll_reconfig.mgmt_reset
127-
add_connection sys_clk.clk_reset axi_spi_engine_0.s_axi_reset
128111
add_connection sys_clk.clk_reset axi_dmac_0.s_axi_reset
129112
add_connection sys_clk.clk_reset pwm_trigger.s_axi_reset
130113

131-
add_connection axi_spi_engine_0.if_spi_resetn spi_engine_execution_0.if_resetn
132-
add_connection axi_spi_engine_0.if_spi_resetn spi_engine_interconnect_0.if_resetn
133-
add_connection axi_spi_engine_0.if_spi_resetn spi_engine_offload_0.if_spi_resetn
134-
135114
add_connection sys_dma_clk.clk_reset axi_dmac_0.m_dest_axi_reset
136115

137116
# interfaces
138117

139-
add_connection spi_engine_interconnect_0.m_cmd spi_engine_execution_0.cmd
140-
add_connection spi_engine_execution_0.sdi_data spi_engine_interconnect_0.m_sdi
141-
add_connection spi_engine_interconnect_0.m_sdo spi_engine_execution_0.sdo_data
142-
add_connection spi_engine_execution_0.sync spi_engine_interconnect_0.m_sync
143-
144-
add_connection axi_spi_engine_0.cmd spi_engine_interconnect_0.s1_cmd
145-
add_connection spi_engine_interconnect_0.s1_sdi axi_spi_engine_0.sdi_data
146-
add_connection axi_spi_engine_0.sdo_data spi_engine_interconnect_0.s1_sdo
147-
add_connection spi_engine_interconnect_0.s1_sync axi_spi_engine_0.sync
148-
149-
add_connection spi_engine_offload_0.cmd spi_engine_interconnect_0.s0_cmd
150-
add_connection spi_engine_interconnect_0.s0_sdi spi_engine_offload_0.sdi_data
151-
add_connection spi_engine_offload_0.sdo_data spi_engine_interconnect_0.s0_sdo
152-
add_connection spi_engine_interconnect_0.s0_sync spi_engine_offload_0.sync
153-
add_connection spi_engine_offload_0.m_interconnect_ctrl spi_engine_interconnect_0.s_interconnect_ctrl
154-
155-
add_connection spi_engine_offload_0.ctrl_cmd_wr axi_spi_engine_0.offload0_cmd
156-
add_connection spi_engine_offload_0.ctrl_sdo_wr axi_spi_engine_0.offload0_sdo
157-
add_connection spi_engine_offload_0.if_ctrl_enable axi_spi_engine_0.if_offload0_enable
158-
add_connection spi_engine_offload_0.if_ctrl_enabled axi_spi_engine_0.if_offload0_enabled
159-
add_connection spi_engine_offload_0.if_ctrl_mem_reset axi_spi_engine_0.if_offload0_mem_reset
160-
add_connection spi_engine_offload_0.status_sync axi_spi_engine_0.offload_sync
161-
162-
add_connection spi_engine_offload_0.offload_sdi axi_dmac_0.s_axis
118+
add_connection ${spi_engine_hier}_offload.offload_sdi axi_dmac_0.s_axis
163119

164120
# cpu interconnects
165121

166122
ad_cpu_interconnect 0x00020000 axi_dmac_0.s_axi
167-
ad_cpu_interconnect 0x00030000 axi_spi_engine_0.s_axi
123+
ad_cpu_interconnect 0x00030000 ${spi_engine_hier}_axi_regmap.s_axi
168124
ad_cpu_interconnect 0x00040000 pwm_trigger.s_axi
169125
ad_cpu_interconnect 0x00050000 spi_clk_pll_reconfig.mgmt_avalon_slave
170126

@@ -175,4 +131,4 @@ ad_dma_interconnect axi_dmac_0.m_dest_axi
175131
#interrupts
176132

177133
ad_cpu_interrupt 4 axi_dmac_0.interrupt_sender
178-
ad_cpu_interrupt 5 axi_spi_engine_0.interrupt_sender
134+
ad_cpu_interrupt 5 ${spi_engine_hier}_axi_regmap.interrupt_sender

projects/ad411x_ad717x/common/ad411x_ad717x_asdz_qsys.tcl

Lines changed: 31 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -12,40 +12,31 @@ set_instance_parameter_value axi_dmac_0 {CYCLIC} {0}
1212
set_instance_parameter_value axi_dmac_0 {DMA_DATA_WIDTH_SRC} {32}
1313
set_instance_parameter_value axi_dmac_0 {DMA_DATA_WIDTH_DEST} {128}
1414

15-
# axi_spi_engine
16-
17-
add_instance axi_spi_engine_0 axi_spi_engine
18-
set_instance_parameter_value axi_spi_engine_0 {ASYNC_SPI_CLK} {1}
19-
set_instance_parameter_value axi_spi_engine_0 {DATA_WIDTH} {32}
20-
set_instance_parameter_value axi_spi_engine_0 {MM_IF_TYPE} {0}
21-
set_instance_parameter_value axi_spi_engine_0 {NUM_OF_SDI} {1}
22-
set_instance_parameter_value axi_spi_engine_0 {NUM_OFFLOAD} {1}
23-
24-
# spi_engine_execution
15+
# util_sigma_delta_spi
2516

26-
add_instance spi_engine_execution_0 spi_engine_execution
27-
set_instance_parameter_value spi_engine_execution_0 {DATA_WIDTH} {32}
28-
set_instance_parameter_value spi_engine_execution_0 {NUM_OF_SDI} {1}
29-
set_instance_parameter_value spi_engine_execution_0 {SDI_DELAY} {0}
17+
add_instance util_sigma_delta_spi util_sigma_delta_spi
18+
set_instance_parameter_value util_sigma_delta_spi {NUM_OF_CS} {1}
3019

31-
# spi_engine_interconnect
20+
# spi engine
21+
source $ad_hdl_dir/library/spi_engine/scripts/spi_engine.tcl
3222

33-
add_instance spi_engine_interconnect_0 spi_engine_interconnect
34-
set_instance_parameter_value spi_engine_interconnect_0 {DATA_WIDTH} {32}
35-
set_instance_parameter_value spi_engine_interconnect_0 {NUM_OF_SDI} {1}
23+
set spi_engine_hier spi_ad411x_ad717x
3624

37-
# spi_engine_offload
25+
set data_width 32
26+
set async_spi_clk 1
27+
set num_cs 1
28+
set num_sdi 1
29+
set num_sdo 1
30+
set sdi_delay 0
31+
set echo_sclk 0
32+
set sdo_streaming 0
3833

39-
add_instance spi_engine_offload_0 spi_engine_offload
40-
set_instance_parameter_value spi_engine_offload_0 {ASYNC_TRIG} {1}
41-
set_instance_parameter_value spi_engine_offload_0 {ASYNC_SPI_CLK} {0}
42-
set_instance_parameter_value spi_engine_offload_0 {DATA_WIDTH} {32}
43-
set_instance_parameter_value spi_engine_offload_0 {NUM_OF_SDI} {1}
34+
set axi_clk sys_clk.clk
35+
set axi_reset sys_clk.clk_reset
36+
set spi_clk sys_dma_clk.clk
4437

45-
# util_sigma_delta_spi
46-
47-
add_instance util_sigma_delta_spi util_sigma_delta_spi
48-
set_instance_parameter_value util_sigma_delta_spi {NUM_OF_CS} {1}
38+
spi_engine_create $spi_engine_hier $axi_clk $axi_reset $spi_clk $data_width $async_spi_clk $num_cs $num_sdi $num_sdo $sdi_delay $echo_sclk $sdo_streaming
39+
set_instance_parameter_value ${spi_engine_hier}_offload {ASYNC_TRIG} {1}
4940

5041
# exported interface
5142

@@ -64,78 +55,42 @@ set_interface_property ad411x_spi_trigger EXPORT_OF util_sigma_delta_spi.if_data
6455

6556
# clocks
6657

67-
add_connection sys_clk.clk axi_spi_engine_0.s_axi_clock
6858
add_connection sys_clk.clk axi_dmac_0.s_axi_clock
6959

60+
add_connection sys_dma_clk.clk axi_dmac_0.if_s_axis_aclk
61+
add_connection sys_dma_clk.clk axi_dmac_0.m_dest_axi_clock
62+
7063
# util_sigma_delta_connection
7164

7265
add_connection sys_dma_clk.clk util_sigma_delta_spi.if_clk
7366
add_connection sys_clk.clk_reset util_sigma_delta_spi.if_resetn
7467

75-
add_connection spi_engine_execution_0.if_cs util_sigma_delta_spi.if_s_cs
76-
add_connection spi_engine_execution_0.if_sclk util_sigma_delta_spi.if_s_sclk
77-
add_connection spi_engine_execution_0.if_sdi util_sigma_delta_spi.if_s_sdi
78-
add_connection spi_engine_execution_0.if_sdo util_sigma_delta_spi.if_s_sdo
79-
add_connection spi_engine_execution_0.if_sdo_t util_sigma_delta_spi.if_s_sdo_t
80-
add_connection spi_engine_offload_0.if_trigger util_sigma_delta_spi.if_data_ready
81-
82-
# add_connection axi_spi_engine_0.
83-
84-
add_connection sys_dma_clk.clk spi_engine_execution_0.if_clk
85-
add_connection sys_dma_clk.clk spi_engine_interconnect_0.if_clk
86-
add_connection sys_dma_clk.clk axi_spi_engine_0.if_spi_clk
87-
add_connection sys_dma_clk.clk spi_engine_offload_0.if_ctrl_clk
88-
add_connection sys_dma_clk.clk spi_engine_offload_0.if_spi_clk
89-
add_connection sys_dma_clk.clk axi_dmac_0.if_s_axis_aclk
90-
add_connection sys_dma_clk.clk axi_dmac_0.m_dest_axi_clock
68+
add_connection ${spi_engine_hier}_execution.if_cs util_sigma_delta_spi.if_s_cs
69+
add_connection ${spi_engine_hier}_execution.if_sclk util_sigma_delta_spi.if_s_sclk
70+
add_connection ${spi_engine_hier}_execution.if_sdi util_sigma_delta_spi.if_s_sdi
71+
add_connection ${spi_engine_hier}_execution.if_sdo util_sigma_delta_spi.if_s_sdo
72+
add_connection ${spi_engine_hier}_execution.if_sdo_t util_sigma_delta_spi.if_s_sdo_t
73+
add_connection ${spi_engine_hier}_offload.if_trigger util_sigma_delta_spi.if_data_ready
9174

9275
# resets
9376

94-
add_connection sys_clk.clk_reset axi_spi_engine_0.s_axi_reset
9577
add_connection sys_clk.clk_reset axi_dmac_0.s_axi_reset
9678

97-
add_connection axi_spi_engine_0.if_spi_resetn spi_engine_execution_0.if_resetn
98-
add_connection axi_spi_engine_0.if_spi_resetn spi_engine_interconnect_0.if_resetn
99-
add_connection axi_spi_engine_0.if_spi_resetn spi_engine_offload_0.if_spi_resetn
100-
10179
add_connection sys_dma_clk.clk_reset axi_dmac_0.m_dest_axi_reset
10280

10381
# interfaces
10482

105-
add_connection spi_engine_interconnect_0.m_cmd spi_engine_execution_0.cmd
106-
add_connection spi_engine_execution_0.sdi_data spi_engine_interconnect_0.m_sdi
107-
add_connection spi_engine_interconnect_0.m_sdo spi_engine_execution_0.sdo_data
108-
add_connection spi_engine_execution_0.sync spi_engine_interconnect_0.m_sync
109-
110-
add_connection axi_spi_engine_0.cmd spi_engine_interconnect_0.s1_cmd
111-
add_connection spi_engine_interconnect_0.s1_sdi axi_spi_engine_0.sdi_data
112-
add_connection axi_spi_engine_0.sdo_data spi_engine_interconnect_0.s1_sdo
113-
add_connection spi_engine_interconnect_0.s1_sync axi_spi_engine_0.sync
114-
add_connection spi_engine_offload_0.m_interconnect_ctrl spi_engine_interconnect_0.s_interconnect_ctrl
115-
116-
add_connection spi_engine_offload_0.cmd spi_engine_interconnect_0.s0_cmd
117-
add_connection spi_engine_interconnect_0.s0_sdi spi_engine_offload_0.sdi_data
118-
add_connection spi_engine_offload_0.sdo_data spi_engine_interconnect_0.s0_sdo
119-
add_connection spi_engine_interconnect_0.s0_sync spi_engine_offload_0.sync
120-
121-
add_connection spi_engine_offload_0.ctrl_cmd_wr axi_spi_engine_0.offload0_cmd
122-
add_connection spi_engine_offload_0.ctrl_sdo_wr axi_spi_engine_0.offload0_sdo
123-
add_connection spi_engine_offload_0.if_ctrl_enable axi_spi_engine_0.if_offload0_enable
124-
add_connection spi_engine_offload_0.if_ctrl_enabled axi_spi_engine_0.if_offload0_enabled
125-
add_connection spi_engine_offload_0.if_ctrl_mem_reset axi_spi_engine_0.if_offload0_mem_reset
126-
add_connection spi_engine_offload_0.status_sync axi_spi_engine_0.offload_sync
127-
128-
add_connection spi_engine_offload_0.offload_sdi axi_dmac_0.s_axis
83+
add_connection ${spi_engine_hier}_offload.offload_sdi axi_dmac_0.s_axis
12984

13085
# cpu interconnects
13186

13287
ad_cpu_interconnect 0x00020000 axi_dmac_0.s_axi
133-
ad_cpu_interconnect 0x00030000 axi_spi_engine_0.s_axi
88+
ad_cpu_interconnect 0x00030000 ${spi_engine_hier}_axi_regmap.s_axi
13489

13590
# dma interconnect
13691
ad_dma_interconnect axi_dmac_0.m_dest_axi
13792

13893
# interrupts
13994

14095
ad_cpu_interrupt 4 axi_dmac_0.interrupt_sender
141-
ad_cpu_interrupt 5 axi_spi_engine_0.interrupt_sender
96+
ad_cpu_interrupt 5 ${spi_engine_hier}_axi_regmap.interrupt_sender

0 commit comments

Comments
 (0)