Skip to content

Commit

Permalink
projects: adrv9025: Madura project
Browse files Browse the repository at this point in the history
Add Madura sample project.

Remove Madura driver from drivers build check, cppcheck, and
astyle check.

Signed-off-by: George Mois <[email protected]>
  • Loading branch information
danmois authored and buha committed Oct 18, 2023
1 parent db95be3 commit ab393ac
Show file tree
Hide file tree
Showing 33 changed files with 38,399 additions and 2 deletions.
3 changes: 3 additions & 0 deletions .astyleignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,8 @@ drivers/adc/ad9081/api
drivers/rf-transceiver/navassa/common/
drivers/rf-transceiver/navassa/devices/
drivers/rf-transceiver/navassa/third_party/
drivers/rf-transceiver/madura/common/
drivers/rf-transceiver/madura/devices/
drivers/rf-transceiver/madura/platforms/
drivers/adc/ad9083/ad9083_api
legacy/
3 changes: 3 additions & 0 deletions .cppcheckignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
*:drivers/rf-transceiver/navassa/common/*
*:drivers/rf-transceiver/navassa/devices/*
*:drivers/rf-transceiver/navassa/third_party/*
*:drivers/rf-transceiver/madura/common/*
*:drivers/rf-transceiver/madura/devices/*
*:drivers/rf-transceiver/madura/platforms/*
*:drivers/adc/ad9083/ad9083_api
*:libraries/fatfs/*
*:libraries/mbedtls/*
Expand Down
2 changes: 1 addition & 1 deletion ci/gen_dox.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#List of excluded driver folders for the documentation generation.
EXCLUDE_DRV="talise navassa ad9083_api ad5940"
EXCLUDE_DRV="talise navassa ad9083_api ad5940 madura"

#Generate drivers_page.dox and projects_page.dox

Expand Down
1 change: 1 addition & 0 deletions doc/doxygen/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ set(DOCUMENTED_FILES
set(EXCLUDE_FILES
"${SOURCES_DIR}/drivers/rf-transceiver/talise \\
${SOURCES_DIR}/drivers/rf-transceiver/navassa \\
${SOURCES_DIR}/drivers/rf-transceiver/madura \\
${SOURCES_DIR}/drivers/adc/ad9081/api \\
${SOURCES_DIR}/drivers/adc/ad9083/ad9083_api \\
${SOURCES_DIR}/drivers/afe/ad5940 \\
Expand Down
3 changes: 2 additions & 1 deletion drivers/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ CC = arm-none-eabi-gcc
SKIPDIR = -path ./platform -prune -o \
-path ./axi_core -prune -o \
-path ./rf-transceiver/navassa -prune -o \
-path ./adc/ad9081 -prune -o
-path ./adc/ad9081 -prune -o \
-path ./rf-transceiver/madura -prune -o

INCLUDES = -I../include/ \
-I../projects/drivers/util/ \
Expand Down
13 changes: 13 additions & 0 deletions projects/adrv902x/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Select the example you want to enable by choosing y for enabling and n for disabling
BASIC_EXAMPLE = n
DMA_EXAMPLE = n
IIO_EXAMPLE = y

# Uncomment to use the desired platform
PLATFORM = xilinx

include ../../tools/scripts/generic_variables.mk

include src.mk

include ../../tools/scripts/generic.mk
96 changes: 96 additions & 0 deletions projects/adrv902x/src.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
################################################################################
# #
# Shared variables: #
# - PROJECT #
# - DRIVERS #
# - INCLUDE #
# - PLATFORM_DRIVERS #
# - NO-OS #
# #
################################################################################
include $(PROJECT)/src/platform/$(PLATFORM)/platform_src.mk
include $(PROJECT)/src/examples/examples_src.mk

SRCS += $(PROJECT)/src/platform/$(PLATFORM)/main.c

INCS += $(PROJECT)/src/common/common_data.h \
$(PROJECT)/src/common/app_config.h \
$(PROJECT)/src/common/ADRV9025_RxGainTable.h \
$(PROJECT)/src/common/ADRV9025_TxAttenTable.h \
$(PROJECT)/src/common/hal/no_os_platform.h \
$(PROJECT)/src/common/firmware/ADRV9025_DPDCORE_FW.h \
$(PROJECT)/src/common/firmware/ADRV9025_FW.h \
$(PROJECT)/src/common/firmware/stream_image_6E3E00EFB74FE7D465FA88A171B81B8F.h \
$(PROJECT)/src/common/firmware/ActiveUseCase_profile.h \
$(PROJECT)/src/common/firmware/ActiveUtilInit_profile.h

SRCS += $(PROJECT)/src/common/common_data.c \
$(PROJECT)/src/common/hal/no_os_platform.c

INCS += $(PROJECT)/src/platform/platform_includes.h \
$(PROJECT)/src/platform/$(PLATFORM)/parameters.h
SRCS += $(PROJECT)/src/platform/$(PLATFORM)/parameters.c

SRCS += $(DRIVERS)/axi_core/axi_adc_core/axi_adc_core.c \
$(DRIVERS)/axi_core/axi_dac_core/axi_dac_core.c \
$(DRIVERS)/axi_core/axi_dmac/axi_dmac.c \
$(DRIVERS)/axi_core/jesd204/axi_jesd204_rx.c \
$(DRIVERS)/axi_core/jesd204/axi_jesd204_tx.c \
$(DRIVERS)/frequency/ad9528/ad9528.c \
$(NO-OS)/util/no_os_util.c \
$(NO-OS)/util/no_os_clk.c \
$(NO-OS)/util/no_os_alloc.c \
$(NO-OS)/util/no_os_mutex.c\
$(DRIVERS)/api/no_os_spi.c \
$(DRIVERS)/api/no_os_gpio.c \
$(NO-OS)/jesd204/jesd204-core.c \
$(NO-OS)/jesd204/jesd204-fsm.c
SRCS += $(DRIVERS)/axi_core/jesd204/axi_adxcvr.c \
$(DRIVERS)/axi_core/clk_axi_clkgen/clk_axi_clkgen.c
ifeq (y,$(strip $(TINYIIOD)))
LIBRARIES += iio
SRCS += $(NO-OS)/util/no_os_lf256fifo.c \
$(NO-OS)/util/no_os_fifo.c \
$(NO-OS)/util/no_os_list.c \
$(DRIVERS)/axi_core/iio_axi_adc/iio_axi_adc.c \
$(DRIVERS)/axi_core/iio_axi_dac/iio_axi_dac.c \
$(NO-OS)/iio/iio_app/iio_app.c \
$(DRIVERS)/api/no_os_uart.c \
$(DRIVERS)/api/no_os_irq.c
endif

# Madura API sources
SRC_DIRS += $(DRIVERS)/rf-transceiver/madura

INCS += $(DRIVERS)/axi_core/axi_adc_core/axi_adc_core.h \
$(DRIVERS)/axi_core/axi_dac_core/axi_dac_core.h \
$(DRIVERS)/axi_core/axi_dmac/axi_dmac.h \
$(DRIVERS)/axi_core/jesd204/axi_jesd204_rx.h \
$(DRIVERS)/axi_core/jesd204/axi_jesd204_tx.h \
$(DRIVERS)/frequency/ad9528/ad9528.h
INCS += $(DRIVERS)/axi_core/jesd204/axi_adxcvr.h \
$(DRIVERS)/axi_core/clk_axi_clkgen/clk_axi_clkgen.h
INCS += $(INCLUDE)/no_os_axi_io.h \
$(INCLUDE)/no_os_spi.h \
$(INCLUDE)/no_os_irq.h \
$(INCLUDE)/no_os_gpio.h \
$(INCLUDE)/no_os_error.h \
$(INCLUDE)/no_os_delay.h \
$(INCLUDE)/no_os_util.h \
$(INCLUDE)/no_os_clk.h \
$(INCLUDE)/no_os_print_log.h \
$(INCLUDE)/no_os_alloc.h \
$(INCLUDE)/no_os_mutex.h \
$(INCLUDE)/jesd204.h \
$(NO-OS)/jesd204/jesd204-priv.h
ifeq (y,$(strip $(TINYIIOD)))
INCS += $(INCLUDE)/no_os_fifo.h \
$(INCLUDE)/no_os_irq.h \
$(INCLUDE)/no_os_uart.h \
$(INCLUDE)/no_os_lf256fifo.h \
$(INCLUDE)/no_os_list.h \
$(DRIVERS)/axi_core/iio_axi_adc/iio_axi_adc.h \
$(NO-OS)/iio/iio_app/iio_app.h \
$(DRIVERS)/axi_core/iio_axi_dac/iio_axi_dac.h
endif

98 changes: 98 additions & 0 deletions projects/adrv902x/src/LICENSE_API
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
API Source Code Software License Agreement

BEFORE YOU SELECT THE "I ACCEPT" BUTTON AT THE BOTTOM OF THIS WINDOW,
CAREFULLY READ THE TERMS AND CONDITIONS SET FORTH BELOW. BY SELECTING
THE “I ACCEPT” BUTTON BELOW, OR DOWNLOADING, REPRODUCING, DISTRIBUTING
OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO BE BOUND BY THE TERMS AND
CONDITIONS SET FORTH BELOW. IF YOU DO NOT AGREE TO ALL OF THE TERMS AND
CONDITIONS, SELECT THE 'I DO NOT ACCEPT' BUTTON AND YOU MUST NOT
DOWNLOAD, INSTALL OR OTHERWISE USE THE SOFTWARE.

DOWNLOADING, REPRODUCING, DISTRIBUTING OR OTHERWISE USING THE SOFTWARE
CONSTITUTES ACCEPTANCE OF THIS LICENSE. THE SOFTWARE MAY NOT BE USED
EXCEPT AS EXPRESSLY AUTHORIZED UNDER THIS LICENSE.

The software is protected by copyright law and international copyright
treaties.

1. License Grant: Subject to the terms and conditions of this
license, the software may be reproduced, modified and distributed in
source code and object code form.

2. Conditions:
a. Any distribution of the software must retain all copyright
and other proprietary notices. The software that is distributed
(including modified versions of the software) shall be subject to the
terms and conditions of this license.
b. Licensee shall not use the name or any trademark of ADI
(including those of its licensors) or any contributor to endorse or
promote products without prior written consent of the owner of the name
or trademark. The term “contributor” means any person or entity that
modifies or distributes the software.
c. Use or distribution of the software may or may not infringe
patent rights of one or more patent holders. This license does not
alleviate Licensee’s obligation to obtain separate licenses from patent
holders.
d. All rights not expressly granted hereunder are reserved to
ADI and its licensors.
e. This license shall be governed by the laws of Massachusetts,
without regard to its conflict of laws rules. The software shall only
be used in compliance with all applicable laws and regulations,
including without limitation export control laws.

3. WARRANTY DISCLAIMER: THE SOFTWARE AND ANY RELATED INFORMATION
AND/OR ADVICE IS PROVIDED ON AN “AS IS” BASIS, WITHOUT REPRESENTATIONS,
GUARANTEES OR WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, ORAL OR
WRITTEN, INCLUDING WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. There is
no obligation to provide software support or updates. The software is
not fault-tolerant and is not intended for use in high risk
applications, including without limitation in the operation of nuclear
facilities, aircraft navigation or control systems, air traffic
control, life support machines, weapons systems or any other
application in which the failure of the software could lead to death,
personal injury, or severe physical or environmental damages. The
software is not authorized to be used under such circumstances.

4. LIMITATION OF LIABILITY: TO THE MAXIMUM EXTENT PERMITTED BY LAW,
ADI (INCLUDING ITS LICENSORS) AND CONTRIBUTORS SHALL NOT BE LIABLE FOR
ANY DAMAGES ARISING FROM OR RELATED TO THE SOFTWARE, ITS USE OR ANY
RELATED INFORMATION AND/OR SERVICES, INCLUDING BUT NOT LIMITED TO ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, EXEMPLARY,
CONSEQUENTIAL OR ANALOGOUS DAMAGES (INCLUDING WITHOUT LIMITATION ANY
DAMAGES RESULTING FROM LOSS OF USE, DATA, REVENUE, PROFITS, OR SAVINGS,
COMPUTER DAMAGE OR ANY OTHER CAUSE), UNDER ANY LEGAL THEORY (INCLUDING
WITHOUT LIMITATION CONTRACT, WARRANTY, TORT, NEGLIGENCE, STRICT OR
PRODUCT LIABILITY), EVEN IF IT HAS BEEN INFORMED OF THE POSSIBILITY OF
SUCH DAMAGES. Some jurisdictions do not permit the exclusion or
limitation of liability for consequential, incidental or other damages,
and, as such, some portion of the above limitation may not apply. In
such jurisdictions, liability is limited to the greatest extent
permitted by law.

5. Third Party Software: The software may be accompanied by or
include software made available by one or more third parties (“Third
Party Software”). Each portion of Third Party Software is subject to
its own separate software license terms and conditions (“Third Party
Licenses”). The Third Party Licenses for Third Party Software delivered
with the software are set forth or identified (by url or otherwise) in
(i) Appendix A to this license (if any), (ii) the applicable software
header or footer text, (iii) a text file located in the directory of
the applicable Third Party Software component and/or (iv) such other
location customarily used for licensing terms. The use of each portion
of Third Party Software is subject to the Third Party Licenses, and you
agree that your use of any Third Party Software is bound by the
applicable Third Party License. You agree to review and comply with all
applicable Third Party Licenses prior to any use or distribution of any
Third Party Software. Third Party Software is provided on an “as is”
basis without any representation, warranty or liability of any kind.
ADI (including its licensors) and contributors shall have no liability
or responsibility for the operation or performance of the Third Party
Software and shall not be liable for any damages, costs, or expenses,
direct or indirect, arising out of the performance or failure to
perform of the Third Party Software. ADI (including its licensors) and
contributors shall be entitled to the benefit of any and all
limitations of liability and disclaimers of warranties contained in the
Third Party Licenses. For the avoidance of doubt, this license does not
alter, limit or expand the terms and conditions of, or rights granted
to you pursuant to, Third Party Licenses.
Loading

0 comments on commit ab393ac

Please sign in to comment.