Conversation
|
Can drivers/iio/adc/adrv904x/initdata.c and drivers/iio/adc/adrv904x/initdata.h are API files right? the rules are at https://github.com/analogdevicesinc/linux/blob/ci/ci/build.sh#L35 The license.pdf is a no no, please remove All files should have unix endings, even api ones, csv, etc, use I will now take a look on the |
|
The api is generating calls to thanks! |
|
0001-API-dirty-adrv904x-use-math64-and-gcd.patch |
3c1012d to
a37e455
Compare
|
@gastmaier thank you for your review. See the changelog below:
|
5fb6eed to
fa6d679
Compare
|
Hi, is rule |
|
Adding new comment to fixup my last comment, you did fix the line endings at but checkpatch checks per commit What you can do, if you don't want to force push, is to create a fixup commit with Those commits are intentionally auto squashed during the ci |
fa6d679 to
1405cc2
Compare
Yes, adrv904x/platforms contains the platform abstraction layer (adi_library_types.h, adi_library.c). Thanks for adding the board rule! |
|
@gastmaier Thank you again for the review! Could you take another look and let me know if there are any remaining topics? |
|
Friendly reminder: please don't forget to review this PR. |
There was a problem hiding this comment.
Do we have documentation on the dt bindings .yaml? How will you document how to use?
Please resolve the clang/gcc analyzer caught issues, they are not static analyzer and are mostly always correct, either directly correct, or surface deeper structure issues.
The issues are, for convenience, shown as annotations, in the changed files; you can also now filter the commits shows in the gui, so de-select the api and fw commits, and focus on your files.
Thanks!
| break; | ||
| } | ||
|
|
||
| ret = adrv904x_gainindex_to_gain(phy, chan->channel, |
There was a problem hiding this comment.
this ret value is never read.
should you error check? or discard explicitly
Same in all locations
drivers/iio/adc/adrv904x/adrv904x.c
Outdated
| adrv904x_add_debugfs_entry(phy, "bist_tone", DBGFS_BIST_TONE); | ||
|
|
||
| for (i = 0; i < phy->adrv904x_debugfs_entry_index; i++) | ||
| d = debugfs_create_file(phy->debugfs_entry[i].propname, 0644, |
drivers/iio/adc/adrv904x/adrv904x.c
Outdated
| case OBS_SAMPL_CLK: | ||
| phy->orx_iqRate_kHz = phy->kororDevice->initExtract.jesdSetting.framerSetting[1].iqRate_kHz; | ||
| init.ops = &bb_clk_ops; | ||
| clk_priv->rate = phy->orx_iqRate_kHz;; |
drivers/iio/adc/adrv904x/adrv904x.c
Outdated
| adrv904x_TxLinkSamplingRateFind(phy->kororDevice, | ||
| ADI_ADRV904X_DEFRAMER_0, | ||
| &rate); | ||
| init.ops = &bb_clk_ops; | ||
| clk_priv->rate = rate; |
There was a problem hiding this comment.
Error checking before storing value? Does rate really get a value on all branches?
If deframerSel selects more than one, it never writes iqRate_kHz.
But in general just always error check.
do you have a wrapper to convert recoveryAction like device->common.errPtr->errDebugInfo.highestPriorityAction, in a more palatable format?
1405cc2 to
db3c42e
Compare
|
changelog v3: Fixed unused/overwritten values:
Fixed unused variables:
Fixed syntax issues:
Added dt-bindings documentation:
|
ef097a1 to
3e64a1d
Compare
|
For the warnings, |
Add Koror API 2.15.0.5. Signed-off-by: George Mois <george.mois@analog.com>
Add binaries to be used with the ADRV904X driver. New adrv904x firmware to reflect the two available use cases, without ORX (default profile) and with ORX (NLS profile) Signed-off-by: George Mois <george.mois@analog.com> Signed-off-by: Andrei Dragomir <andrei.dragomir@analog.com> Signed-off-by: Stefan Popa <stefan.popa@analog.com>
d5f3f58 to
d1c095e
Compare
|
v4
|
545c194 to
2e6cda5
Compare
Add the ADRV9040 initial driver including: - Core driver implementation with JESD204 support - IIO channel definitions and read/write operations - Clock framework integration - Linux platform abstraction layer Add support for observation receiver (ORX) channels including: - Add OBS_SAMPL_CLK clock for ORX sampling rate - Differentiate between RX and OBS_RX channels in read_raw - Add axi-adrv904x-obs compatible string support Signed-off-by: George Mois <george.mois@analog.com> Signed-off-by: Stefan Popa <stefan.popa@analog.com>
Add dts file for adrv904x (Koror). Signed-off-by: George Mois <george.mois@analog.com>
New adrv904x dts to implement the use case with ORX in NLS mode Signed-off-by: AndrDragomir <andrei.dragomir@analog.com>
Direct 64-bit division on ARM32 causes undefined references to __aeabi_uldivmod and __aeabi_ldivmod. Add platform abstraction wrappers in adi_library_types.h for division operations and use them throughout the driver. Use GCD reduction before squaring in scale_with_squared_ratio() to prevent overflow in power threshold calculations. Co-authored-by: Jorge Marques <jorge.marques@analog.com> Signed-off-by: Stefan Popa <stefan.popa@analog.com>
Signed-off-by: Stefan Popa <stefan.popa@analog.com>
Add device tree bindings documentation for the Analog Devices ADRV904X RF transceiver family. The ADRV904X is a highly integrated RF transceiver supporting 8 transmitter and 8 receiver channels with observation receivers, designed for cellular infrastructure applications. Signed-off-by: Stefan Popa <stefan.popa@analog.com>
Disable VLA and frame-size warnings for ADI vendor API files that trigger build failures when compiled with -Werror. Signed-off-by: Stefan Popa <stefan.popa@analog.com>
…e_dpd The prototype for adi_adrv904x_WBBufSegConfigGet() in adi_adrv904x_dfe_dpd.h is conditionally compiled under in adi_adrv904x_dfe_dpd.c lacks the same guard. When ADI_LIBRARY_RM_FLOATS is defined the compiler sees no prior declaration for the function and emits -Wmissing-prototypes, which is promoted to an error by -Werror, breaking the build. Wrap the function definition with the same guard as its prototype. Signed-off-by: Stefan Popa <stefan.popa@analog.com>
Fix variable length array compilation errors in ADI vendor API code that trigger build failures with -Werror=vla. The VLAs were caused by using const local variables as array dimensions in RxGainTableLoad and RxGainTableChecksumRead, which the compiler cannot evaluate as constant expressions in C90 mode. Replace the local const variables LINE_BUFFER_SIZE and HEADER_BUFFER_SIZE with file-scope #define macros so the array sizes are true compile-time constants. Signed-off-by: Stefan Popa <stefan.popa@analog.com>
adrv904x_dfe_vswr.c defines adrv904x_VswrPlaybackDatNumOfSamplesInit but does not include its own header adrv904x_dfe_vswr.h, where the function prototype is declared. This causes a -Werror=missing-prototypes build failure since the compiler sees the definition before any declaration. Add the missing self-include to fix the build error. Signed-off-by: Stefan Popa <stefan.popa@analog.com>
2e6cda5 to
8f0c2f0
Compare
PR Description
This PR adds initial Linux kernel driver support for the Analog Devices ADRV904X (Koror) family of wideband transceivers.
PR Type
PR Checklist