Skip to content

Commit 7cfb127

Browse files
committed
docs/creating_new_ip: Add version guidelines
To ensure consistency with software, semantic versioning must be used. The first release should have major version at least 1. Signed-off-by: Jorge Marques <jorge.marques@analog.com>
1 parent 08314b7 commit 7cfb127

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

docs/user_guide/ip_cores/creating_new_ip.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,22 @@ use the generic adc/dac templates that include all available registers:
287287
* :git-hdl:`docs/regmap/adi_regmap_axi_adc_template.txt`
288288
* :git-hdl:`docs/regmap/adi_regmap_axi_dac_template.txt`
289289

290+
Versioning
291+
--------------------------------------------------------------------------------
292+
293+
IP cores versions should follow `Semantic Versioning <https://semver.org/>`
294+
``v<major>.<minor>.<patch>`` format.
295+
A fix increases the patch number, a feature the minor number, and a breaking
296+
change the major number. The first stable release version should be higher or
297+
equal to v1.0.0.
298+
299+
Device tree bindings take the major number, for example, for *axi_my_ip* v1.2.3,
300+
the *dt-binding* and *compatible* should be *adi,axi-my-ip-1*.
301+
Per the last paragraph, *adi,axi-my-ip-0* is **never** appropriate.
302+
Software drivers parse the ``VERSION`` register for feature handling across
303+
versions. The patch number shouldn't have to be handled by software drivers, if
304+
it seems necessary to, consider incrementing the minor number instead.
305+
290306
Xilinx
291307
--------------------------------------------------------------------------------
292308

0 commit comments

Comments
 (0)