Commit Graph

6522 Commits (aa51783811e0c543996dc68de87b854f4a0c9371)

Author SHA1 Message Date
Alin-Tudor Sferle aa51783811 gmsl/kv260: Initial commit
Signed-off-by: Alin-Tudor Sferle <Alin-Tudor.Sferle@analog.com>
2024-03-18 17:05:03 +02:00
Jorge Marques f2a00c8528
spi_engine: Revert Offload AXI signals, ctrl fixup (#1288)
Revert AXI bus signals back to upper case on SPI Engine Offload IP,
changed on e2ca5a991a.
Fixup signals from sd*_data_* to sd*_* for spi_engine_ctrl interface.
Non-breaking mistake, but added warnings to the IP.

Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2024-03-14 11:45:33 -03:00
Sergiu Arpadi a9e0836a77 doc: Update hdl coding guidelines
Since parameters/local parameters can be involved in the declaration of
registers/wires, it is best practice to declare them first.
2024-03-11 09:22:56 +02:00
LBFFilho 2052817dcb
SPI Engine: Add registers for Offload memory and FIFO sizes (#1279)
* SPI Engine: Add registers for Offload memory and FIFO sizes

Adds registers at dword 0x04 and 0x05, respectively allowing software
to get the sizes of the Offload Module memories (command and sdo) or
the sizes of the FIFOs on the AXI regmap.

Signed-off-by: Laez Barbosa <laez.barbosa@analog.com>
2024-03-08 08:40:48 -03:00
PIoandan 1074779db9
hdl: Zed-AD7768: Wideband fixed bug (#1281)
* AD7768_zed: Fix wideband filter bug

In SPI control mode, when not used as GPIO the FILTER pin and when a
crystal is used as the clock source, this pin must be set to 1.
The START pin must be tied to a logic 1 through a pull-up resistor, when
it is not used.
2024-03-06 17:28:43 +02:00
Jorge Marques e2ca5a991a
spi_engine: Create interface_ip.tcl (#1251)
Use tcl script instead of static xmls for the interface.
Easier to maintain and are not gitignored.
Rename spi_master to spi_engine because every interface should be
prefixed by the IP name; in this case, spi_engine.
Also, remove interface/*.sv files on make clean and git ignore them.

Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2024-02-28 10:31:46 -03:00
Jorge Marques be0e2809e9
docs: Use doctools (#1258)
The extensions have been moved to docs tools.
The source code is available at
https://github.com/analogdevicesinc/doctools
And is installed as before:
(cd docs ; pip install -r requirements.txt --upgrade)
Since the package is listed on the requirements.txt file.

Also, add index for library and projects

Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2024-02-22 11:32:04 -03:00
PIoandan af64c55613
docs: Add pulsar_adc project documentation (#1275)
Signed-off-by: Ioan-daniel Pop <Pop.Ioan-daniel@analog.com>
2024-02-21 15:54:50 +02:00
PIoandan a7442d3c78
docs: Add cn0363_pmdz project documentation (#1278)
* docs: Add cn0363_pmdz project documentation

Signed-off-by: Ioan-daniel Pop <Pop.Ioan-daniel@analog.com>
2024-02-21 15:51:15 +02:00
StancaPop 4b8f3f06f7 adrv2crr_fmcxmwbr1: Merge with xmicrowave 2024-02-20 17:48:00 +02:00
Iulia Moldovan 1e4dc519fc adi_util_hbm.tcl: Change wrong var name rx_tx_n->tx_rx_n
Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2024-02-20 17:43:30 +02:00
Iulia Moldovan 608044d124 util_hbm_ip.tcl: Fix LENGTH_WIDTH and HBM_SEGMENTS_PER_MASTER errors
* Value 24 was wrongfully set for parameter LENGTH_WIDTH, because
  it is not among the valid values, which are 28, 29, ..., 34. Set '28'
  to be the default value
* Vivado Tcl somehow didn't accept the old expression set for
  calculating the HBM_SEGMENTS_PER_MASTER parameter, so it was changed
  accordingly to work. Dropped "expr", ".0" and "int ()" parsing and now
  it works

Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2024-02-20 17:43:30 +02:00
Iulia Moldovan 40fb2c3bbb adi_env.tcl: Update Vivado version to 23.2
Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2024-02-20 17:43:30 +02:00
PIoandan 3bf7cbbe45
docs: Add ad463x_fmc project documentation (#1277)
Signed-off-by: Ioan-daniel Pop <Pop.Ioan-daniel@analog.com>
2024-02-20 14:41:08 +02:00
LBFFilho c9d28cdb42
s10soc: Fix issue affecting stratix 10 projects (#1221)
The introduction of sysid IPs on some Stratix 10 projects introduced a
problem where they would fail to build, due to mem_init_sys_file_path
not being defined. This is fixed now.

Signed-off-by: Laez Barbosa <laez.barbosa@analog.com>
2024-02-19 09:02:07 -03:00
PIoandan 29544604ec
Update cn0540 spi engine (#1207)
Signed-off-by: Ioan-daniel Pop <Pop.Ioan-daniel@analog.com>
2024-02-13 16:14:59 +02:00
PIoandan 86cd484865
lib/axi_pwm_gen: Update pause_cnt logic (#1271)
Signed-off-by: Ioan-daniel Pop <Pop.Ioan-daniel@analog.com>
2024-02-07 11:16:40 +02:00
LBFFilho f01d7e5951
SPI Engine: fix early sdi data clear (#1231)
* SPI Engine: fix early sdi data clear

In case an SPI read was immediately followed by a cs assert, the sdi
register was being cleared one cycle too soon, so that the data being
passed on was always 'b0.

Signed-off-by: Laez Barbosa <laez.barbosa@analog.com>
2024-02-05 17:18:27 -03:00
Iulia Moldovan b786ceac10 docs/ad9434_fmc: Fix links
Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2024-02-02 15:47:59 +02:00
Alin-Tudor Sferle 73c4cfe88e docs/regmap: Update pwm_gen regmap
Update the pwm_gen regmap's registers related to period/width/offset

Signed-off-by: Alin-Tudor Sferle <Alin-Tudor.Sferle@analog.com>
2024-02-02 15:46:55 +02:00
AndrDragomir 74a190d8b2 adrv9026: Initial design
Signed-off-by: AndrDragomir <andrei.dragomir@analog.com>
2024-02-02 15:46:18 +02:00
PIoandan a31eb76366
docs: Add cn0540 documentation (#1248)
docs: Add cn0540 documentation.

Signed-off-by: Ioan-daniel Pop <Pop.Ioan-daniel@analog.com>
2024-01-31 16:59:51 +02:00
Jorge Marques c3f6f8685b
docs: Fixups on ad7134_fmc and cn0561 (#1261)
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2024-01-29 13:35:57 +00:00
laurent-19 265a3287a3
docs: Add ad4134_fmc doc (#1247)
* docs: Add ad4134_fmc doc. Update by guidelines

Signed-off-by: laurent-19 <laurentiu.popa@analog.com>
---------

Signed-off-by: laurent-19 <laurentiu.popa@analog.com>
2024-01-29 14:41:13 +02:00
laurent-19 cba731f19c
docs: Add ad7134_fmc doc (#1246)
* docs: Add ad7134_fmc doc. Update by guidelines

Signed-off-by: laurent-19 <laurentiu.popa@analog.com>
---------

Signed-off-by: laurent-19 <laurentiu.popa@analog.com>
2024-01-29 14:40:23 +02:00
laurent-19 0c3b8a1069
docs: Add cn0561 doc (#1245)
* docs: Add cn0561 doc. Update by guidelines

Signed-off-by: laurent-19 <laurentiu.popa@analog.com>

---------

Signed-off-by: laurent-19 <laurentiu.popa@analog.com>
2024-01-29 14:38:53 +02:00
Jorge Marques e1dd6e5d56
docs: Update user guide, remove legacy code (#1242)
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2024-01-29 12:36:25 +00:00
IstvanZsSzekely 57356cc4ee
util_axis_fifo: Update (#1255)
* util_axis_fifo: Update

- Added missing signal drivers for tlast and tkeep

Signed-off-by: Istvan-Zsolt Szekely <istvan.szekely@analog.com>
2024-01-26 13:31:21 +02:00
Jorge Marques 231632e8ca scripts:project_intel.mk: Fix make clean-all target
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2024-01-23 14:32:11 +02:00
AndreiGrozav b8fef86cc3 Add library .lock files to git ignore
Signed-off-by: AndreiGrozav <andrei.grozav@analog.com>
2024-01-23 14:32:11 +02:00
AndreiGrozav b6e2a997c1 scripts:project_xilinx.mk: Fix make clean-all target
Signed-off-by: AndreiGrozav <andrei.grozav@analog.com>
2024-01-23 14:32:11 +02:00
Laez Barbosa d300b9c55c SPI Engine: Formatting on spi_engine_offload
Signed-off-by: Laez Barbosa <laez.barbosa@analog.com>
2024-01-17 09:11:24 -03:00
Laez Barbosa d45be68ac4 SPI Engine: edge-based trigger
Previous level-based trigger could cause issues in some low
sampling rate setups. This commit changes it to edge-based.

Signed-off-by: Laez Barbosa <laez.barbosa@analog.com>
2024-01-17 09:11:24 -03:00
Iulia Moldovan b45e7a7313 Replace other master branch references to main
* README.md
* adi_regmap_xcvr.txt
* build_hdl.rst
* hdl_coding_guideline.rst
* data_offload/README.md

Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2024-01-16 16:48:45 +02:00
Iulia Moldovan 68461110aa Replace link in license header from master to main
Signed-off-by: Iulia Moldovan <Iulia.Moldovan@analog.com>
2024-01-16 16:48:45 +02:00
Jorge Marques 107b043550
library: jesd204: Fixup Vivado exiting with error (#1243)
The lack of the create_xgui_files causes Vivado to exit with an error
when running multiple Vivado instances (parallel make case)

Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2024-01-16 12:43:03 +00:00
PIoandan d4f33da416
docs: Add ad738x documentation (#1240)
docs/projects/ad738x_fmc: Add ad738x_fmc project documentation

Signed-off-by: Ioan-daniel Pop <Pop.Ioan-daniel@analog.com>
2023-12-21 11:58:16 +02:00
caosjr bad1d03678
spi_engine: Fixup param ranges and CPHA info (#1239)
Set validation ranges for DATA_WIDTH and NUM_OF_CS for the expected
min/max values in the verilog source code.
Also, fix swapped description for CPHA in the documentation.

Signed-off-by: Carlos Oliveira <caosjr8@gmail.com>
2023-12-18 10:52:26 -03:00
AndreiGrozav 870b27d3d3 axi_pwm_gen: Update ttcl constraints
Signed-off-by: AndreiGrozav <andrei.grozav@analog.com>
2023-12-15 15:03:07 +02:00
AndreiGrozav e0fc09fc9e axi_pwm_gen: Start, Stop fix
Previously when issuing a load_config, each pwm channel
was stopped in its tracks and waited for an external sync,
if that was active, or load_config release.
The desired behaviour is to wait for the pwm channels to finish
their events from the current period, before a new aligned start.
Also, the first positive edge of each pulse was initiated only
in the second pwm channel period.
This niche behaviours have not affected any functionality in the
long term alignments for current setups.

Signed-off-by: AndreiGrozav <andrei.grozav@analog.com>
2023-12-15 15:03:07 +02:00
AndreiGrozav e7dd5ce394 axi_pwm_gen: Offset mecanism fix
When leaving the offset equal to zero for a pwm
channel. That pwm channel was not waiting for all
channels to get in sync after a load config.

Signed-off-by: AndreiGrozav <andrei.grozav@analog.com>
2023-12-15 15:03:07 +02:00
Alin-Tudor Sferle 119d4e43a3 axi_pwm_gen: Add support for 16 channels
Signed-off-by: Alin-Tudor Sferle <Alin-Tudor.Sferle@analog.com>
Signed-off-by: AndreiGrozav <andrei.grozav@analog.com>
2023-12-15 15:03:07 +02:00
Liam Beguin 887ffac0ed
scripts: Parallel build with pattern rules (#1202)
Drop shell for loops in favor of makefile pattern rules,
so make can run targets in parallel using -j.
This doesn't affect Vivado's own settings.

As a benchmark, 12th Gen Intel(R) Core(TM) i9-12900H 5GHz(max):
	$ make -C projects/adrv9009/zcu102/ clean-all
	$ time make -C projects/adrv9009/zcu102/ -j$CORES lib
CORES=1:
	real    9m27.223s
	user    9m2.556s
	sys     0m32.358s
CORES=8:
	real    1m54.639s
	user    16m26.512s
	sys     1m2.317s
i.e. about 5 times faster to build IP core dependencies.

Signed-off-by: Liam Beguin <liambeguin@gmail.com>
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-12-14 17:27:23 +00:00
Jorge Marques 940c3ccd35 docs: Add component diagram generator
Replaces Symbolator with custom component diagram generator for more
reliable diagrams.
It uses the IP-XACT file, if it is not found, a placeholder is added
instead.

Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-12-13 10:38:29 -03:00
Jorge Marques 9f4d5ff71f docs: General improvements
Import aiohttp and asyncio only when needed.
Better warning for unknown signals, params.
Use pattern matching in regmap parsing.
Fixup bundle count.
Add lists clarification to guidelines.
Enforce #1229 rules.
Clean-up Makefile.
Use non-breaking hyphen.

Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-12-13 10:38:29 -03:00
AndreiGrozav 39b2a2b8bb axi_dac_interpolate: Improve the ctrl logic
1. Simplify the control logic by adding a state machine.
The improvements are on code readability and reliability.

2.Add a flush feature which can be used to clean the data from the DMA fifo.
This is useful when the DMA is programmed in cyclic mode and
data transmission is stopped by dma_transfer_suspend flag
The software intervention is reduced at setting the flag(dma_flush_en).
Flushing can also be done when activating the raw value with dma_flush_en active.

3. Add raw value support. Through this changes a user can set
the dac output to a fixed predefined value in the following two cases:
  1. direct, without using the dma.
  2. with dma, as a hold value. The fixed value will be kipped after a cyclic
buffer is stopped by axi_dac_interpolate, through dma_transfer_suspend
register/signal.
The raw value ca be set and transmitted independently on each channel.
The predefined value is stored in reg 0x19(0x64). For more details se
the documentation available at
https://wiki.analog.com/resources/fpga/docs/axi_dac_interpolate
2023-12-12 16:51:05 +02:00
AndreiGrozav 6998cc99b4 m2k: Remove dac last_sample_hold control
axi_dac_interpolate - Remove last sample hold control
axi_ad9963 - Remove last sample hold control and set as default the
last sample hold functionality plus code optimization changes.
2023-12-12 16:51:05 +02:00
PIoandan 06201d5ee1
docs: Add ad5766 documentation (#1227)
docs: Add ad5766_sdz documentation

Signed-off-by: Ioan-daniel Pop <Pop.Ioan-daniel@analog.com>
2023-12-12 12:12:47 +02:00
cristianmihaipopa c1e0698719
AD9434: Zed porting and documentation (#1210) 2023-12-07 15:18:59 +02:00
Ionut Podgoreanu 9f2a03f29d arradio: Enable the scatter-gather DMA core
Signed-off-by: Ionut Podgoreanu <ionut.podgoreanu@analog.com>
2023-12-04 14:34:33 +02:00