From 146cd64c83f069151b0628527faec774ab62f5ca Mon Sep 17 00:00:00 2001 From: Nava kishore Manne Date: Fri, 12 Jun 2015 00:05:29 +0530 Subject: [PATCH] Doxygen changes for drivers --- .../drivers/axicdma/src/xaxicdma.c | 4 ++++ .../drivers/axicdma/src/xaxicdma.h | 4 ++++ .../drivers/axicdma/src/xaxicdma_bd.c | 4 ++++ .../drivers/axicdma/src/xaxicdma_bd.h | 4 ++++ .../drivers/axicdma/src/xaxicdma_bdring.c | 4 ++++ .../drivers/axicdma/src/xaxicdma_g.c | 4 ++++ .../drivers/axicdma/src/xaxicdma_hw.h | 4 ++++ .../drivers/axicdma/src/xaxicdma_i.h | 4 ++++ .../drivers/axicdma/src/xaxicdma_intr.c | 4 ++++ .../axicdma/src/xaxicdma_porting_guide.h | 4 ++++ .../drivers/axicdma/src/xaxicdma_sinit.c | 4 ++++ .../drivers/axidma/src/xaxidma.c | 4 ++++ .../drivers/axidma/src/xaxidma.h | 4 ++++ .../drivers/axidma/src/xaxidma_bd.c | 4 ++++ .../drivers/axidma/src/xaxidma_bd.h | 4 ++++ .../drivers/axidma/src/xaxidma_bdring.c | 4 ++++ .../drivers/axidma/src/xaxidma_bdring.h | 4 ++++ .../drivers/axidma/src/xaxidma_g.c | 4 ++++ .../drivers/axidma/src/xaxidma_hw.h | 4 ++++ .../axidma/src/xaxidma_porting_guide.h | 4 ++++ .../drivers/axidma/src/xaxidma_selftest.c | 4 ++++ .../drivers/axidma/src/xaxidma_sinit.c | 4 ++++ .../drivers/axipcie/src/xaxipcie.c | 4 ++++ .../drivers/axipcie/src/xaxipcie.h | 4 ++++ .../drivers/axipcie/src/xaxipcie_g.c | 4 ++++ .../drivers/axipcie/src/xaxipcie_hw.h | 4 ++++ .../drivers/axipcie/src/xaxipcie_intr.c | 4 ++++ .../axipcie/src/xaxipcie_porting_guide.h | 4 ++++ .../drivers/axipcie/src/xaxipcie_sinit.c | 4 ++++ .../drivers/axis_switch/src/xaxis_switch.c | 4 ++++ .../drivers/axis_switch/src/xaxis_switch.h | 4 ++++ .../drivers/axis_switch/src/xaxis_switch_hw.h | 6 ++++- .../axis_switch/src/xaxis_switch_selftest.c | 4 ++++ .../axis_switch/src/xaxis_switch_sinit.c | 6 ++++- .../drivers/axivdma/src/xaxivdma.c | 4 ++++ .../drivers/axivdma/src/xaxivdma.h | 4 ++++ .../drivers/axivdma/src/xaxivdma_channel.c | 4 ++++ .../drivers/axivdma/src/xaxivdma_g.c | 4 ++++ .../drivers/axivdma/src/xaxivdma_hw.h | 4 ++++ .../drivers/axivdma/src/xaxivdma_i.h | 4 ++++ .../drivers/axivdma/src/xaxivdma_intr.c | 4 ++++ .../axivdma/src/xaxivdma_porting_guide.h | 4 ++++ .../drivers/axivdma/src/xaxivdma_selftest.c | 4 ++++ .../drivers/axivdma/src/xaxivdma_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/bram/src/xbram.c | 4 ++++ XilinxProcessorIPLib/drivers/bram/src/xbram.h | 4 ++++ .../drivers/bram/src/xbram_g.c | 4 ++++ .../drivers/bram/src/xbram_hw.h | 4 ++++ .../drivers/bram/src/xbram_intr.c | 4 ++++ .../drivers/bram/src/xbram_selftest.c | 4 ++++ .../drivers/bram/src/xbram_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/can/src/xcan.c | 4 ++++ XilinxProcessorIPLib/drivers/can/src/xcan.h | 4 ++++ .../drivers/can/src/xcan_config.c | 4 ++++ XilinxProcessorIPLib/drivers/can/src/xcan_g.c | 4 ++++ .../drivers/can/src/xcan_intr.c | 4 ++++ XilinxProcessorIPLib/drivers/can/src/xcan_l.h | 4 ++++ .../drivers/can/src/xcan_selftest.c | 4 ++++ .../drivers/canfd/src/xcanfd.c | 4 ++++ .../drivers/canfd/src/xcanfd.h | 4 ++++ .../drivers/canfd/src/xcanfd_config.c | 4 ++++ .../drivers/canfd/src/xcanfd_hw.h | 4 ++++ .../drivers/canfd/src/xcanfd_intr.c | 4 ++++ .../drivers/canfd/src/xcanfd_selftest.c | 4 ++++ .../drivers/canfd/src/xcanfd_sinit.c | 4 ++++ .../drivers/canps/src/xcanps.c | 4 ++++ .../drivers/canps/src/xcanps.h | 4 ++++ .../drivers/canps/src/xcanps_g.c | 4 ++++ .../drivers/canps/src/xcanps_hw.c | 4 ++++ .../drivers/canps/src/xcanps_hw.h | 4 ++++ .../drivers/canps/src/xcanps_intr.c | 4 ++++ .../drivers/canps/src/xcanps_selftest.c | 4 ++++ .../drivers/canps/src/xcanps_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/ccm/src/xccm.c | 4 ++++ XilinxProcessorIPLib/drivers/ccm/src/xccm.h | 4 ++++ .../drivers/ccm/src/xccm_hw.h | 4 ++++ .../drivers/ccm/src/xccm_intr.c | 4 ++++ .../drivers/ccm/src/xccm_selftest.c | 4 ++++ .../drivers/ccm/src/xccm_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/cfa/src/xcfa.c | 4 ++++ XilinxProcessorIPLib/drivers/cfa/src/xcfa.h | 4 ++++ .../drivers/cfa/src/xcfa_hw.h | 4 ++++ .../drivers/cfa/src/xcfa_intr.c | 4 ++++ .../drivers/cfa/src/xcfa_selftest.c | 4 ++++ .../drivers/cfa/src/xcfa_sinit.c | 4 ++++ .../drivers/common/src/xbasic_types.c | 4 ++++ .../drivers/common/src/xbasic_types.h | 4 ++++ .../drivers/common/src/xenv.h | 4 ++++ .../drivers/common/src/xenv_linux.h | 4 ++++ .../drivers/common/src/xenv_none.h | 4 ++++ .../drivers/common/src/xenv_standalone.h | 4 ++++ .../drivers/common/src/xenv_vxworks.h | 4 ++++ .../drivers/common/src/xparameters.h | 4 ++++ .../drivers/common/src/xstatus.h | 4 ++++ .../drivers/common/src/xutil.h | 4 ++++ .../drivers/common/src/xutil_memtest.c | 4 ++++ .../drivers/common/src/xversion.c | 4 ++++ .../drivers/common/src/xversion.h | 4 ++++ XilinxProcessorIPLib/drivers/cpu/src/fsl.h | 4 ++++ XilinxProcessorIPLib/drivers/cpu/src/xio.c | 4 ++++ XilinxProcessorIPLib/drivers/cpu/src/xio.h | 4 ++++ .../cpu_cortexa53/src/xcpu_cortexa53.h | 4 ++++ .../drivers/cpu_cortexa9/src/xcpu_cortexa9.h | 4 ++++ .../drivers/cresample/src/xcresample.c | 4 ++++ .../drivers/cresample/src/xcresample.h | 4 ++++ .../drivers/cresample/src/xcresample_hw.h | 4 ++++ .../drivers/cresample/src/xcresample_intr.c | 4 ++++ .../cresample/src/xcresample_selftest.c | 4 ++++ .../drivers/cresample/src/xcresample_sinit.c | 4 ++++ .../drivers/csudma/src/xcsudma.c | 4 ++++ .../drivers/csudma/src/xcsudma.h | 4 ++++ .../drivers/csudma/src/xcsudma_hw.h | 4 ++++ .../drivers/csudma/src/xcsudma_intr.c | 4 ++++ .../drivers/csudma/src/xcsudma_selftest.c | 4 ++++ .../drivers/csudma/src/xcsudma_sinit.c | 4 ++++ .../drivers/deinterlacer/src/xdeint.c | 4 ++++ .../drivers/deinterlacer/src/xdeint.h | 4 ++++ .../drivers/deinterlacer/src/xdeint_g.c | 4 ++++ .../drivers/deinterlacer/src/xdeint_hw.h | 4 ++++ .../drivers/deinterlacer/src/xdeint_i.h | 4 ++++ .../drivers/deinterlacer/src/xdeint_intr.c | 4 ++++ .../deinterlacer/src/xdeint_selftest.c | 4 ++++ .../drivers/deinterlacer/src/xdeint_sinit.c | 4 ++++ .../drivers/devcfg/src/xdevcfg.c | 4 ++++ .../drivers/devcfg/src/xdevcfg.h | 4 ++++ .../drivers/devcfg/src/xdevcfg_g.c | 4 ++++ .../drivers/devcfg/src/xdevcfg_hw.c | 4 ++++ .../drivers/devcfg/src/xdevcfg_hw.h | 4 ++++ .../drivers/devcfg/src/xdevcfg_intr.c | 4 ++++ .../drivers/devcfg/src/xdevcfg_selftest.c | 4 ++++ .../drivers/devcfg/src/xdevcfg_sinit.c | 4 ++++ .../drivers/dmaps/src/xdmaps.c | 4 ++++ .../drivers/dmaps/src/xdmaps.h | 4 ++++ .../drivers/dmaps/src/xdmaps_g.c | 4 ++++ .../drivers/dmaps/src/xdmaps_hw.c | 4 ++++ .../drivers/dmaps/src/xdmaps_hw.h | 4 ++++ .../drivers/dmaps/src/xdmaps_selftest.c | 4 ++++ .../drivers/dmaps/src/xdmaps_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/dptx/src/xdptx.c | 4 ++++ XilinxProcessorIPLib/drivers/dptx/src/xdptx.h | 4 ++++ .../drivers/dptx/src/xdptx_edid.c | 4 ++++ .../drivers/dptx/src/xdptx_hw.h | 4 ++++ .../drivers/dptx/src/xdptx_intr.c | 4 ++++ .../drivers/dptx/src/xdptx_mst.c | 4 ++++ .../drivers/dptx/src/xdptx_selftest.c | 4 ++++ .../drivers/dptx/src/xdptx_sinit.c | 4 ++++ .../drivers/dptx/src/xdptx_spm.c | 4 ++++ .../drivers/dual_splitter/src/xdualsplitter.c | 4 ++++ .../drivers/dual_splitter/src/xdualsplitter.h | 4 ++++ .../dual_splitter/src/xdualsplitter_hw.h | 4 ++++ .../dual_splitter/src/xdualsplitter_intr.c | 4 ++++ .../src/xdualsplitter_selftest.c | 4 ++++ .../dual_splitter/src/xdualsplitter_sinit.c | 4 ++++ .../drivers/emacps/src/xemacps.c | 4 ++++ .../drivers/emacps/src/xemacps.h | 4 ++++ .../drivers/emacps/src/xemacps_bd.h | 4 ++++ .../drivers/emacps/src/xemacps_bdring.c | 4 ++++ .../drivers/emacps/src/xemacps_bdring.h | 4 ++++ .../drivers/emacps/src/xemacps_control.c | 4 ++++ .../drivers/emacps/src/xemacps_g.c | 4 ++++ .../drivers/emacps/src/xemacps_hw.c | 4 ++++ .../drivers/emacps/src/xemacps_hw.h | 4 ++++ .../drivers/emacps/src/xemacps_intr.c | 4 ++++ .../drivers/emacps/src/xemacps_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/emc/src/xemc.h | 4 ++++ .../drivers/enhance/src/xenhance.c | 22 +++++++++++-------- .../drivers/enhance/src/xenhance.h | 22 +++++++++++-------- .../drivers/enhance/src/xenhance_hw.h | 22 +++++++++++-------- .../drivers/enhance/src/xenhance_intr.c | 22 +++++++++++-------- .../drivers/enhance/src/xenhance_selftest.c | 22 +++++++++++-------- .../drivers/enhance/src/xenhance_sinit.c | 22 +++++++++++-------- .../drivers/gamma/src/gamma.c | 4 ++++ .../drivers/gamma/src/gamma.h | 4 ++++ XilinxProcessorIPLib/drivers/gpio/src/xgpio.c | 4 ++++ XilinxProcessorIPLib/drivers/gpio/src/xgpio.h | 4 ++++ .../drivers/gpio/src/xgpio_extra.c | 4 ++++ .../drivers/gpio/src/xgpio_g.c | 4 ++++ .../drivers/gpio/src/xgpio_i.h | 4 ++++ .../drivers/gpio/src/xgpio_intr.c | 4 ++++ .../drivers/gpio/src/xgpio_l.h | 4 ++++ .../drivers/gpio/src/xgpio_selftest.c | 4 ++++ .../drivers/gpio/src/xgpio_sinit.c | 4 ++++ .../drivers/gpiops/src/xgpiops.c | 4 ++++ .../drivers/gpiops/src/xgpiops.h | 4 ++++ .../drivers/gpiops/src/xgpiops_g.c | 4 ++++ .../drivers/gpiops/src/xgpiops_hw.c | 4 ++++ .../drivers/gpiops/src/xgpiops_hw.h | 4 ++++ .../drivers/gpiops/src/xgpiops_intr.c | 4 ++++ .../drivers/gpiops/src/xgpiops_selftest.c | 4 ++++ .../drivers/gpiops/src/xgpiops_sinit.c | 4 ++++ .../drivers/hwicap/src/xhwicap.c | 4 ++++ .../drivers/hwicap/src/xhwicap.h | 4 ++++ .../drivers/hwicap/src/xhwicap_clb_ff.h | 4 ++++ .../drivers/hwicap/src/xhwicap_clb_lut.h | 4 ++++ .../drivers/hwicap/src/xhwicap_clb_srinv.h | 4 ++++ .../hwicap/src/xhwicap_device_read_frame.c | 4 ++++ .../hwicap/src/xhwicap_device_write_frame.c | 4 ++++ .../drivers/hwicap/src/xhwicap_g.c | 4 ++++ .../drivers/hwicap/src/xhwicap_i.h | 4 ++++ .../drivers/hwicap/src/xhwicap_intr.c | 4 ++++ .../drivers/hwicap/src/xhwicap_l.h | 4 ++++ .../drivers/hwicap/src/xhwicap_selftest.c | 4 ++++ .../drivers/hwicap/src/xhwicap_sinit.c | 4 ++++ .../drivers/hwicap/src/xhwicap_srp.c | 4 ++++ XilinxProcessorIPLib/drivers/iic/src/xiic.c | 4 ++++ XilinxProcessorIPLib/drivers/iic/src/xiic.h | 4 ++++ .../drivers/iic/src/xiic_dyn_master.c | 4 ++++ XilinxProcessorIPLib/drivers/iic/src/xiic_g.c | 4 ++++ XilinxProcessorIPLib/drivers/iic/src/xiic_i.h | 4 ++++ .../drivers/iic/src/xiic_intr.c | 4 ++++ XilinxProcessorIPLib/drivers/iic/src/xiic_l.c | 4 ++++ XilinxProcessorIPLib/drivers/iic/src/xiic_l.h | 4 ++++ .../drivers/iic/src/xiic_master.c | 4 ++++ .../drivers/iic/src/xiic_multi_master.c | 4 ++++ .../drivers/iic/src/xiic_options.c | 4 ++++ .../drivers/iic/src/xiic_selftest.c | 4 ++++ .../drivers/iic/src/xiic_sinit.c | 4 ++++ .../drivers/iic/src/xiic_slave.c | 4 ++++ .../drivers/iic/src/xiic_stats.c | 4 ++++ .../drivers/iicps/src/xiicps.c | 4 ++++ .../drivers/iicps/src/xiicps.h | 4 ++++ .../drivers/iicps/src/xiicps_g.c | 4 ++++ .../drivers/iicps/src/xiicps_hw.c | 4 ++++ .../drivers/iicps/src/xiicps_hw.h | 4 ++++ .../drivers/iicps/src/xiicps_intr.c | 4 ++++ .../drivers/iicps/src/xiicps_master.c | 4 ++++ .../drivers/iicps/src/xiicps_options.c | 4 ++++ .../drivers/iicps/src/xiicps_selftest.c | 4 ++++ .../drivers/iicps/src/xiicps_sinit.c | 4 ++++ .../drivers/iicps/src/xiicps_slave.c | 4 ++++ .../drivers/iomodule/src/xiomodule.c | 4 ++++ .../drivers/iomodule/src/xiomodule.h | 4 ++++ .../drivers/iomodule/src/xiomodule_extra.c | 4 ++++ .../drivers/iomodule/src/xiomodule_g.c | 4 ++++ .../drivers/iomodule/src/xiomodule_i.h | 4 ++++ .../drivers/iomodule/src/xiomodule_intr.c | 4 ++++ .../drivers/iomodule/src/xiomodule_io.h | 4 ++++ .../drivers/iomodule/src/xiomodule_l.c | 4 ++++ .../drivers/iomodule/src/xiomodule_l.h | 4 ++++ .../drivers/iomodule/src/xiomodule_options.c | 4 ++++ .../drivers/iomodule/src/xiomodule_selftest.c | 4 ++++ .../drivers/iomodule/src/xiomodule_stats.c | 4 ++++ .../drivers/iomodule/src/xiomodule_uart.c | 4 ++++ .../iomodule/src/xiomodule_uart_intr.c | 4 ++++ .../drivers/ipipsu/src/xipipsu.c | 4 ++++ .../drivers/ipipsu/src/xipipsu.h | 4 ++++ .../drivers/ipipsu/src/xipipsu_hw.h | 4 ++++ .../drivers/ipipsu/src/xipipsu_sinit.c | 4 ++++ .../drivers/llfifo/src/xllfifo.c | 4 ++++ .../drivers/llfifo/src/xllfifo.h | 4 ++++ .../drivers/llfifo/src/xllfifo_g.c | 4 ++++ .../drivers/llfifo/src/xllfifo_hw.h | 4 ++++ .../drivers/llfifo/src/xllfifo_sinit.c | 4 ++++ .../drivers/llfifo/src/xstreamer.c | 4 ++++ .../drivers/llfifo/src/xstreamer.h | 4 ++++ XilinxProcessorIPLib/drivers/mbox/src/xmbox.c | 6 ++++- XilinxProcessorIPLib/drivers/mbox/src/xmbox.h | 4 ++++ .../drivers/mbox/src/xmbox_g.c | 4 ++++ .../drivers/mbox/src/xmbox_hw.h | 4 ++++ .../drivers/mbox/src/xmbox_sinit.c | 4 ++++ .../drivers/mig_7series/src/xmig_7series.h | 4 ++++ .../drivers/mutex/src/xmutex.c | 4 ++++ .../drivers/mutex/src/xmutex.h | 4 ++++ .../drivers/mutex/src/xmutex_g.c | 4 ++++ .../drivers/mutex/src/xmutex_hw.h | 4 ++++ .../drivers/mutex/src/xmutex_selftest.c | 4 ++++ .../drivers/mutex/src/xmutex_sinit.c | 4 ++++ .../drivers/nandps/src/xnandps.c | 4 ++++ .../drivers/nandps/src/xnandps.h | 4 ++++ .../drivers/nandps/src/xnandps_bbm.c | 4 ++++ .../drivers/nandps/src/xnandps_bbm.h | 4 ++++ .../drivers/nandps/src/xnandps_g.c | 4 ++++ .../drivers/nandps/src/xnandps_hw.h | 4 ++++ .../drivers/nandps/src/xnandps_onfi.c | 4 ++++ .../drivers/nandps/src/xnandps_onfi.h | 4 ++++ .../drivers/nandps/src/xnandps_sinit.c | 4 ++++ .../drivers/nandpsu/src/xnandpsu.c | 4 ++++ .../drivers/nandpsu/src/xnandpsu.h | 4 ++++ .../drivers/nandpsu/src/xnandpsu_bbm.c | 4 ++++ .../drivers/nandpsu/src/xnandpsu_bbm.h | 4 ++++ .../drivers/nandpsu/src/xnandpsu_g.c | 4 ++++ .../drivers/nandpsu/src/xnandpsu_hw.h | 4 ++++ .../drivers/nandpsu/src/xnandpsu_onfi.c | 4 ++++ .../drivers/nandpsu/src/xnandpsu_onfi.h | 4 ++++ .../drivers/nandpsu/src/xnandpsu_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/osd/src/xosd.c | 22 +++++++++++-------- XilinxProcessorIPLib/drivers/osd/src/xosd.h | 22 +++++++++++-------- .../drivers/osd/src/xosd_hw.h | 22 +++++++++++-------- .../drivers/osd/src/xosd_intr.c | 22 +++++++++++-------- .../drivers/osd/src/xosd_selftest.c | 22 +++++++++++-------- .../drivers/osd/src/xosd_sinit.c | 22 +++++++++++-------- .../drivers/qspips/src/xqspips.c | 4 ++++ .../drivers/qspips/src/xqspips.h | 4 ++++ .../drivers/qspips/src/xqspips_g.c | 4 ++++ .../drivers/qspips/src/xqspips_hw.c | 4 ++++ .../drivers/qspips/src/xqspips_hw.h | 4 ++++ .../drivers/qspips/src/xqspips_options.c | 4 ++++ .../drivers/qspips/src/xqspips_selftest.c | 4 ++++ .../drivers/qspips/src/xqspips_sinit.c | 4 ++++ .../drivers/qspipsu/src/xqspipsu.c | 4 ++++ .../drivers/qspipsu/src/xqspipsu.h | 4 ++++ .../drivers/qspipsu/src/xqspipsu_g.c | 4 ++++ .../drivers/qspipsu/src/xqspipsu_hw.h | 4 ++++ .../drivers/qspipsu/src/xqspipsu_options.c | 4 ++++ .../drivers/qspipsu/src/xqspipsu_sinit.c | 4 ++++ .../drivers/rgb2ycrcb/src/xrgb2ycrcb.c | 4 ++++ .../drivers/rgb2ycrcb/src/xrgb2ycrcb.h | 4 ++++ .../drivers/rgb2ycrcb/src/xrgb2ycrcb_hw.h | 4 ++++ .../drivers/rgb2ycrcb/src/xrgb2ycrcb_intr.c | 4 ++++ .../rgb2ycrcb/src/xrgb2ycrcb_selftest.c | 4 ++++ .../drivers/rgb2ycrcb/src/xrgb2ycrcb_sinit.c | 4 ++++ .../drivers/rtcpsu/src/xrtcpsu.c | 4 ++++ .../drivers/rtcpsu/src/xrtcpsu.h | 4 ++++ .../drivers/rtcpsu/src/xrtcpsu_g.c | 4 ++++ .../drivers/rtcpsu/src/xrtcpsu_hw.h | 4 ++++ .../drivers/rtcpsu/src/xrtcpsu_intr.c | 4 ++++ .../drivers/rtcpsu/src/xrtcpsu_selftest.c | 4 ++++ .../drivers/rtcpsu/src/xrtcpsu_sinit.c | 4 ++++ .../drivers/scaler/src/xscaler.c | 4 ++++ .../drivers/scaler/src/xscaler.h | 4 ++++ .../drivers/scaler/src/xscaler_coefs.c | 4 ++++ .../drivers/scaler/src/xscaler_hw.h | 4 ++++ .../drivers/scaler/src/xscaler_intr.c | 4 ++++ .../drivers/scaler/src/xscaler_sinit.c | 4 ++++ .../drivers/scutimer/src/xscutimer.c | 4 ++++ .../drivers/scutimer/src/xscutimer.h | 4 ++++ .../drivers/scutimer/src/xscutimer_g.c | 4 ++++ .../drivers/scutimer/src/xscutimer_hw.h | 4 ++++ .../drivers/scutimer/src/xscutimer_selftest.c | 4 ++++ .../drivers/scutimer/src/xscutimer_sinit.c | 4 ++++ .../drivers/scuwdt/src/xscuwdt.c | 4 ++++ .../drivers/scuwdt/src/xscuwdt.h | 4 ++++ .../drivers/scuwdt/src/xscuwdt_g.c | 4 ++++ .../drivers/scuwdt/src/xscuwdt_hw.h | 4 ++++ .../drivers/scuwdt/src/xscuwdt_selftest.c | 4 ++++ .../drivers/scuwdt/src/xscuwdt_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/spi/src/xspi.c | 4 ++++ XilinxProcessorIPLib/drivers/spi/src/xspi.h | 4 ++++ XilinxProcessorIPLib/drivers/spi/src/xspi_g.c | 4 ++++ XilinxProcessorIPLib/drivers/spi/src/xspi_i.h | 4 ++++ XilinxProcessorIPLib/drivers/spi/src/xspi_l.h | 4 ++++ .../drivers/spi/src/xspi_options.c | 4 ++++ .../drivers/spi/src/xspi_selftest.c | 4 ++++ .../drivers/spi/src/xspi_sinit.c | 4 ++++ .../drivers/spi/src/xspi_stats.c | 4 ++++ .../drivers/spips/src/xspips.c | 4 ++++ .../drivers/spips/src/xspips.h | 4 ++++ .../drivers/spips/src/xspips_g.c | 4 ++++ .../drivers/spips/src/xspips_hw.c | 4 ++++ .../drivers/spips/src/xspips_hw.h | 4 ++++ .../drivers/spips/src/xspips_options.c | 4 ++++ .../drivers/spips/src/xspips_selftest.c | 4 ++++ .../drivers/spips/src/xspips_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/srio/src/xsrio.c | 4 ++++ XilinxProcessorIPLib/drivers/srio/src/xsrio.h | 4 ++++ .../drivers/srio/src/xsrio_g.c | 4 ++++ .../drivers/srio/src/xsrio_hw.h | 4 ++++ .../drivers/srio/src/xsrio_sinit.c | 4 ++++ .../drivers/sysmon/src/xsysmon.c | 4 ++++ .../drivers/sysmon/src/xsysmon.h | 4 ++++ .../drivers/sysmon/src/xsysmon_g.c | 4 ++++ .../drivers/sysmon/src/xsysmon_hw.h | 4 ++++ .../drivers/sysmon/src/xsysmon_intr.c | 4 ++++ .../drivers/sysmon/src/xsysmon_selftest.c | 4 ++++ .../drivers/sysmon/src/xsysmon_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/tft/src/xtft.c | 4 ++++ XilinxProcessorIPLib/drivers/tft/src/xtft.h | 4 ++++ .../drivers/tft/src/xtft_charcode.h | 4 ++++ XilinxProcessorIPLib/drivers/tft/src/xtft_g.c | 4 ++++ .../drivers/tft/src/xtft_hw.h | 4 ++++ .../drivers/tft/src/xtft_sinit.c | 4 ++++ .../drivers/tmrctr/src/xtmrctr.c | 4 ++++ .../drivers/tmrctr/src/xtmrctr.h | 4 ++++ .../drivers/tmrctr/src/xtmrctr_g.c | 4 ++++ .../drivers/tmrctr/src/xtmrctr_i.h | 4 ++++ .../drivers/tmrctr/src/xtmrctr_intr.c | 4 ++++ .../drivers/tmrctr/src/xtmrctr_l.c | 4 ++++ .../drivers/tmrctr/src/xtmrctr_l.h | 4 ++++ .../drivers/tmrctr/src/xtmrctr_options.c | 4 ++++ .../drivers/tmrctr/src/xtmrctr_selftest.c | 4 ++++ .../drivers/tmrctr/src/xtmrctr_stats.c | 4 ++++ XilinxProcessorIPLib/drivers/tpg/src/xtpg.c | 4 ++++ XilinxProcessorIPLib/drivers/tpg/src/xtpg.h | 4 ++++ .../drivers/tpg/src/xtpg_hw.h | 4 ++++ .../drivers/tpg/src/xtpg_intr.c | 4 ++++ .../drivers/tpg/src/xtpg_selftest.c | 4 ++++ .../drivers/tpg/src/xtpg_sinit.c | 4 ++++ .../drivers/trafgen/src/xtrafgen.c | 4 ++++ .../drivers/trafgen/src/xtrafgen.h | 4 ++++ .../drivers/trafgen/src/xtrafgen_g.c | 4 ++++ .../drivers/trafgen/src/xtrafgen_hw.h | 4 ++++ .../drivers/trafgen/src/xtrafgen_sinit.c | 4 ++++ .../drivers/ttcps/src/xttcps.c | 4 ++++ .../drivers/ttcps/src/xttcps.h | 4 ++++ .../drivers/ttcps/src/xttcps_g.c | 4 ++++ .../drivers/ttcps/src/xttcps_hw.h | 4 ++++ .../drivers/ttcps/src/xttcps_options.c | 4 ++++ .../drivers/ttcps/src/xttcps_selftest.c | 4 ++++ .../drivers/ttcps/src/xttcps_sinit.c | 4 ++++ .../drivers/uartlite/src/xuartlite.c | 4 ++++ .../drivers/uartlite/src/xuartlite.h | 4 ++++ .../drivers/uartlite/src/xuartlite_g.c | 4 ++++ .../drivers/uartlite/src/xuartlite_i.h | 4 ++++ .../drivers/uartlite/src/xuartlite_intr.c | 4 ++++ .../drivers/uartlite/src/xuartlite_l.c | 4 ++++ .../drivers/uartlite/src/xuartlite_l.h | 4 ++++ .../drivers/uartlite/src/xuartlite_selftest.c | 4 ++++ .../drivers/uartlite/src/xuartlite_sinit.c | 4 ++++ .../drivers/uartlite/src/xuartlite_stats.c | 4 ++++ .../drivers/uartns550/src/xuartns550.c | 4 ++++ .../drivers/uartns550/src/xuartns550.h | 4 ++++ .../drivers/uartns550/src/xuartns550_format.c | 4 ++++ .../drivers/uartns550/src/xuartns550_g.c | 4 ++++ .../drivers/uartns550/src/xuartns550_i.h | 4 ++++ .../drivers/uartns550/src/xuartns550_intr.c | 4 ++++ .../drivers/uartns550/src/xuartns550_l.c | 4 ++++ .../drivers/uartns550/src/xuartns550_l.h | 4 ++++ .../uartns550/src/xuartns550_options.c | 4 ++++ .../uartns550/src/xuartns550_selftest.c | 4 ++++ .../drivers/uartns550/src/xuartns550_sinit.c | 4 ++++ .../drivers/uartns550/src/xuartns550_stats.c | 4 ++++ .../drivers/uartps/src/xuartps.c | 4 ++++ .../drivers/uartps/src/xuartps.h | 4 ++++ .../drivers/uartps/src/xuartps_g.c | 4 ++++ .../drivers/uartps/src/xuartps_hw.c | 4 ++++ .../drivers/uartps/src/xuartps_hw.h | 4 ++++ .../drivers/uartps/src/xuartps_intr.c | 4 ++++ .../drivers/uartps/src/xuartps_options.c | 4 ++++ .../drivers/uartps/src/xuartps_selftest.c | 4 ++++ .../drivers/uartps/src/xuartps_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/usb/src/xusb.c | 6 ++++- XilinxProcessorIPLib/drivers/usb/src/xusb.h | 4 ++++ .../drivers/usb/src/xusb_endpoint.c | 4 ++++ XilinxProcessorIPLib/drivers/usb/src/xusb_g.c | 4 ++++ .../drivers/usb/src/xusb_intr.c | 4 ++++ XilinxProcessorIPLib/drivers/usb/src/xusb_l.h | 4 ++++ .../drivers/usb/src/xusb_sinit.c | 4 ++++ .../drivers/usbps/src/xusbps.c | 4 ++++ .../drivers/usbps/src/xusbps.h | 4 ++++ .../drivers/usbps/src/xusbps_endpoint.c | 4 ++++ .../drivers/usbps/src/xusbps_endpoint.h | 4 ++++ .../drivers/usbps/src/xusbps_g.c | 4 ++++ .../drivers/usbps/src/xusbps_hw.c | 4 ++++ .../drivers/usbps/src/xusbps_hw.h | 4 ++++ .../drivers/usbps/src/xusbps_intr.c | 4 ++++ .../drivers/usbps/src/xusbps_sinit.c | 4 ++++ .../drivers/v_csc/src/xv_csc_l2.c | 4 ++++ .../drivers/v_csc/src/xv_csc_l2.h | 4 ++++ .../v_deinterlacer/src/xv_deinterlacer_l2.c | 4 ++++ .../v_deinterlacer/src/xv_deinterlacer_l2.h | 4 ++++ .../v_hcresampler/src/xv_hcresampler_l2.c | 4 ++++ .../v_hcresampler/src/xv_hcresampler_l2.h | 4 ++++ .../drivers/v_hscaler/src/xv_hscaler_l2.c | 4 ++++ .../drivers/v_hscaler/src/xv_hscaler_l2.h | 4 ++++ .../drivers/v_letterbox/src/xv_letterbox_l2.c | 4 ++++ .../drivers/v_letterbox/src/xv_letterbox_l2.h | 4 ++++ .../v_vcresampler/src/xv_vcresampler_l2.c | 4 ++++ .../v_vcresampler/src/xv_vcresampler_l2.h | 4 ++++ .../drivers/v_vscaler/src/xv_vscaler_l2.c | 4 ++++ .../drivers/v_vscaler/src/xv_vscaler_l2.h | 4 ++++ .../drivers/video_common/src/xvidc.c | 4 ++++ .../drivers/video_common/src/xvidc.h | 4 ++++ .../drivers/video_common/src/xvidc_edid.c | 4 ++++ .../drivers/video_common/src/xvidc_edid.h | 4 ++++ .../video_common/src/xvidc_timings_table.c | 4 ++++ .../drivers/vprocss/src/xvprocss.c | 4 ++++ .../drivers/vprocss/src/xvprocss.h | 4 ++++ .../drivers/vprocss/src/xvprocss_dma.c | 4 ++++ .../drivers/vprocss/src/xvprocss_dma.h | 4 ++++ .../drivers/vprocss/src/xvprocss_router.c | 4 ++++ .../drivers/vprocss/src/xvprocss_router.h | 4 ++++ .../drivers/vprocss/src/xvprocss_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/vtc/src/xvtc.c | 4 ++++ XilinxProcessorIPLib/drivers/vtc/src/xvtc.h | 4 ++++ .../drivers/vtc/src/xvtc_hw.h | 4 ++++ .../drivers/vtc/src/xvtc_intr.c | 4 ++++ .../drivers/vtc/src/xvtc_selftest.c | 4 ++++ .../drivers/vtc/src/xvtc_sinit.c | 4 ++++ .../drivers/wdtps/src/xwdtps.c | 4 ++++ .../drivers/wdtps/src/xwdtps.h | 4 ++++ .../drivers/wdtps/src/xwdtps_g.c | 4 ++++ .../drivers/wdtps/src/xwdtps_hw.h | 4 ++++ .../drivers/wdtps/src/xwdtps_selftest.c | 4 ++++ .../drivers/wdtps/src/xwdtps_sinit.c | 4 ++++ .../drivers/wdttb/src/xwdttb.c | 4 ++++ .../drivers/wdttb/src/xwdttb.h | 4 ++++ .../drivers/wdttb/src/xwdttb_g.c | 4 ++++ .../drivers/wdttb/src/xwdttb_l.h | 4 ++++ .../drivers/wdttb/src/xwdttb_selftest.c | 4 ++++ .../drivers/xadcps/src/xadcps.c | 4 ++++ .../drivers/xadcps/src/xadcps.h | 4 ++++ .../drivers/xadcps/src/xadcps_g.c | 4 ++++ .../drivers/xadcps/src/xadcps_hw.h | 4 ++++ .../drivers/xadcps/src/xadcps_intr.c | 4 ++++ .../drivers/xadcps/src/xadcps_selftest.c | 4 ++++ .../drivers/xadcps/src/xadcps_sinit.c | 4 ++++ .../drivers/ycrcb2rgb/src/xycrcb2rgb.c | 4 ++++ .../drivers/ycrcb2rgb/src/xycrcb2rgb.h | 4 ++++ .../drivers/ycrcb2rgb/src/xycrcb2rgb_hw.h | 4 ++++ .../drivers/ycrcb2rgb/src/xycrcb2rgb_intr.c | 4 ++++ .../ycrcb2rgb/src/xycrcb2rgb_selftest.c | 4 ++++ .../drivers/ycrcb2rgb/src/xycrcb2rgb_sinit.c | 4 ++++ XilinxProcessorIPLib/drivers/zdma/src/xzdma.c | 4 ++++ XilinxProcessorIPLib/drivers/zdma/src/xzdma.h | 4 ++++ .../drivers/zdma/src/xzdma_hw.h | 4 ++++ .../drivers/zdma/src/xzdma_intr.c | 4 ++++ .../drivers/zdma/src/xzdma_selftest.c | 4 ++++ .../drivers/zdma/src/xzdma_sinit.c | 4 ++++ 508 files changed, 2144 insertions(+), 112 deletions(-) diff --git a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma.c b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma.c index e0d2e1ed..98e5d47f 100644 --- a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma.c +++ b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma.c @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xaxicdma.c +* @addtogroup axicdma_v3_0 +* @{ +* @details * * The implementation of the API of Xilinx CDMA engine. * @@ -685,3 +688,4 @@ void XAxiCdma_DumpRegisters(XAxiCdma *InstancePtr) return; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma.h b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma.h index 763f63f3..9abad3be 100644 --- a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma.h +++ b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma.h @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xaxicdma.h +* @addtogroup axicdma_v3_0 +* @{ +* @details * * This is the driver API for the AXI CDMA engine. * @@ -560,3 +563,4 @@ void XAxiCdma_DumpRegisters(XAxiCdma *InstancePtr); #endif #endif /* prevent circular inclusions */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bd.c b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bd.c index 8084ad99..21f4caf1 100644 --- a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bd.c +++ b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bd.c @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xaxicdma_bd.c +* @addtogroup axicdma_v3_0 +* @{ +* @details * * The implementation for the Buffer Descriptor (BD) API functions. * @@ -489,3 +492,4 @@ void XAxiCdma_DumpBd(XAxiCdma_Bd* BdPtr) return; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bd.h b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bd.h index 1b7145b5..2e5f0c93 100644 --- a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bd.h +++ b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bd.h @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xaxicdma_bd.h +* @addtogroup axicdma_v3_0 +* @{ +* @details * * The API definition for the Buffer Descriptor (BD). * @@ -134,3 +137,4 @@ void XAxiCdma_DumpBd(XAxiCdma_Bd* BdPtr); #endif #endif /* prevent circular inclusions */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bdring.c b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bdring.c index 3415a269..6cde1b18 100644 --- a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bdring.c +++ b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_bdring.c @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xaxicdma_bdring.c +* @addtogroup axicdma_v3_0 +* @{ +* @details * * Implementation for support on Scatter Gather (SG) transfers. * It includes the implementation of the BD ring API. There is only one BD ring @@ -1052,3 +1055,4 @@ int XAxiCdma_BdRingStartTransfer(XAxiCdma *InstancePtr) return XST_SUCCESS; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_g.c b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_g.c index e255f7ff..46ed8c73 100644 --- a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_g.c +++ b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_g.c @@ -33,6 +33,9 @@ /** * * @file xaxicdma_g.c +* @addtogroup axicdma_v3_0 +* @{ +* @details * * Provide a template for user to define their own hardware settings. * @@ -64,3 +67,4 @@ XAxiCdma_Config XAxiCdma_ConfigTable[] = XPAR_AXICDMA_0_M_AXI_DATA_WIDTH } }; +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_hw.h b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_hw.h index 282ec43a..4fecb1aa 100644 --- a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_hw.h +++ b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_hw.h @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xaxicdma_hw.h +* @addtogroup axicdma_v3_0 +* @{ +* @details * * Hardware definition file. It defines the register interface and Buffer * Descriptor (BD) definitions. @@ -237,3 +240,4 @@ extern "C" { #endif #endif +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_i.h b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_i.h index 5f1b65c9..9d7b9b56 100644 --- a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_i.h +++ b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_i.h @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xaxicdma_i.h +* @addtogroup axicdma_v3_0 +* @{ +* @details * * Header file for utility functions shared by driver files. * @@ -71,3 +74,4 @@ int XAxiCdma_BdRingStartTransfer(XAxiCdma *InstancePtr); #endif #endif /* prevent circular inclusions */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_intr.c b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_intr.c index cc56782c..d43cc98f 100644 --- a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_intr.c +++ b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_intr.c @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xaxicdma_intr.c +* @addtogroup axicdma_v3_0 +* @{ +* @details * * The implementation of the interrupt related API. The interrupt handler is * also implemented here. @@ -254,3 +257,4 @@ void XAxiCdma_IntrHandler(void *HandlerRef) return; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_porting_guide.h b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_porting_guide.h index 9a04247a..e1efe7d6 100644 --- a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_porting_guide.h +++ b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_porting_guide.h @@ -33,6 +33,9 @@ /** * * @file xaxicdma_porting_guide.h +* @addtogroup axicdma_v3_0 +* @{ +* @details * * This is a guide on how to move from using the XPS Central DMA driver, * dmacentral, to use xaxidma driver. @@ -111,3 +114,4 @@ * * ******************************************************************************/ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_sinit.c b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_sinit.c index cd200246..9c0c5eb8 100644 --- a/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_sinit.c +++ b/XilinxProcessorIPLib/drivers/axicdma/src/xaxicdma_sinit.c @@ -33,6 +33,9 @@ /** * * @file xaxicdma_sinit.c +* @addtogroup axicdma_v3_0 +* @{ +* @details * * Look up the hardware settings using device ID. The hardware setting is inside * the configuration table in xaxivdma_g.c, generated automatically by XPS or @@ -83,3 +86,4 @@ XAxiCdma_Config *XAxiCdma_LookupConfig(u32 DeviceId) return CfgPtr; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma.c b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma.c index 12584eb6..28eefd2a 100644 --- a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma.c +++ b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma.c @@ -33,6 +33,9 @@ /** * * @file xaxidma.c +* @addtogroup axidma_v8_1 +* @{ +* @details * * This file implements DMA engine-wise initialization and control functions. * For more information on the implementation of this driver, see xaxidma.h. @@ -951,3 +954,4 @@ int XAxiDma_SimpleTransfer(XAxiDma *InstancePtr, u32 BuffAddr, u32 Length, return XST_SUCCESS; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma.h b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma.h index 885de76d..38658b0a 100644 --- a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma.h +++ b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma.h @@ -33,6 +33,9 @@ /** * * @file xaxidma.h +* @addtogroup axidma_v8_1 +* @{ +* @details * * This is the driver API for the AXI DMA engine. * @@ -730,3 +733,4 @@ int XAxiDma_Selftest(XAxiDma * InstancePtr); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bd.c b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bd.c index e59d7e05..e4caca50 100644 --- a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bd.c +++ b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bd.c @@ -33,6 +33,9 @@ /** * * @file xaxidma_bd.c +* @addtogroup axidma_v8_1 +* @{ +* @details * * Buffer descriptor (BD) management API implementation. * @@ -337,3 +340,4 @@ void XAxiDma_DumpBd(XAxiDma_Bd* BdPtr) xil_printf("\r\n"); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bd.h b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bd.h index 24180298..954aae9d 100644 --- a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bd.h +++ b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bd.h @@ -33,6 +33,9 @@ /** * * @file xaxidma_bd.h +* @addtogroup axidma_v8_1 +* @{ +* @details * * Buffer descriptor (BD) management API. * @@ -669,3 +672,4 @@ void XAxiDma_DumpBd(XAxiDma_Bd* BdPtr); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bdring.c b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bdring.c index eb209a65..07dfab82 100644 --- a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bdring.c +++ b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bdring.c @@ -33,6 +33,9 @@ /** * * @file xaxidma_bdring.c +* @addtogroup axidma_v8_1 +* @{ +* @details * * This file implements buffer descriptor ring related functions. For more * information on how to manage the BD ring, please see xaxidma.h. @@ -1531,3 +1534,4 @@ void XAxiDma_BdRingDumpRegs(XAxiDma_BdRing *RingPtr) { xil_printf("\r\n"); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bdring.h b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bdring.h index 2fc75148..2c93bddf 100644 --- a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bdring.h +++ b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_bdring.h @@ -33,6 +33,9 @@ /** * * @file xaxidma_bdring.h +* @addtogroup axidma_v8_1 +* @{ +* @details * * This file contains DMA channel related structure and constant definition * as well as function prototypes. Each DMA channel is managed by a Buffer @@ -520,3 +523,4 @@ void XAxiDma_BdRingDumpRegs(XAxiDma_BdRing *RingPtr); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_g.c b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_g.c index fb161a2e..911e618c 100644 --- a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_g.c +++ b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_g.c @@ -33,6 +33,9 @@ /** * * @file xaxidma_g.c +* @addtogroup axidma_v8_1 +* @{ +* @details * * Provide a template for user to define their own hardware settings. * @@ -81,3 +84,4 @@ XAxiDma_Config XAxiDma_ConfigTable[] = XPAR_AXIDMA_0_NUM_S2MM_CHANNELS } }; +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_hw.h b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_hw.h index c00e4189..124a99b1 100644 --- a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_hw.h +++ b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_hw.h @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xaxidma_hw.h +* @addtogroup axidma_v8_1 +* @{ +* @details * * Hardware definition file. It defines the register interface and Buffer * Descriptor (BD) definitions. @@ -329,3 +332,4 @@ extern "C" { #endif #endif +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_porting_guide.h b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_porting_guide.h index f01bb019..ae8ae4a5 100644 --- a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_porting_guide.h +++ b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_porting_guide.h @@ -33,6 +33,9 @@ /** * * @file xaxidma_porting_guide.h +* @addtogroup axidma_v8_1 +* @{ +* @details * * This is a guide on how to move from using the xlldma driver to use xaxidma * driver. @@ -249,3 +252,4 @@ * * ******************************************************************************/ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_selftest.c b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_selftest.c index 9d022c40..55b5dd62 100644 --- a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_selftest.c +++ b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_selftest.c @@ -33,6 +33,9 @@ /** * * @file xaxidma_selftest.c +* @addtogroup axidma_v8_1 +* @{ +* @details * * Contains diagnostic/self-test functions for the XAxiDma component. * @@ -110,3 +113,4 @@ int XAxiDma_Selftest(XAxiDma * InstancePtr) return XST_SUCCESS; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_sinit.c b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_sinit.c index d0120060..348bbd4c 100644 --- a/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_sinit.c +++ b/XilinxProcessorIPLib/drivers/axidma/src/xaxidma_sinit.c @@ -33,6 +33,9 @@ /** * * @file xaxidma_sinit.c +* @addtogroup axidma_v8_1 +* @{ +* @details * * Look up the hardware settings using device ID. The hardware setting is inside * the configuration table in xaxidma_g.c, generated automatically by XPS or @@ -90,3 +93,4 @@ XAxiDma_Config *XAxiDma_LookupConfig(u32 DeviceId) return CfgPtr; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie.c b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie.c index 26cc955a..8b36ec9b 100644 --- a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie.c +++ b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie.c @@ -32,6 +32,9 @@ /***************************************************************************** ** * @file xaxipcie.c +* @addtogroup axipcie_v3_0 +* @{ +* @details * * Implements all of functions for XAxiPcie IP driver except interrupts and * initialization. @@ -885,3 +888,4 @@ void XAxiPcie_WriteRemoteConfigSpace(XAxiPcie *InstancePtr, u8 Bus, u8 Device, } } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie.h b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie.h index 6b42618a..8a7fe984 100644 --- a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie.h +++ b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie.h @@ -33,6 +33,9 @@ /** * * @file xaxipcie.h +* @addtogroup axipcie_v3_0 +* @{ +* @details * * This file contains the software API definition of the Xilinx AXI PCIe IP * (XAxiPcie). This driver provides "C" function interface to application/upper @@ -323,3 +326,4 @@ void XAxiPcie_ClearPendingInterrupts(XAxiPcie *InstancePtr, u32 ClearMask); #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_g.c b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_g.c index 37e8d2b5..2528852b 100644 --- a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_g.c +++ b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_g.c @@ -32,6 +32,9 @@ /****************************************************************************/ /** * @file xaxipcie_g.c +* @addtogroup axipcie_v3_0 +* @{ +* @details * * This file contains a configuration table that specifies the configuration * of AXI PCIe devices in the system. @@ -80,3 +83,4 @@ XAxiPcie_Config XAxiPcie_ConfigTable[] = { } }; +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_hw.h b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_hw.h index debf7424..49cce4db 100644 --- a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_hw.h +++ b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_hw.h @@ -33,6 +33,9 @@ /** * * @file xaxipcie_hw.h +* @addtogroup axipcie_v3_0 +* @{ +* @details * * This header file contains identifiers and basic driver functions for the * XAxiPcie device driver. @@ -605,3 +608,4 @@ extern "C" { #endif /* XAXIPCIE_HW_H */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_intr.c b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_intr.c index 83e14741..3927a83d 100644 --- a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_intr.c +++ b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_intr.c @@ -32,6 +32,9 @@ /***************************************************************************** ** * @file xaxipcie_intr.c +* @addtogroup axipcie_v3_0 +* @{ +* @details * * This file implements interrupt functions for the XAxiPcie IP * @@ -252,3 +255,4 @@ void XAxiPcie_ClearPendingInterrupts(XAxiPcie *InstancePtr, u32 ClearMask) XAxiPcie_ReadReg((InstancePtr->Config.BaseAddress), XAXIPCIE_ID_OFFSET) & (ClearMask)); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_porting_guide.h b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_porting_guide.h index 1f87acc9..cccb81c5 100644 --- a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_porting_guide.h +++ b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_porting_guide.h @@ -33,6 +33,9 @@ /** * * @file xaxipcie_porting_guide.h +* @addtogroup axipcie_v3_0 +* @{ +* @details * * This is a guide on how to move from using the plbv46pcie driver to use * xaxipcie driver. @@ -132,3 +135,4 @@ * - void XPcie_DisablePCIeConnection(XPcie *InstancePtr) * ******************************************************************************/ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_sinit.c b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_sinit.c index acbd4868..aa6fd3f3 100644 --- a/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_sinit.c +++ b/XilinxProcessorIPLib/drivers/axipcie/src/xaxipcie_sinit.c @@ -32,6 +32,9 @@ /***************************************************************************** ** * @file xaxipcie_sinit.c +* @addtogroup axipcie_v3_0 +* @{ +* @details * * This file contains the implementation of AXI PCIe driver's static * initialization functionality. @@ -99,3 +102,4 @@ XAxiPcie_Config *XAxiPcie_LookupConfig(u16 DeviceId) +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch.c b/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch.c index 0fb0ee7c..76603b0b 100644 --- a/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch.c +++ b/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch.c @@ -33,6 +33,9 @@ /** * * @file xaxis_switch.c +* @addtogroup axis_switch_v1_0 +* @{ +* @details * * This is the main file for Xilinx AXI4-Stream Switch Control Router core. * Please see xaxis_switch.h for more details of the driver. @@ -308,3 +311,4 @@ void XAxisScr_MiPortDisableAll(XAxis_Switch *InstancePtr) XAXIS_SCR_MI_X_DISABLE_MASK); } } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch.h b/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch.h index 3a9791e7..60476091 100644 --- a/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch.h +++ b/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch.h @@ -33,6 +33,9 @@ /** * * @file xaxis_switch.h +* @addtogroup axis_switch_v1_0 +* @{ +* @details * * This is the main header file for Xilinx AXI4-Stream Switch Control Router * core. It is used for routing streams where masters in the system do not know @@ -202,3 +205,4 @@ s32 XAxisScr_SelfTest(XAxis_Switch *InstancePtr); #endif #endif /* End of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_hw.h b/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_hw.h index 2d242821..30f8ee61 100644 --- a/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_hw.h +++ b/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_hw.h @@ -33,6 +33,9 @@ /** * * @file xaxis_switch_hw.h +* @addtogroup axis_switch_v1_0 +* @{ +* @details * * This header file contains identifiers and register-level core functions (or * macros) that can be used to access the Xilinx AXI4-Stream Switch Control @@ -161,4 +164,5 @@ extern "C" { } #endif -#endif /* end of protection macro */ \ No newline at end of file +#endif /* end of protection macro */ +/** @} */ \ No newline at end of file diff --git a/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_selftest.c b/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_selftest.c index 7f818ee9..058c695c 100644 --- a/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_selftest.c +++ b/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_selftest.c @@ -33,6 +33,9 @@ /** * * @file xaxis_switch_selftest.c +* @addtogroup axis_switch_v1_0 +* @{ +* @details * * This file contains self test function for the AXI4-Stream Source Control * Router core. @@ -108,3 +111,4 @@ s32 XAxisScr_SelfTest(XAxis_Switch *InstancePtr) return Status; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_sinit.c b/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_sinit.c index 1a6ec636..dce0ec04 100644 --- a/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_sinit.c +++ b/XilinxProcessorIPLib/drivers/axis_switch/src/xaxis_switch_sinit.c @@ -33,6 +33,9 @@ /** * * @file xaxis_switch_sinit.c +* @addtogroup axis_switch_v1_0 +* @{ +* @details * * This file contains static initialization method for Xilinx AXI4-Stream * Source Control Router core. @@ -107,4 +110,5 @@ XAxis_Switch_Config *XAxisScr_LookupConfig(u16 DeviceId) } return (XAxis_Switch_Config *)CfgPtr; -} \ No newline at end of file +} +/** @} */ \ No newline at end of file diff --git a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma.c b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma.c index 4555f649..5a5b3ae8 100644 --- a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma.c +++ b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma.c @@ -33,6 +33,9 @@ /** * * @file xaxivdma.c +* @addtogroup axivdma_v5_1 +* @{ +* @details * * Implementation of the driver API functions for the AXI Video DMA engine. * @@ -1386,3 +1389,4 @@ int XAxiVdma_ClearDmaChannelErrors(XAxiVdma *InstancePtr, u16 Direction, return XST_DEVICE_NOT_FOUND; } } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma.h b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma.h index c83d2aa1..c46614bb 100644 --- a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma.h +++ b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma.h @@ -33,6 +33,9 @@ /** * * @file xaxivdma.h +* @addtogroup axivdma_v5_1 +* @{ +* @details * * This is the Xilinx MVI AXI Video DMA device driver. The DMA engine transfers * frames from the AXI Bus or to the AXI Bus. It is in the chain of video @@ -592,3 +595,4 @@ int XAxiVdma_Selftest(XAxiVdma * InstancePtr); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_channel.c b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_channel.c index a40b0f29..4a034a15 100644 --- a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_channel.c +++ b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_channel.c @@ -33,6 +33,9 @@ /** * * @file xaxivdma_channel.c +* @addtogroup axivdma_v5_1 +* @{ +* @details * * Implementation of the channel related functions. These functions are used * internally by the driver, and are declared in xaxivdma_i.h. @@ -1478,3 +1481,4 @@ static int XAxiVdma_BdSetFrmDly(XAxiVdma_Bd *BdPtr, int FrmDly) return XST_SUCCESS; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_g.c b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_g.c index fc32c63a..51c94343 100644 --- a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_g.c +++ b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_g.c @@ -33,6 +33,9 @@ /** * * @file xaxivdma_g.c +* @addtogroup axivdma_v5_1 +* @{ +* @details * * Provide a template for user to define their own hardware settings. * @@ -102,3 +105,4 @@ XAxiVdma_Config XAxiVdma_ConfigTable[] = XPAR_AXIVDMA_0_ENABLE_DEBUG_ALL } }; +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_hw.h b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_hw.h index 3fcafc8c..283a53c3 100644 --- a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_hw.h +++ b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_hw.h @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xaxivdma_hw.h +* @addtogroup axivdma_v5_1 +* @{ +* @details * * Hardware definition file. It defines the register interface and Buffer * Descriptor (BD) definitions. @@ -365,3 +368,4 @@ extern "C" { #endif #endif +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_i.h b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_i.h index 0fb8c685..d1b2bbe6 100644 --- a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_i.h +++ b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_i.h @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xaxivdma_i.h +* @addtogroup axivdma_v5_1 +* @{ +* @details * * Internal API definitions shared by driver files. * @@ -176,3 +179,4 @@ void XAxiVdma_ClearChannelErrors(XAxiVdma_Channel *Channel, u32 ErrorMask); #endif #endif +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_intr.c b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_intr.c index fd2026ad..65da73dd 100644 --- a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_intr.c +++ b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_intr.c @@ -33,6 +33,9 @@ /** * * @file xaxivdma_intr.c +* @addtogroup axivdma_v5_1 +* @{ +* @details * * Implementation of interrupt related functions. * @@ -405,3 +408,4 @@ int XAxiVdma_SetCallBack(XAxiVdma * InstancePtr, u32 HandlerType, return XST_SUCCESS; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_porting_guide.h b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_porting_guide.h index 5951a873..486805cf 100644 --- a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_porting_guide.h +++ b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_porting_guide.h @@ -33,6 +33,9 @@ /** * * @file xaxivdma_porting_guide.h +* @addtogroup axivdma_v5_1 +* @{ +* @details * * This is a guide on how to move from using the xvdma driver to use xaxivdma * driver. @@ -249,3 +252,4 @@ * * ******************************************************************************/ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_selftest.c b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_selftest.c index fdb7447f..0d7a343a 100644 --- a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_selftest.c +++ b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_selftest.c @@ -33,6 +33,9 @@ /** * * @file xaxivdma_selftest.c +* @addtogroup axivdma_v5_1 +* @{ +* @details * * Contains diagnostic/self-test functions for the XAxiVdma component. * @@ -129,3 +132,4 @@ int XAxiVdma_Selftest(XAxiVdma * InstancePtr) return XST_SUCCESS; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_sinit.c b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_sinit.c index a0509821..7b19e60d 100644 --- a/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_sinit.c +++ b/XilinxProcessorIPLib/drivers/axivdma/src/xaxivdma_sinit.c @@ -33,6 +33,9 @@ /** * * @file xaxivdma_sinit.c +* @addtogroup axivdma_v5_1 +* @{ +* @details * * Look up the hardware settings using device ID. The hardware setting is inside * the configuration table in xaxivdma_g.c, generated automatically by XPS or @@ -81,3 +84,4 @@ XAxiVdma_Config *XAxiVdma_LookupConfig(u16 DeviceId) return CfgPtr; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/bram/src/xbram.c b/XilinxProcessorIPLib/drivers/bram/src/xbram.c index 34b47091..62586d42 100644 --- a/XilinxProcessorIPLib/drivers/bram/src/xbram.c +++ b/XilinxProcessorIPLib/drivers/bram/src/xbram.c @@ -32,6 +32,9 @@ /** * @file xbram.c +* @addtogroup bram_v4_0 +* @{ +* @details * * The implementation of the XBram driver's basic functionality. * See xbram.h for more information about the driver. @@ -142,3 +145,4 @@ int XBram_CfgInitialize(XBram *InstancePtr, return (XST_SUCCESS); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/bram/src/xbram.h b/XilinxProcessorIPLib/drivers/bram/src/xbram.h index cbbe4d84..5d0c63da 100644 --- a/XilinxProcessorIPLib/drivers/bram/src/xbram.h +++ b/XilinxProcessorIPLib/drivers/bram/src/xbram.h @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xbram.h +* @addtogroup bram_v4_0 +* @{ +* @details * * If ECC is not enabled, this driver exists only to allow the tools to * create a memory test application and to populate xparameters.h with memory @@ -208,3 +211,4 @@ u32 XBram_InterruptGetStatus(XBram *InstancePtr); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/bram/src/xbram_g.c b/XilinxProcessorIPLib/drivers/bram/src/xbram_g.c index 68e914e0..93006361 100644 --- a/XilinxProcessorIPLib/drivers/bram/src/xbram_g.c +++ b/XilinxProcessorIPLib/drivers/bram/src/xbram_g.c @@ -33,6 +33,9 @@ /** * * @file xbram_g.c +* @addtogroup bram_v4_0 +* @{ +* @details * * This file contains a configuration table that specifies the configuration * of BRAM devices in the system. @@ -90,3 +93,4 @@ XBram_Config XBram_ConfigTable[] = { XPAR_BRAM_0_CTRL_HIGHADDR, } }; +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/bram/src/xbram_hw.h b/XilinxProcessorIPLib/drivers/bram/src/xbram_hw.h index fc0e8f6e..02fe9e14 100644 --- a/XilinxProcessorIPLib/drivers/bram/src/xbram_hw.h +++ b/XilinxProcessorIPLib/drivers/bram/src/xbram_hw.h @@ -33,6 +33,9 @@ /** * * @file xbram_hw.h +* @addtogroup bram_v4_0 +* @{ +* @details * * This header file contains identifiers and driver functions (or * macros) that can be used to access the device. The user should refer to the @@ -404,3 +407,4 @@ extern "C" { #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/bram/src/xbram_intr.c b/XilinxProcessorIPLib/drivers/bram/src/xbram_intr.c index a411eb93..15d8b0d8 100644 --- a/XilinxProcessorIPLib/drivers/bram/src/xbram_intr.c +++ b/XilinxProcessorIPLib/drivers/bram/src/xbram_intr.c @@ -33,6 +33,9 @@ /*****************************************************************************/ /** * @file xbram_intr.c +* @addtogroup bram_v4_0 +* @{ +* @details * * Implements BRAM interrupt processing functions for the * XBram driver. See xbram.h for more information @@ -233,3 +236,4 @@ u32 XBram_InterruptGetStatus(XBram * InstancePtr) return XBram_ReadReg(InstancePtr->Config.CtrlBaseAddress, XBRAM_ECC_EN_IRQ_OFFSET); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/bram/src/xbram_selftest.c b/XilinxProcessorIPLib/drivers/bram/src/xbram_selftest.c index a812c329..87aec11d 100644 --- a/XilinxProcessorIPLib/drivers/bram/src/xbram_selftest.c +++ b/XilinxProcessorIPLib/drivers/bram/src/xbram_selftest.c @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xbram_selftest.c +* @addtogroup bram_v4_0 +* @{ +* @details * * The implementation of the XBram driver's self test function. This SelfTest * is only applicable if ECC is enabled. @@ -554,3 +557,4 @@ int XBram_SelfTest(XBram *InstancePtr, u8 IntMask) return (XST_SUCCESS); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/bram/src/xbram_sinit.c b/XilinxProcessorIPLib/drivers/bram/src/xbram_sinit.c index bae977a5..7ee2194d 100644 --- a/XilinxProcessorIPLib/drivers/bram/src/xbram_sinit.c +++ b/XilinxProcessorIPLib/drivers/bram/src/xbram_sinit.c @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xbram_sinit.c +* @addtogroup bram_v4_0 +* @{ +* @details * * The implementation of the XBram driver's static initialzation * functionality. @@ -99,3 +102,4 @@ XBram_Config *XBram_LookupConfig(u16 DeviceId) return CfgPtr; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/can/src/xcan.c b/XilinxProcessorIPLib/drivers/can/src/xcan.c index 5c09522a..3d15b0be 100644 --- a/XilinxProcessorIPLib/drivers/can/src/xcan.c +++ b/XilinxProcessorIPLib/drivers/can/src/xcan.c @@ -33,6 +33,9 @@ /** * * @file xcan.c +* @addtogroup can_v3_0 +* @{ +* @details * * The XCan driver. Functions in this file are the minimum required functions * for this driver. See xcan.h for a detailed description of the driver. @@ -1132,3 +1135,4 @@ static void StubHandler(void) Xil_AssertVoidAlways(); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/can/src/xcan.h b/XilinxProcessorIPLib/drivers/can/src/xcan.h index 998784b3..ac335273 100644 --- a/XilinxProcessorIPLib/drivers/can/src/xcan.h +++ b/XilinxProcessorIPLib/drivers/can/src/xcan.h @@ -33,6 +33,9 @@ /** * * @file xcan.h +* @addtogroup can_v3_0 +* @{ +* @details * * The Xilinx CAN driver. This driver supports the Xilinx CAN Controller. * @@ -526,3 +529,4 @@ int XCan_SetHandler(XCan *InstancePtr, u32 HandlerType, #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/can/src/xcan_config.c b/XilinxProcessorIPLib/drivers/can/src/xcan_config.c index 68bc21b0..4c4a6786 100644 --- a/XilinxProcessorIPLib/drivers/can/src/xcan_config.c +++ b/XilinxProcessorIPLib/drivers/can/src/xcan_config.c @@ -33,6 +33,9 @@ /** * * @file xcan_config.c +* @addtogroup can_v3_0 +* @{ +* @details * * Functions in this file are CAN Configuration Register access related. * @@ -228,3 +231,4 @@ void XCan_GetBitTiming(XCan *InstancePtr, u8 *SyncJumpWidth, } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/can/src/xcan_g.c b/XilinxProcessorIPLib/drivers/can/src/xcan_g.c index d4a64107..c7b1324b 100644 --- a/XilinxProcessorIPLib/drivers/can/src/xcan_g.c +++ b/XilinxProcessorIPLib/drivers/can/src/xcan_g.c @@ -33,6 +33,9 @@ /** * * @file xcan_g.c +* @addtogroup can_v3_0 +* @{ +* @details * * This file contains a configuration table that specifies the configuration * of CAN devices in the system. @@ -78,3 +81,4 @@ XCan_Config XCan_ConfigTable[XPAR_XCAN_NUM_INSTANCES] = { XPAR_OPB_CAN_0_CAN_NUM_ACF /* Number of acceptance filters */ } }; +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/can/src/xcan_intr.c b/XilinxProcessorIPLib/drivers/can/src/xcan_intr.c index 2236919d..fe3c7bc6 100644 --- a/XilinxProcessorIPLib/drivers/can/src/xcan_intr.c +++ b/XilinxProcessorIPLib/drivers/can/src/xcan_intr.c @@ -33,6 +33,9 @@ /** * * @file xcan_intr.c +* @addtogroup can_v3_0 +* @{ +* @details * * This file contains functions related to CAN interrupt handling. * @@ -402,3 +405,4 @@ int XCan_SetHandler(XCan *InstancePtr, u32 HandlerType, return (XST_SUCCESS); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/can/src/xcan_l.h b/XilinxProcessorIPLib/drivers/can/src/xcan_l.h index 831e3bba..215295eb 100644 --- a/XilinxProcessorIPLib/drivers/can/src/xcan_l.h +++ b/XilinxProcessorIPLib/drivers/can/src/xcan_l.h @@ -33,6 +33,9 @@ /** * * @file xcan_l.h +* @addtogroup can_v3_0 +* @{ +* @details * * This header file contains the identifiers and basic driver functions (or * macros) that can be used to access the device. Other driver functions @@ -314,3 +317,4 @@ Mask/Acceptance Filter ID) #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/can/src/xcan_selftest.c b/XilinxProcessorIPLib/drivers/can/src/xcan_selftest.c index 8eb9de7a..3b854f1f 100644 --- a/XilinxProcessorIPLib/drivers/can/src/xcan_selftest.c +++ b/XilinxProcessorIPLib/drivers/can/src/xcan_selftest.c @@ -33,6 +33,9 @@ /** * * @file xcan_selftest.c +* @addtogroup can_v3_0 +* @{ +* @details * * This file contains a diagnostic self-test function for the XCan driver. * @@ -174,3 +177,4 @@ int XCan_SelfTest(XCan *InstancePtr) } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd.c b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd.c index c04272fe..322d6116 100644 --- a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd.c +++ b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd.c @@ -33,6 +33,9 @@ /** * * @file xcanfd.c +* @addtogroup canfd_v1_0 +* @{ +* @details * * The XCanFd driver. Functions in this file are the minimum required functions * for this driver. See xcanfd.h for a detailed description of the driver. @@ -1574,3 +1577,4 @@ void XCanFd_Disable_Tranceiver_Delay_Compensation(XCanFd *InstancePtr) XCanFd_WriteReg(InstancePtr->CanFdConfig.BaseAddress, XCANFD_F_BRPR_OFFSET,RegValue); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd.h b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd.h index a9cc1f8b..a0562c17 100644 --- a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd.h +++ b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd.h @@ -33,6 +33,9 @@ /** * * @file xcanfd.h +* @addtogroup canfd_v1_0 +* @{ +* @details * * The Xilinx CANFD driver. This driver supports the Xilinx CANFD Controller. * @@ -934,3 +937,4 @@ XCanFd_Config *XCanFd_LookupConfig(u16 Deviceid); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_config.c b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_config.c index 61024156..dedd5557 100644 --- a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_config.c +++ b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_config.c @@ -33,6 +33,9 @@ /** * * @file xcanfd_config.c +* @addtogroup canfd_v1_0 +* @{ +* @details * * Functions in this file are CAN Configuration Register access related. * @@ -468,3 +471,4 @@ void XCanFd_SetBitRateSwitch_DisableNominal(XCanFd *InstancePtr) Result = XCanFd_ReadReg(InstancePtr->CanFdConfig.BaseAddress, XCANFD_MSR_OFFSET); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_hw.h b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_hw.h index 0218b968..bd483b3e 100644 --- a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_hw.h +++ b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_hw.h @@ -33,6 +33,9 @@ /** * * @file xcanfd_hw.h +* @addtogroup canfd_v1_0 +* @{ +* @details * * This header file contains the identifiers and basic driver functions (or * macros) that can be used to access the device. Other driver functions @@ -1180,3 +1183,4 @@ Mask/Acceptance Filter ID) #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_intr.c b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_intr.c index 8bed4422..b60adf11 100644 --- a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_intr.c +++ b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_intr.c @@ -33,6 +33,9 @@ /** * * @file xcanfd_intr.c +* @addtogroup canfd_v1_0 +* @{ +* @details * * This file contains functions related to CAN interrupt handling. * @@ -598,3 +601,4 @@ int XCanFd_SetHandler(XCanFd *InstancePtr, u32 HandlerType, } return (XST_SUCCESS); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_selftest.c b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_selftest.c index 6b74f1ff..b4f4d327 100644 --- a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_selftest.c +++ b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_selftest.c @@ -33,6 +33,9 @@ /** * * @file xcanfd_selftest.c +* @addtogroup canfd_v1_0 +* @{ +* @details * * This file contains a diagnostic self-test function for the XCanFd driver. * @@ -223,3 +226,4 @@ int XCanFd_SelfTest(XCanFd *InstancePtr) return XST_SUCCESS; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_sinit.c b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_sinit.c index b38aae78..3fa177d5 100644 --- a/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_sinit.c +++ b/XilinxProcessorIPLib/drivers/canfd/src/xcanfd_sinit.c @@ -42,6 +42,9 @@ /** * * @file xcanFd_sinit.c +* @addtogroup canfd_v1_0 +* @{ +* @details * * This file contains the implementation of the XCanFd driver's static * initialization functionality. @@ -106,3 +109,4 @@ XCanFd_Config *XCanFd_LookupConfig(u16 DeviceId) return (XCanFd_Config *)CfgPtr; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canps/src/xcanps.c b/XilinxProcessorIPLib/drivers/canps/src/xcanps.c index d4ba8d89..f4952097 100644 --- a/XilinxProcessorIPLib/drivers/canps/src/xcanps.c +++ b/XilinxProcessorIPLib/drivers/canps/src/xcanps.c @@ -33,6 +33,9 @@ /** * * @file xcanps.c +* @addtogroup canps_v3_0 +* @{ +* @details * * Functions in this file are the minimum required functions for the XCanPs * driver. See xcanps.h for a detailed description of the driver. @@ -1200,3 +1203,4 @@ static void StubHandler(void) { Xil_AssertVoidAlways(); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canps/src/xcanps.h b/XilinxProcessorIPLib/drivers/canps/src/xcanps.h index 9c4c2421..d6d9d1fe 100644 --- a/XilinxProcessorIPLib/drivers/canps/src/xcanps.h +++ b/XilinxProcessorIPLib/drivers/canps/src/xcanps.h @@ -33,6 +33,9 @@ /** * * @file xcanps.h +* @addtogroup canps_v3_0 +* @{ +* @details * * The Xilinx CAN driver component. This component supports the Xilinx * CAN Controller. @@ -565,3 +568,4 @@ XCanPs_Config *XCanPs_LookupConfig(u16 DeviceId); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canps/src/xcanps_g.c b/XilinxProcessorIPLib/drivers/canps/src/xcanps_g.c index 08ca7df5..275b28c7 100644 --- a/XilinxProcessorIPLib/drivers/canps/src/xcanps_g.c +++ b/XilinxProcessorIPLib/drivers/canps/src/xcanps_g.c @@ -33,6 +33,9 @@ /** * * @file xcanps_g.c +* @addtogroup canps_v3_0 +* @{ +* @details * * This file contains a configuration table that specifies the configuration * of CAN devices in the system. @@ -84,3 +87,4 @@ XCanPs_Config XCanPs_ConfigTable[XPAR_XCANPS_NUM_INSTANCES] = { } #endif }; +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canps/src/xcanps_hw.c b/XilinxProcessorIPLib/drivers/canps/src/xcanps_hw.c index 4fa95c6a..dcd84a66 100644 --- a/XilinxProcessorIPLib/drivers/canps/src/xcanps_hw.c +++ b/XilinxProcessorIPLib/drivers/canps/src/xcanps_hw.c @@ -33,6 +33,9 @@ /** * * @file xcanps_hw.c +* @addtogroup canps_v3_0 +* @{ +* @details * * This file contains the implementation of the canps interface reset sequence * @@ -88,3 +91,4 @@ void XCanPs_ResetHw(u32 BaseAddr) XCanPs_WriteReg(BaseAddr, XCANPS_SRR_OFFSET, \ XCANPS_SRR_SRST_MASK); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canps/src/xcanps_hw.h b/XilinxProcessorIPLib/drivers/canps/src/xcanps_hw.h index 22f9b072..a451e47a 100644 --- a/XilinxProcessorIPLib/drivers/canps/src/xcanps_hw.h +++ b/XilinxProcessorIPLib/drivers/canps/src/xcanps_hw.h @@ -33,6 +33,9 @@ /** * * @file xcanps_hw.h +* @addtogroup canps_v3_0 +* @{ +* @details * * This header file contains the identifiers and basic driver functions (or * macros) that can be used to access the device. Other driver functions @@ -364,3 +367,4 @@ void XCanPs_ResetHw(u32 BaseAddr); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canps/src/xcanps_intr.c b/XilinxProcessorIPLib/drivers/canps/src/xcanps_intr.c index f3ad9d27..544ce40c 100644 --- a/XilinxProcessorIPLib/drivers/canps/src/xcanps_intr.c +++ b/XilinxProcessorIPLib/drivers/canps/src/xcanps_intr.c @@ -33,6 +33,9 @@ /** * * @file xcanps_intr.c +* @addtogroup canps_v3_0 +* @{ +* @details * * This file contains functions related to CAN interrupt handling. * @@ -414,3 +417,4 @@ s32 XCanPs_SetHandler(XCanPs *InstancePtr, u32 HandlerType, return Status; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canps/src/xcanps_selftest.c b/XilinxProcessorIPLib/drivers/canps/src/xcanps_selftest.c index c8a441ab..25df8cb4 100644 --- a/XilinxProcessorIPLib/drivers/canps/src/xcanps_selftest.c +++ b/XilinxProcessorIPLib/drivers/canps/src/xcanps_selftest.c @@ -33,6 +33,9 @@ /** * * @file xcanps_selftest.c +* @addtogroup canps_v3_0 +* @{ +* @details * * This file contains a diagnostic self-test function for the XCanPs driver. * @@ -229,3 +232,4 @@ s32 XCanPs_SelfTest(XCanPs *InstancePtr) } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/canps/src/xcanps_sinit.c b/XilinxProcessorIPLib/drivers/canps/src/xcanps_sinit.c index 3eed412e..e97ef9d8 100644 --- a/XilinxProcessorIPLib/drivers/canps/src/xcanps_sinit.c +++ b/XilinxProcessorIPLib/drivers/canps/src/xcanps_sinit.c @@ -33,6 +33,9 @@ /** * * @file xcanps_sinit.c +* @addtogroup canps_v3_0 +* @{ +* @details * * This file contains the implementation of the XCanPs driver's static * initialization functionality. @@ -98,3 +101,4 @@ XCanPs_Config *XCanPs_LookupConfig(u16 DeviceId) return (XCanPs_Config *)CfgPtr; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/ccm/src/xccm.c b/XilinxProcessorIPLib/drivers/ccm/src/xccm.c index 88bed72a..0406e1cb 100644 --- a/XilinxProcessorIPLib/drivers/ccm/src/xccm.c +++ b/XilinxProcessorIPLib/drivers/ccm/src/xccm.c @@ -33,6 +33,9 @@ /** * * @file xccm.c +* @addtogroup ccm_v6_0 +* @{ +* @details * * This file contains the implementation of the interface functions for CCM * driver. Refer to the header file xccm.h for more detailed information. @@ -995,3 +998,4 @@ static s32 XCcm_FloatToFixedConv(float Input) return Value; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/ccm/src/xccm.h b/XilinxProcessorIPLib/drivers/ccm/src/xccm.h index 53bd0053..d2a8e480 100644 --- a/XilinxProcessorIPLib/drivers/ccm/src/xccm.h +++ b/XilinxProcessorIPLib/drivers/ccm/src/xccm.h @@ -33,6 +33,9 @@ /** * * @file xccm.h +* @addtogroup ccm_v6_0 +* @{ +* @details * * This header file contains identifiers and register-level driver functions (or * macros), range macros, structure typedefs that can be used to access the @@ -662,3 +665,4 @@ int XCcm_SetCallBack(XCcm *InstancePtr, u32 HandlerType, #endif #endif /* End of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/ccm/src/xccm_hw.h b/XilinxProcessorIPLib/drivers/ccm/src/xccm_hw.h index b73651a0..0eb85b09 100644 --- a/XilinxProcessorIPLib/drivers/ccm/src/xccm_hw.h +++ b/XilinxProcessorIPLib/drivers/ccm/src/xccm_hw.h @@ -33,6 +33,9 @@ /** * * @file xccm_hw.h +* @addtogroup ccm_v6_0 +* @{ +* @details * * This header file contains identifiers and register-level driver functions (or * macros) that can be used to access the Xilinx Color Correction Matrix (CCM) @@ -297,3 +300,4 @@ extern "C" { #endif #endif /* End of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/ccm/src/xccm_intr.c b/XilinxProcessorIPLib/drivers/ccm/src/xccm_intr.c index 99e4b126..779850cc 100644 --- a/XilinxProcessorIPLib/drivers/ccm/src/xccm_intr.c +++ b/XilinxProcessorIPLib/drivers/ccm/src/xccm_intr.c @@ -33,6 +33,9 @@ /** * * @file xccm_intr.c +* @addtogroup ccm_v6_0 +* @{ +* @details * * This file contains interrupt related functions of Xilinx CCM core. * Please see xccm.h for more details of the driver. @@ -209,3 +212,4 @@ int XCcm_SetCallBack(XCcm *InstancePtr, u32 HandlerType, return Status; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/ccm/src/xccm_selftest.c b/XilinxProcessorIPLib/drivers/ccm/src/xccm_selftest.c index a6ab0580..be395e3e 100644 --- a/XilinxProcessorIPLib/drivers/ccm/src/xccm_selftest.c +++ b/XilinxProcessorIPLib/drivers/ccm/src/xccm_selftest.c @@ -33,6 +33,9 @@ /** * * @file xccm_selftest.c +* @addtogroup ccm_v6_0 +* @{ +* @details * * This file contains the self-test functions for the CCM core. * @@ -106,3 +109,4 @@ int XCcm_SelfTest(XCcm *InstancePtr) return Status; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/ccm/src/xccm_sinit.c b/XilinxProcessorIPLib/drivers/ccm/src/xccm_sinit.c index da076280..154ab579 100644 --- a/XilinxProcessorIPLib/drivers/ccm/src/xccm_sinit.c +++ b/XilinxProcessorIPLib/drivers/ccm/src/xccm_sinit.c @@ -33,6 +33,9 @@ /** * * @file xccm_sinit.c +* @addtogroup ccm_v6_0 +* @{ +* @details * * This file contains static initialization methods for Xilinx CCM core. * @@ -104,3 +107,4 @@ XCcm_Config *XCcm_LookupConfig(u16 DeviceId) return (XCcm_Config *)CfgPtr; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cfa/src/xcfa.c b/XilinxProcessorIPLib/drivers/cfa/src/xcfa.c index 6a34cf3c..05eb4627 100644 --- a/XilinxProcessorIPLib/drivers/cfa/src/xcfa.c +++ b/XilinxProcessorIPLib/drivers/cfa/src/xcfa.c @@ -33,6 +33,9 @@ /** * * @file xcfa.c +* @addtogroup cfa_v7_0 +* @{ +* @details * * This file contains the implementation of the interface functions for CFA * core. Refer to the header file xcfa.h for more detailed information. @@ -643,3 +646,4 @@ static void StubErrCallBack(void *CallBackRef, u32 ErrorMask) Xil_AssertVoid(ErrorMask != ((u32)0x0)); Xil_AssertVoidAlways(); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cfa/src/xcfa.h b/XilinxProcessorIPLib/drivers/cfa/src/xcfa.h index aa27afb1..d1082503 100644 --- a/XilinxProcessorIPLib/drivers/cfa/src/xcfa.h +++ b/XilinxProcessorIPLib/drivers/cfa/src/xcfa.h @@ -33,6 +33,9 @@ /** * * @file xcfa.h +* @addtogroup cfa_v7_0 +* @{ +* @details * * This header file contains identifiers and register-level core functions (or * macros), range macros, structure typedefs that can be used to access the @@ -599,3 +602,4 @@ int XCfa_SetCallBack(XCfa *InstancePtr, u32 HandlerType, #endif #endif /* End of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cfa/src/xcfa_hw.h b/XilinxProcessorIPLib/drivers/cfa/src/xcfa_hw.h index 4cd4395b..34db53ab 100644 --- a/XilinxProcessorIPLib/drivers/cfa/src/xcfa_hw.h +++ b/XilinxProcessorIPLib/drivers/cfa/src/xcfa_hw.h @@ -33,6 +33,9 @@ /** * * @file xcfa_hw.h +* @addtogroup cfa_v7_0 +* @{ +* @details * * This header file contains identifiers and register-level driver functions (or * macros) that can be used to access the Xilinx Color Filter Array @@ -258,3 +261,4 @@ extern "C" { #endif #endif /* End of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cfa/src/xcfa_intr.c b/XilinxProcessorIPLib/drivers/cfa/src/xcfa_intr.c index 3fe34e5c..cdced838 100644 --- a/XilinxProcessorIPLib/drivers/cfa/src/xcfa_intr.c +++ b/XilinxProcessorIPLib/drivers/cfa/src/xcfa_intr.c @@ -33,6 +33,9 @@ /** * * @file xcfa_intr.c +* @addtogroup cfa_v7_0 +* @{ +* @details * * This file contains interrupt related functions of the CFA core. * Please see xcfa.h for more details of the core. @@ -206,3 +209,4 @@ int XCfa_SetCallBack(XCfa *InstancePtr, u32 HandlerType, return Status; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cfa/src/xcfa_selftest.c b/XilinxProcessorIPLib/drivers/cfa/src/xcfa_selftest.c index 41acbc8d..8d4ad7ec 100644 --- a/XilinxProcessorIPLib/drivers/cfa/src/xcfa_selftest.c +++ b/XilinxProcessorIPLib/drivers/cfa/src/xcfa_selftest.c @@ -33,6 +33,9 @@ /** * * @file xcfa_selftest.c +* @addtogroup cfa_v7_0 +* @{ +* @details * * This file contains the self-test functions for the CFA core. * The self test function reads the Version register. @@ -108,3 +111,4 @@ int XCfa_SelfTest(XCfa *InstancePtr) return Status; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cfa/src/xcfa_sinit.c b/XilinxProcessorIPLib/drivers/cfa/src/xcfa_sinit.c index 127bb9dc..ddbdc6b2 100644 --- a/XilinxProcessorIPLib/drivers/cfa/src/xcfa_sinit.c +++ b/XilinxProcessorIPLib/drivers/cfa/src/xcfa_sinit.c @@ -33,6 +33,9 @@ /** * * @file xcfa_sinit.c +* @addtogroup cfa_v7_0 +* @{ +* @details * * This file contains static initialization methods for Xilinx CFA core. * @@ -105,3 +108,4 @@ XCfa_Config *XCfa_LookupConfig(u16 DeviceId) return (XCfa_Config *)CfgPtr; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xbasic_types.c b/XilinxProcessorIPLib/drivers/common/src/xbasic_types.c index 30c373aa..48eeac31 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xbasic_types.c +++ b/XilinxProcessorIPLib/drivers/common/src/xbasic_types.c @@ -33,6 +33,9 @@ /** * * @file xbasic_types.c +* @addtogroup common_v1_00_a +* @{ +* @details * * This file contains basic functions for Xilinx software IP. * @@ -145,3 +148,4 @@ void XNullHandler(void *NullParameter) { (void) NullParameter; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xbasic_types.h b/XilinxProcessorIPLib/drivers/common/src/xbasic_types.h index a609802f..d3966952 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xbasic_types.h +++ b/XilinxProcessorIPLib/drivers/common/src/xbasic_types.h @@ -33,6 +33,9 @@ /** * * @file xbasic_types.h +* @addtogroup common_v1_00_a +* @{ +* @details * * This file contains basic types for Xilinx software IP. These types do not * follow the standard naming convention with respect to using the component @@ -308,3 +311,4 @@ void XNullHandler(void *NullParameter); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xenv.h b/XilinxProcessorIPLib/drivers/common/src/xenv.h index eebf8e32..bbb90c37 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xenv.h +++ b/XilinxProcessorIPLib/drivers/common/src/xenv.h @@ -33,6 +33,9 @@ /** * * @file xenv.h +* @addtogroup common_v1_00_a +* @{ +* @details * * Defines common services that are typically found in a host operating. * environment. This include file simply includes an OS specific file based @@ -186,3 +189,4 @@ extern "C" { #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xenv_linux.h b/XilinxProcessorIPLib/drivers/common/src/xenv_linux.h index 541f33c1..e0882f43 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xenv_linux.h +++ b/XilinxProcessorIPLib/drivers/common/src/xenv_linux.h @@ -33,6 +33,9 @@ /** * * @file xenv_linux.h +* @addtogroup common_v1_00_a +* @{ +* @details * * Defines common services specified by xenv.h. * @@ -250,3 +253,4 @@ typedef int XENV_TIME_STAMP; #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xenv_none.h b/XilinxProcessorIPLib/drivers/common/src/xenv_none.h index b85c235c..c328c049 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xenv_none.h +++ b/XilinxProcessorIPLib/drivers/common/src/xenv_none.h @@ -33,6 +33,9 @@ /** * * @file xenv_none.h +* @addtogroup common_v1_00_a +* @{ +* @details * * This is a legacy file kept for backwards compatibility. * @@ -50,3 +53,4 @@ #include "xenv_standalone.h" +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xenv_standalone.h b/XilinxProcessorIPLib/drivers/common/src/xenv_standalone.h index 271649c4..25ce92b2 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xenv_standalone.h +++ b/XilinxProcessorIPLib/drivers/common/src/xenv_standalone.h @@ -33,6 +33,9 @@ /** * * @file xenv_standalone.h +* @addtogroup common_v1_00_a +* @{ +* @details * * Defines common services specified by xenv.h. * @@ -365,3 +368,4 @@ typedef int XENV_TIME_STAMP; #endif /* #ifndef XENV_STANDALONE_H */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xenv_vxworks.h b/XilinxProcessorIPLib/drivers/common/src/xenv_vxworks.h index 980b7e3d..9c31c6f2 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xenv_vxworks.h +++ b/XilinxProcessorIPLib/drivers/common/src/xenv_vxworks.h @@ -33,6 +33,9 @@ /** * * @file xenv_vxworks.h +* @addtogroup common_v1_00_a +* @{ +* @details * * Defines common services specified by xenv.h. * @@ -267,3 +270,4 @@ typedef struct #endif /* #ifdef XENV_VXWORKS_H */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xparameters.h b/XilinxProcessorIPLib/drivers/common/src/xparameters.h index 23cc706a..afba27ef 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xparameters.h +++ b/XilinxProcessorIPLib/drivers/common/src/xparameters.h @@ -33,6 +33,9 @@ /** * * @file xparameters.h +* @addtogroup common_v1_00_a +* @{ +* @details * * This file contains system parameters for the Xilinx device driver environment. * It is a representation of the system in that it contains the number of each @@ -726,3 +729,4 @@ deleted XPAR_INTC_0_MAX_ID, XPAR_INTC_1_MAX_ID #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xstatus.h b/XilinxProcessorIPLib/drivers/common/src/xstatus.h index a5d5b5c2..d9426925 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xstatus.h +++ b/XilinxProcessorIPLib/drivers/common/src/xstatus.h @@ -33,6 +33,9 @@ /** * * @file xstatus.h +* @addtogroup common_v1_00_a +* @{ +* @details * * This file contains Xilinx software status codes. Status codes have their * own data type called int. These codes are used throughout the Xilinx @@ -427,3 +430,4 @@ typedef int XStatus; #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xutil.h b/XilinxProcessorIPLib/drivers/common/src/xutil.h index 7be04ebb..731840c0 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xutil.h +++ b/XilinxProcessorIPLib/drivers/common/src/xutil.h @@ -33,6 +33,9 @@ /** * * @file xutil.h +* @addtogroup common_v1_00_a +* @{ +* @details * * This file contains utility functions such as memory test functions. * @@ -162,3 +165,4 @@ int XUtil_MemoryTest8(u8 *Addr, u32 Words, u8 Pattern, u8 Subtest); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xutil_memtest.c b/XilinxProcessorIPLib/drivers/common/src/xutil_memtest.c index 5c4fbe69..c5a6af0f 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xutil_memtest.c +++ b/XilinxProcessorIPLib/drivers/common/src/xutil_memtest.c @@ -33,6 +33,9 @@ /** * * @file xutil_memtest.c +* @addtogroup common_v1_00_a +* @{ +* @details * * Contains the memory test utility functions. * @@ -1181,3 +1184,4 @@ static u32 RotateRight(u32 Input, u8 Width) } #endif /* ROTATE_RIGHT */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xversion.c b/XilinxProcessorIPLib/drivers/common/src/xversion.c index 91086ad8..90d60f74 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xversion.c +++ b/XilinxProcessorIPLib/drivers/common/src/xversion.c @@ -33,6 +33,9 @@ /** * * @file xversion.c +* @addtogroup common_v1_00_a +* @{ +* @details * * This file contains the implementation of the XVersion component. This * component represents a version ID. It is encapsulated within a component @@ -352,3 +355,4 @@ static int IsVersionStringValid(char *StringPtr) return TRUE; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/common/src/xversion.h b/XilinxProcessorIPLib/drivers/common/src/xversion.h index db54311c..1934dd8c 100644 --- a/XilinxProcessorIPLib/drivers/common/src/xversion.h +++ b/XilinxProcessorIPLib/drivers/common/src/xversion.h @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file xversion.h +* @addtogroup common_v1_00_a +* @{ +* @details * * This file contains the interface for the XVersion component. This * component represents a version ID. It is encapsulated within a component @@ -106,3 +109,4 @@ void XVersion_Copy(XVersion *InstancePtr, XVersion *VersionPtr); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cpu/src/fsl.h b/XilinxProcessorIPLib/drivers/cpu/src/fsl.h index 214c3b11..6f4fb8ce 100644 --- a/XilinxProcessorIPLib/drivers/cpu/src/fsl.h +++ b/XilinxProcessorIPLib/drivers/cpu/src/fsl.h @@ -32,6 +32,9 @@ /*****************************************************************************/ /** * @file fsl.h +* @addtogroup cpu_v2_3 +* @{ +* @details * * This file contains macros for interfacing to the Fast Simplex Link (FSL) * interface.. @@ -167,3 +170,4 @@ extern "C" { } #endif #endif /* _FSL_H */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cpu/src/xio.c b/XilinxProcessorIPLib/drivers/cpu/src/xio.c index b71887d1..feb0e107 100644 --- a/XilinxProcessorIPLib/drivers/cpu/src/xio.c +++ b/XilinxProcessorIPLib/drivers/cpu/src/xio.c @@ -33,6 +33,9 @@ /** * * @file xio.c +* @addtogroup cpu_v2_3 +* @{ +* @details * * Contains I/O functions for memory-mapped or non-memory-mapped I/O * architectures. These functions encapsulate generic CPU I/O requirements. @@ -225,3 +228,4 @@ void XIo_OutSwap32(XIo_Address OutAddress, u32 Value) XIo_EndianSwap32(Value, &OutData); XIo_Out32(OutAddress, OutData); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cpu/src/xio.h b/XilinxProcessorIPLib/drivers/cpu/src/xio.h index 48e5f4fe..30e60e11 100644 --- a/XilinxProcessorIPLib/drivers/cpu/src/xio.h +++ b/XilinxProcessorIPLib/drivers/cpu/src/xio.h @@ -33,6 +33,9 @@ /** * * @file xio.h +* @addtogroup cpu_v2_3 +* @{ +* @details * * This file contains the interface for the XIo component, which encapsulates * the Input/Output functions for processors that do not require any special @@ -264,3 +267,4 @@ void XIo_OutSwap32(XIo_Address OutAddress, u32 Value); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cpu_cortexa53/src/xcpu_cortexa53.h b/XilinxProcessorIPLib/drivers/cpu_cortexa53/src/xcpu_cortexa53.h index cbdfc170..6083206d 100644 --- a/XilinxProcessorIPLib/drivers/cpu_cortexa53/src/xcpu_cortexa53.h +++ b/XilinxProcessorIPLib/drivers/cpu_cortexa53/src/xcpu_cortexa53.h @@ -33,7 +33,11 @@ /** * * @file xcpu_cortexa53.h +* @addtogroup cpu_cortexa53_v1_0 +* @{ +* @details * * dummy file * ******************************************************************************/ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cpu_cortexa9/src/xcpu_cortexa9.h b/XilinxProcessorIPLib/drivers/cpu_cortexa9/src/xcpu_cortexa9.h index cb4e2eaa..4d441e53 100644 --- a/XilinxProcessorIPLib/drivers/cpu_cortexa9/src/xcpu_cortexa9.h +++ b/XilinxProcessorIPLib/drivers/cpu_cortexa9/src/xcpu_cortexa9.h @@ -33,7 +33,11 @@ /** * * @file xcpu_cortexa9.h +* @addtogroup cpu_cortexa9_v2_1 +* @{ +* @details * * dummy file * ******************************************************************************/ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cresample/src/xcresample.c b/XilinxProcessorIPLib/drivers/cresample/src/xcresample.c index 3cd643e4..7a1a307f 100644 --- a/XilinxProcessorIPLib/drivers/cresample/src/xcresample.c +++ b/XilinxProcessorIPLib/drivers/cresample/src/xcresample.c @@ -33,6 +33,9 @@ /** * * @file xcresample.c +* @addtogroup cresample_v4_0 +* @{ +* @details * * This file contains the implementation of the interface functions for the * Chroma Resampler core. Refer to the header file xcresample.h for more @@ -1065,3 +1068,4 @@ static void StubErrCallBack(void *CallBackRef, u32 ErrorMask) /* Verify arguments. */ Xil_AssertVoidAlways(); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cresample/src/xcresample.h b/XilinxProcessorIPLib/drivers/cresample/src/xcresample.h index d7d38b1c..91f29ad0 100644 --- a/XilinxProcessorIPLib/drivers/cresample/src/xcresample.h +++ b/XilinxProcessorIPLib/drivers/cresample/src/xcresample.h @@ -33,6 +33,9 @@ /** * * @file xcresample.h +* @addtogroup cresample_v4_0 +* @{ +* @details * * This header file contains identifiers and register-level driver functions * (or macros), that can be used to access the Xilinx Chroma Resampler @@ -712,3 +715,4 @@ void XCresample_Clear_VCoef_Values (XCresample *InstancePtr); #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cresample/src/xcresample_hw.h b/XilinxProcessorIPLib/drivers/cresample/src/xcresample_hw.h index 2115bca5..0cd27f32 100644 --- a/XilinxProcessorIPLib/drivers/cresample/src/xcresample_hw.h +++ b/XilinxProcessorIPLib/drivers/cresample/src/xcresample_hw.h @@ -33,6 +33,9 @@ /** * * @file xcresample_hw.h +* @addtogroup cresample_v4_0 +* @{ +* @details * * This header file contains identifiers and register-level driver functions * (or macros) that can be used to access the Xilinx Chroma Resampler core. @@ -550,3 +553,4 @@ extern "C" { #endif #endif /* End of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cresample/src/xcresample_intr.c b/XilinxProcessorIPLib/drivers/cresample/src/xcresample_intr.c index bc361d66..23ef2d32 100644 --- a/XilinxProcessorIPLib/drivers/cresample/src/xcresample_intr.c +++ b/XilinxProcessorIPLib/drivers/cresample/src/xcresample_intr.c @@ -33,6 +33,9 @@ /** * * @file xcresample_intr.c +* @addtogroup cresample_v4_0 +* @{ +* @details * * This file contains interrupt related functions of Chroma Resampler core * Please see xcresample.h for more details of the core. @@ -210,3 +213,4 @@ int XCresample_SetCallBack(XCresample *InstancePtr, u32 HandlerType, return Status; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cresample/src/xcresample_selftest.c b/XilinxProcessorIPLib/drivers/cresample/src/xcresample_selftest.c index 5cd0c83c..248b26f4 100644 --- a/XilinxProcessorIPLib/drivers/cresample/src/xcresample_selftest.c +++ b/XilinxProcessorIPLib/drivers/cresample/src/xcresample_selftest.c @@ -33,6 +33,9 @@ /** * * @file xcresample_selftest.c +* @addtogroup cresample_v4_0 +* @{ +* @details * * This file contains the self-test functions for the Chroma Resampler core. * @@ -106,3 +109,4 @@ int XCresample_SelfTest(XCresample *InstancePtr) return Status; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/cresample/src/xcresample_sinit.c b/XilinxProcessorIPLib/drivers/cresample/src/xcresample_sinit.c index 013a78b5..181e7c88 100644 --- a/XilinxProcessorIPLib/drivers/cresample/src/xcresample_sinit.c +++ b/XilinxProcessorIPLib/drivers/cresample/src/xcresample_sinit.c @@ -33,6 +33,9 @@ /** * * @file xcresample_sinit.c +* @addtogroup cresample_v4_0 +* @{ +* @details * * This file contains initialization methods for Xilinx Chroma Resampler core. * @@ -111,3 +114,4 @@ XCresample_Config *XCresample_LookupConfig(u16 DeviceId) return (XCresample_Config *)CfgPtr; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma.c b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma.c index 186e3619..d23254f2 100644 --- a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma.c +++ b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma.c @@ -34,6 +34,9 @@ /** * * @file xcsudma.c +* @addtogroup csudma_v1_0 +* @{ +* @details * * This file contains the implementation of the interface functions for CSU_DMA * driver. Refer to the header file xcsudma.h for more detailed information. @@ -762,3 +765,4 @@ void XCsuDma_GetConfig(XCsuDma *InstancePtr, XCsuDma_Channel Channel, (u8)((Data & (u32)(XCSUDMA_CTRL2_MAXCMDS_MASK))); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma.h b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma.h index 831bcfcc..fe63530a 100644 --- a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma.h +++ b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma.h @@ -82,6 +82,9 @@ * to build and link only those parts of the driver that are necessary. * * @file xcsudma.h +* @addtogroup csudma_v1_0 +* @{ +* @details * * This header file contains identifiers and register-level driver functions (or * macros), range macros, structure typedefs that can be used to access the @@ -412,3 +415,4 @@ s32 XCsuDma_SelfTest(XCsuDma *InstancePtr); #endif #endif /* End of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_hw.h b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_hw.h index 76e401c2..e54ef72f 100644 --- a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_hw.h +++ b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_hw.h @@ -33,6 +33,9 @@ /** * * @file xcsudma_hw.h +* @addtogroup csudma_v1_0 +* @{ +* @details * * This header file contains identifiers and register-level driver functions (or * macros) that can be used to access the Xilinx CSU_DMA core. @@ -306,3 +309,4 @@ extern "C" { #endif /* End of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_intr.c b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_intr.c index 0f60da81..cc361b7b 100644 --- a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_intr.c +++ b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_intr.c @@ -34,6 +34,9 @@ /** * * @file xcsudma_intr.c +* @addtogroup csudma_v1_0 +* @{ +* @details * * This file contains interrupt related functions of Xilinx CSU_DMA core. * Please see xcsudma.h for more details of the driver. @@ -269,3 +272,4 @@ u32 XCsuDma_GetIntrMask(XCsuDma *InstancePtr, XCsuDma_Channel Channel) ((u32)(XCSUDMA_I_MASK_OFFSET) + ((u32)Channel * (u32)(XCSUDMA_OFFSET_DIFF))))); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_selftest.c b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_selftest.c index dd0f5498..4ceb67d0 100644 --- a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_selftest.c +++ b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_selftest.c @@ -34,6 +34,9 @@ /** * * @file xcsudma_selftest.c +* @addtogroup csudma_v1_0 +* @{ +* @details * * This file contains a diagnostic self-test function for the CSU_DMA driver. * Refer to the header file xcsudma.h for more detailed information. @@ -120,3 +123,4 @@ s32 XCsuDma_SelfTest(XCsuDma *InstancePtr) return Status; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_sinit.c b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_sinit.c index f0301dac..804aa43a 100644 --- a/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_sinit.c +++ b/XilinxProcessorIPLib/drivers/csudma/src/xcsudma_sinit.c @@ -34,6 +34,9 @@ /** * * @file xcsudma_sinit.c +* @addtogroup csudma_v1_0 +* @{ +* @details * * This file contains static initialization methods for Xilinx CSU_DMA core. * @@ -102,3 +105,4 @@ XCsuDma_Config *XCsuDma_LookupConfig(u16 DeviceId) return (XCsuDma_Config *)CfgPtr; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint.c b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint.c index 03bf7674..59be7466 100644 --- a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint.c +++ b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint.c @@ -33,6 +33,9 @@ /** * * @file xdeint.c +* @addtogroup deinterlacer_v3_2 +* @{ +* @details * * This is main code of Xilinx Vide Deinterlacer core. * Please see xdeint.h for more details of the driver. @@ -557,3 +560,4 @@ void XDeint_GetFramestore(XDeint *InstancePtr, (XDEINT_BUFSIZE_OFFSET)); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint.h b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint.h index 4fb67a92..79f40349 100644 --- a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint.h +++ b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint.h @@ -33,6 +33,9 @@ /** * * @file xdeint.h +* @addtogroup deinterlacer_v3_2 +* @{ +* @details * * This is the main header file of Xilinx Video Deinterlacer core. * @@ -539,3 +542,4 @@ int XDeint_Selftest(XDeint *InstancePtr); #endif #endif /* End of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_g.c b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_g.c index 9448881f..b9e0c1f8 100644 --- a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_g.c +++ b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_g.c @@ -33,6 +33,9 @@ /** * * @file XDeint_g.c +* @addtogroup deinterlacer_v3_2 +* @{ +* @details * * This file contains a template for configuration table of Xilinx Video * Deinterlacer For a real hardware system, Xilinx Platform Studio (XPS) will @@ -66,3 +69,4 @@ XDeint_Config XDeint_ConfigTable[] = { XPAR_FMC_SENSOR_INPUT_V_DEINTERLACER_1__BASEADDR } }; +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_hw.h b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_hw.h index 526a593c..e74b3107 100644 --- a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_hw.h +++ b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_hw.h @@ -33,6 +33,9 @@ /** * * @file xdeint_hw.h +* @addtogroup deinterlacer_v3_2 +* @{ +* @details * * This header file contains identifiers and register-level driver functions (or * macros) that can be used to access the Xilinx Video Deinterlacer core. @@ -365,3 +368,4 @@ extern "C" { #endif #endif /* End of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_i.h b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_i.h index 573a9a64..0761f5e1 100644 --- a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_i.h +++ b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_i.h @@ -33,6 +33,9 @@ /** * * @file xdeint_i.h +* @addtogroup deinterlacer_v3_2 +* @{ +* @details * * This code contains internal functions of the Xilinx Video Deinterlacer core. * The application should not need the functions in this code to control @@ -78,3 +81,4 @@ extern "C" { #endif #endif /* End of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_intr.c b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_intr.c index f960c31c..0d5db5a7 100644 --- a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_intr.c +++ b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_intr.c @@ -33,6 +33,9 @@ /** * * @file xdeint_intr.c +* @addtogroup deinterlacer_v3_2 +* @{ +* @details * * This code contains interrupt related functions of Xilinx Video * Deinterlacer (DEINT) core. Please see xdeint.h for more details of the core. @@ -144,3 +147,4 @@ int XDeint_SetCallBack(XDeint *InstancePtr, void *CallBackFunc) return (XST_SUCCESS); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_selftest.c b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_selftest.c index ab3a2146..2bd7dba4 100644 --- a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_selftest.c +++ b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_selftest.c @@ -33,6 +33,9 @@ /** * * @file xdeint_selftest.c +* @addtogroup deinterlacer_v3_2 +* @{ +* @details * * This file contains the self-test functions for the XCfa driver. * @@ -103,3 +106,4 @@ int XDeint_Selftest(XDeint *InstancePtr) return Status; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_sinit.c b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_sinit.c index b07e7d78..314888d5 100644 --- a/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_sinit.c +++ b/XilinxProcessorIPLib/drivers/deinterlacer/src/xdeint_sinit.c @@ -33,6 +33,9 @@ /** * * @file xdeint_sinit.c +* @addtogroup deinterlacer_v3_2 +* @{ +* @details * * This file contains static initialization methods for Xilinx Video * Deinterlacer (DEINT) core driver. @@ -109,3 +112,4 @@ XDeint_Config *XDeint_LookupConfig(u16 DeviceId) return (XDeint_Config *)(CfgPtr); } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg.c b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg.c index 64a52432..c581f4ea 100644 --- a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg.c +++ b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg.c @@ -33,6 +33,9 @@ /** * * @file xdevcfg.c +* @addtogroup devcfg_v3_3 +* @{ +* @details * * This file contains the implementation of the interface functions for XDcfg * driver. Refer to the header file xdevcfg.h for more detailed information. @@ -940,3 +943,4 @@ u32 XDcfg_Transfer(XDcfg *InstancePtr, return XST_SUCCESS; } +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg.h b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg.h index 34dc4e11..10b200aa 100644 --- a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg.h +++ b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg.h @@ -33,6 +33,9 @@ /** * * @file xdevcfg.h +* @addtogroup devcfg_v3_3 +* @{ +* @details * * The is the main header file for the Device Configuration Interface of the Zynq * device. The device configuration interface has three main functionality. @@ -391,3 +394,4 @@ void XDcfg_SetHandler(XDcfg *InstancePtr, void *CallBackFunc, #endif #endif /* end of protection macro */ +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_g.c b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_g.c index 8ab1f759..7e3eaaff 100644 --- a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_g.c +++ b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_g.c @@ -33,6 +33,9 @@ /** * * @file xdevcfg_g.c +* @addtogroup devcfg_v3_3 +* @{ +* @details * * This file contains a table that specifies the configuration of the Device * Configuration Interface device in the system. Each device should have an entry @@ -73,3 +76,4 @@ XDcfg_Config XDcfg_ConfigTable[1] = { XPAR_XDCFG_0_BASEADDR, } }; +/** @} */ diff --git a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_hw.c b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_hw.c index 3dbfee41..6b40e406 100644 --- a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_hw.c +++ b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_hw.c @@ -33,6 +33,9 @@ /** * * @file xdevcfg_hw.c +* @addtogroup devcfg_v3_3 +* @{ +* @details * * This file contains the implementation of the interface reset functionality *
@@ -108,3 +111,4 @@ void XDcfg_ResetHw(u32 BaseAddr)
 	XDcfg_WriteReg(BaseAddr, XDCFG_CTRL_OFFSET, Regval);
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_hw.h b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_hw.h
index 11eaf682..086a7adf 100644
--- a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_hw.h
+++ b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdevcfg_hw.h
+* @addtogroup devcfg_v3_3
+* @{
+* @details
 *
 * This file contains the hardware interface to the Device Config Interface.
 *
@@ -390,3 +393,4 @@ void XDcfg_ResetHw(u32 BaseAddr);
 #endif
 
 #endif	/* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_intr.c b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_intr.c
index c46e7c8b..b369cfe3 100644
--- a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_intr.c
+++ b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdevcfg_intr.c
+* @addtogroup devcfg_v3_3
+* @{
+* @details
 *
 * Contains the implementation of interrupt related functions of the XDcfg
 * driver.
@@ -305,3 +308,4 @@ void XDcfg_SetHandler(XDcfg *InstancePtr, void *CallBackFunc,
 	InstancePtr->StatusHandler = (XDcfg_IntrHandler) CallBackFunc;
 	InstancePtr->CallBackRef = CallBackRef;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_selftest.c b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_selftest.c
index ed919419..59bdfd8a 100644
--- a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_selftest.c
+++ b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdevcfg_selftest.c
+* @addtogroup devcfg_v3_3
+* @{
+* @details
 *
 * Contains diagnostic self-test functions for the XDcfg driver.
 *
@@ -109,3 +112,4 @@ int XDcfg_SelfTest(XDcfg *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_sinit.c b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_sinit.c
index 5e57f7f9..818f73dc 100644
--- a/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_sinit.c
+++ b/XilinxProcessorIPLib/drivers/devcfg/src/xdevcfg_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdevcfg_sinit.c
+* @addtogroup devcfg_v3_3
+* @{
+* @details
 *
 * This file contains method for static initialization (compile-time) of the
 * driver.
@@ -88,3 +91,4 @@ XDcfg_Config *XDcfg_LookupConfig(u16 DeviceId)
 
 	return (CfgPtr);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps.c b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps.c
index 95905b27..6e924ddc 100644
--- a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps.c
+++ b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdmaps.c
+* @addtogroup dmaps_v2_1
+* @{
+* @details
 *
 * This file contains the implementation of the interface functions for XDmaPs
 * driver. Refer to the header file xdmaps.h for more detailed information.
@@ -1979,3 +1982,4 @@ static void XDmaPs_Print_DmaProgBuf(char *Buf, int Length)
 }
 
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps.h b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps.h
index ed928c9d..070affb4 100644
--- a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps.h
+++ b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdmaps.h
+* @addtogroup dmaps_v2_1
+* @{
+* @details
 *
 *
 * 
@@ -315,3 +318,4 @@ int XDmaPs_SelfTest(XDmaPs *InstPtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_g.c b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_g.c
index 522bffbd..51a1dc24 100644
--- a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_g.c
+++ b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdmaps_g.c
+* @addtogroup dmaps_v2_1
+* @{
+* @details
 *
 * This file contains a configuration table where each entry is a configuration
 * structure for an XDmaPs device in the system.
@@ -75,3 +78,4 @@ XDmaPs_Config XDmaPs_ConfigTable[] = {
 		XPAR_XDMAPS_0_BASEADDR,
 	},
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_hw.c b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_hw.c
index ab655574..d59f52f8 100644
--- a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_hw.c
+++ b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_hw.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdmaps_hw.c
+* @addtogroup dmaps_v2_1
+* @{
+* @details
 *
 * This file contains the implementation of the interface reset functionality 
 *	for XDmaPs driver.
@@ -111,3 +114,4 @@ void XDmaPs_ResetHw(u32 BaseAddress)
 
 
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_hw.h b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_hw.h
index 9491e0f0..1c9853e1 100644
--- a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_hw.h
+++ b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdmaps_hw.h
+* @addtogroup dmaps_v2_1
+* @{
+* @details
 *
 * This header file contains the hardware interface of an XDmaPs device.
 *
@@ -288,3 +291,4 @@ void XDmaPs_ResetHw(u32 BaseAddr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_selftest.c b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_selftest.c
index d81e7a8b..8a38028b 100644
--- a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_selftest.c
+++ b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdmaps_selftest.c
+* @addtogroup dmaps_v2_1
+* @{
+* @details
 *
 * This file contains the self-test functions for the XDmaPs driver.
 *
@@ -105,3 +108,4 @@ int XDmaPs_SelfTest(XDmaPs *InstPtr)
 	}
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_sinit.c b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_sinit.c
index 2f49dcdb..83a33371 100644
--- a/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_sinit.c
+++ b/XilinxProcessorIPLib/drivers/dmaps/src/xdmaps_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdmaps_sinit.c
+* @addtogroup dmaps_v2_1
+* @{
+* @details
 *
 * The implementation of the XDmaPs driver's static initialzation
 * functionality.
@@ -99,3 +102,4 @@ XDmaPs_Config *XDmaPs_LookupConfig(u16 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx.c b/XilinxProcessorIPLib/drivers/dptx/src/xdptx.c
index c590b7b9..e0aadbd3 100644
--- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx.c
+++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xdptx.c
+* @addtogroup dptx_v3_0
+* @{
+* @details
  *
  * Contains a minimal set of functions for the XDptx driver that allow access
  * to all of the DisplayPort TX core's functionality. See xdptx.h for a detailed
@@ -2677,3 +2680,4 @@ static u32 XDptx_WaitPhyReady(XDptx *InstancePtr)
 
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx.h b/XilinxProcessorIPLib/drivers/dptx/src/xdptx.h
index cbf4b6de..8955e7bb 100644
--- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx.h
+++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx.h
@@ -33,6 +33,9 @@
 /**
  *
  * @file xdptx.h
+* @addtogroup dptx_v3_0
+* @{
+* @details
  *
  * The Xilinx DisplayPort transmitter (DPTX) driver. This driver supports the
  * Xilinx DisplayPort soft IP core in source (TX) mode. This driver follows the
@@ -771,3 +774,4 @@ u32 XDptx_GetRemoteTiledDisplayDb(XDptx *InstancePtr, u8 *EdidExt,
 		u8 LinkCountTotal, u8 *RelativeAddress, u8 **DataBlockPtr);
 
 #endif /* XDPTX_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_edid.c b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_edid.c
index f40f557e..f51d83ee 100644
--- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_edid.c
+++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_edid.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xdptx_edid.c
+* @addtogroup dptx_v3_0
+* @{
+* @details
  *
  * This file contains functions related to accessing the Extended Display
  * Identification Data (EDID) of a specified sink using the XDptx driver.
@@ -379,3 +382,4 @@ u32 XDptx_GetRemoteTiledDisplayDb(XDptx *InstancePtr, u8 *EdidExt,
 
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_hw.h b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_hw.h
index 6a421597..0450e334 100644
--- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_hw.h
+++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_hw.h
@@ -33,6 +33,9 @@
 /**
  *
  * @file xdptx_hw.h
+* @addtogroup dptx_v3_0
+* @{
+* @details
  *
  * This header file contains the identifiers and low-level driver functions (or
  * macros) that can be used to access the device. High-level driver functions
@@ -1451,3 +1454,4 @@
 	XDptx_GetDispIdTdtHLoc(Tdt))
 
 #endif /* XDPTX_HW_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_intr.c b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_intr.c
index eb0cfa5a..d7a68307 100644
--- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_intr.c
+++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_intr.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xdptx_intr.c
+* @addtogroup dptx_v3_0
+* @{
+* @details
  *
  * This file contains functions related to XDptx interrupt handling.
  *
@@ -178,3 +181,4 @@ void XDptx_HpdInterruptHandler(XDptx *InstancePtr)
 	XDptx_WriteReg(InstancePtr->Config.BaseAddr, XDPTX_INTERRUPT_MASK,
 								IntrMask);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c
index 99666238..7aabe55d 100644
--- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c
+++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xdptx_mst.c
+* @addtogroup dptx_v3_0
+* @{
+* @details
  *
  * 
  * MODIFICATION HISTORY:
@@ -2974,3 +2977,4 @@ static u32 XDptx_IsSameTileDisplay(u8 *TileDisp0, u8 *TileDisp1)
 
 	return 1;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_selftest.c b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_selftest.c
index 792e8f2f..1f3ae152 100644
--- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_selftest.c
+++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_selftest.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xdptx_selftest.c
+* @addtogroup dptx_v3_0
+* @{
+* @details
  *
  * This file contains a diagnostic self-test function for the XDptx driver. It
  * will check many of the DisplayPort TX's register values against the default
@@ -211,3 +214,4 @@ u32 XDptx_SelfTest(XDptx *InstancePtr)
 	/* All tested registers hold their default reset values. */
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_sinit.c b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_sinit.c
index 8387f592..1f5b9522 100644
--- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_sinit.c
+++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_sinit.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xdptx_sinit.c
+* @addtogroup dptx_v3_0
+* @{
+* @details
  *
  * This file contains static initialization methods for the XDptx driver.
  *
@@ -91,3 +94,4 @@ XDptx_Config *XDptx_LookupConfig(u16 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_spm.c b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_spm.c
index fb38f937..6642ac61 100644
--- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_spm.c
+++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_spm.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xdptx_spm.c
+* @addtogroup dptx_v3_0
+* @{
+* @details
  *
  * This file contains the stream policy maker functions for the XDptx driver.
  * These functions set up the DisplayPort TX core's main stream attributes that
@@ -899,3 +902,4 @@ static void XDptx_CalculateTs(XDptx *InstancePtr, u8 Stream, u8 BitsPerPixel)
 			MsaConfig->TransferUnitSize *
 			(LinkConfig->LaneCount * LinkConfig->LinkRate / 2);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter.c b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter.c
index 7e4c8aac..bedf12a6 100644
--- a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter.c
+++ b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdualsplitter.c
+* @addtogroup dual_splitter_v1_0
+* @{
+* @details
 *
 * This file contains the implementation of the interface functions for
 * Dual Splitter core. Please refer to the header file xdualsplitter.h for
@@ -350,3 +353,4 @@ static void StubErrCallback(void *CallbackRef, u32 ErrorMask)
 	(void)ErrorMask;
 	Xil_AssertVoidAlways();
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter.h b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter.h
index 44797169..ba37da17 100644
--- a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter.h
+++ b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdualsplitter.h
+* @addtogroup dual_splitter_v1_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level core functions (or
 * macros), range macros, structure typedefs that can be used to access the
@@ -398,3 +401,4 @@ void XDualSplitter_SetCallback(XDualSplitter *InstancePtr,
 #endif
 
 #endif /* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_hw.h b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_hw.h
index 4f57ccbd..80d14e4a 100644
--- a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_hw.h
+++ b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdualsplitter_hw.h
+* @addtogroup dual_splitter_v1_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level driver functions (or
 * macros) that can be used to access the Xilinx Dual Splitter core.
@@ -208,3 +211,4 @@ extern "C" {
 #endif
 
 #endif /* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_intr.c b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_intr.c
index 025215c8..05b20301 100644
--- a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_intr.c
+++ b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdualsplitter_intr.c
+* @addtogroup dual_splitter_v1_0
+* @{
+* @details
 *
 * This file contains interrupt related functions for Xilinx Dual Splitter
 * core. Please see xdualsplitter.h for more details of the core.
@@ -145,3 +148,4 @@ void XDualSplitter_SetCallback(XDualSplitter *InstancePtr,
 			(XDualSplitter_ErrCallback)CallbackFunc;
 	InstancePtr->ErrRef = CallbackRef;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_selftest.c b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_selftest.c
index 2e2b2a78..2ffa79b4 100644
--- a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_selftest.c
+++ b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdualsplitter_selftest.c
+* @addtogroup dual_splitter_v1_0
+* @{
+* @details
 *
 * This file contains self test function for the Dual Splitter core.
 *
@@ -102,3 +105,4 @@ s32 XDualSplitter_SelfTest(XDualSplitter *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_sinit.c b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_sinit.c
index 5ee204e0..54071bc0 100644
--- a/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_sinit.c
+++ b/XilinxProcessorIPLib/drivers/dual_splitter/src/xdualsplitter_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xdualsplitter_sinit.c
+* @addtogroup dual_splitter_v1_0
+* @{
+* @details
 *
 * This file contains static initialization function for Xilinx Dual Splitter
 * core.
@@ -109,3 +112,4 @@ XDualSplitter_Config *XDualSplitter_LookupConfig(u16 DeviceId)
 
 	return (XDualSplitter_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emacps/src/xemacps.c b/XilinxProcessorIPLib/drivers/emacps/src/xemacps.c
index 40de3a06..aca0a440 100644
--- a/XilinxProcessorIPLib/drivers/emacps/src/xemacps.c
+++ b/XilinxProcessorIPLib/drivers/emacps/src/xemacps.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xemacps.c
+* @addtogroup emacps_v3_0
+* @{
+* @details
 *
 * The XEmacPs driver. Functions in this file are the minimum required functions
 * for this driver. See xemacps.h for a detailed description of the driver.
@@ -474,3 +477,4 @@ void XEmacPs_SetQueuePtr(XEmacPs *InstancePtr, UINTPTR QPtr, u8 QueueNum,
 			(u32)((QPtr & (u32)ULONG64_HI_MASK) >> 32U));
 #endif
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emacps/src/xemacps.h b/XilinxProcessorIPLib/drivers/emacps/src/xemacps.h
index adb2f4b2..eac66382 100644
--- a/XilinxProcessorIPLib/drivers/emacps/src/xemacps.h
+++ b/XilinxProcessorIPLib/drivers/emacps/src/xemacps.h
@@ -33,6 +33,9 @@
 /**
  *
  * @file xemacps.h
+* @addtogroup emacps_v3_0
+* @{
+* @details
  *
  * The Xilinx Embedded Processor Block Ethernet driver.
  *
@@ -781,3 +784,4 @@ void XEmacPs_DMABLengthUpdate(XEmacPs *InstancePtr, s32 BLength);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bd.h b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bd.h
index 7eb37a98..17bdd8e4 100644
--- a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bd.h
+++ b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bd.h
@@ -33,6 +33,9 @@
 /**
  *
  * @file xemacps_bd.h
+* @addtogroup emacps_v3_0
+* @{
+* @details
  *
  * This header provides operations to manage buffer descriptors in support
  * of scatter-gather DMA.
@@ -797,3 +800,4 @@ typedef UINTPTR XEmacPs_Bd[XEMACPS_BD_NUM_WORDS];
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bdring.c b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bdring.c
index 32a1e535..99a169ea 100644
--- a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bdring.c
+++ b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bdring.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xemacps_bdring.c
+* @addtogroup emacps_v3_0
+* @{
+* @details
 *
 * This file implements buffer descriptor ring related functions.
 *
@@ -1070,3 +1073,4 @@ static void XEmacPs_BdSetTxWrap(UINTPTR BdPtr)
 		*TempPtr = DataValueTx;
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bdring.h b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bdring.h
index b678c540..12a37caf 100644
--- a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bdring.h
+++ b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bdring.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xemacps_bdring.h
+* @addtogroup emacps_v3_0
+* @{
+* @details
 *
 * The Xiline EmacPs Buffer Descriptor ring driver. This is part of EmacPs
 * DMA functionalities.
@@ -233,3 +236,4 @@ LONG XEmacPs_BdRingCheck(XEmacPs_BdRing * RingPtr, u8 Direction);
 
 
 #endif /* end of protection macros */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_control.c b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_control.c
index 69a6e4d7..ef639f07 100644
--- a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_control.c
+++ b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_control.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xemacps_control.c
+* @addtogroup emacps_v3_0
+* @{
+* @details
  *
  * Functions in this file implement general purpose command and control related
  * functionality. See xemacps.h for a detailed description of the driver.
@@ -1156,3 +1159,4 @@ void XEmacPs_DMABLengthUpdate(XEmacPs *InstancePtr, s32 BLength)
 	XEmacPs_WriteReg(InstancePtr->Config.BaseAddress, XEMACPS_DMACR_OFFSET,
 																	Reg);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_g.c b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_g.c
index 405863ce..a786eccb 100644
--- a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_g.c
+++ b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xemacps_g.c
+* @addtogroup emacps_v3_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * ethernet devices in the system.
@@ -88,3 +91,4 @@ XEmacPs_Config XEmacPs_ConfigTable[XPAR_XEMACPS_NUM_INSTANCES] = {
 	}
 #endif
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_hw.c b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_hw.c
index db01faad..ad3df658 100644
--- a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_hw.c
+++ b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_hw.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xemacps_hw.c
+* @addtogroup emacps_v3_0
+* @{
+* @details
 *
 * This file contains the implementation of the ethernet interface reset sequence
 *
@@ -118,3 +121,4 @@ void XEmacPs_ResetHw(u32 BaseAddr)
 	XEmacPs_WriteReg(BaseAddr,XEMACPS_HASHL_OFFSET,0x0U);
 	XEmacPs_WriteReg(BaseAddr,XEMACPS_HASHH_OFFSET,0x0U);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_hw.h b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_hw.h
index 4b8f582c..aa7e1982 100644
--- a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_hw.h
+++ b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xemacps_hw.h
+* @addtogroup emacps_v3_0
+* @{
+* @details
 *
 * This header file contains identifiers and low-level driver functions (or
 * macros) that can be used to access the PS Ethernet MAC (XEmacPs) device.
@@ -645,3 +648,4 @@ void XEmacPs_ResetHw(u32 BaseAddr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_intr.c b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_intr.c
index 1c59e6c6..c44eed50 100644
--- a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_intr.c
+++ b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xemacps_intr.c
+* @addtogroup emacps_v3_0
+* @{
+* @details
 *
 * Functions in this file implement general purpose interrupt processing related
 * functionality. See xemacps.h for a detailed description of the driver.
@@ -258,3 +261,4 @@ void XEmacPs_IntrHandler(void *XEmacPsPtr)
 	}
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_sinit.c b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_sinit.c
index 67822625..6edb3b53 100644
--- a/XilinxProcessorIPLib/drivers/emacps/src/xemacps_sinit.c
+++ b/XilinxProcessorIPLib/drivers/emacps/src/xemacps_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xemacps_sinit.c
+* @addtogroup emacps_v3_0
+* @{
+* @details
 *
 * This file contains lookup method by device ID when success, it returns
 * pointer to config table to be used to initialize the device.
@@ -92,3 +95,4 @@ XEmacPs_Config *XEmacPs_LookupConfig(u16 DeviceId)
 
 	return (XEmacPs_Config *)(CfgPtr);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/emc/src/xemc.h b/XilinxProcessorIPLib/drivers/emc/src/xemc.h
index 7376451b..c78e7c7c 100644
--- a/XilinxProcessorIPLib/drivers/emc/src/xemc.h
+++ b/XilinxProcessorIPLib/drivers/emc/src/xemc.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xemc.h
+* @addtogroup emc_v4_0
+* @{
+* @details
 *
 * This driver exists only to allow the EDK tools to create a memory test
 * application and to populate xparameters.h with memory range constants.
@@ -42,3 +45,4 @@
 * 4.0   adk  19/12/13 Updated as per the New Tcl API's
 *
 ******************************************************************************/
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/enhance/src/xenhance.c b/XilinxProcessorIPLib/drivers/enhance/src/xenhance.c
index 5088daa6..a29b3991 100644
--- a/XilinxProcessorIPLib/drivers/enhance/src/xenhance.c
+++ b/XilinxProcessorIPLib/drivers/enhance/src/xenhance.c
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xenhance.c
-*
-* This file contains the implementation of the interface functions for
-* Enhance core. Refer to the header file xenhance.h for more detailed
+/**
+*
+* @file xenhance.c
+* @addtogroup enhance_v7_0
+* @{
+* @details
+*
+* This file contains the implementation of the interface functions for
+* Enhance core. Refer to the header file xenhance.h for more detailed
 * information.
 *
 * 
@@ -744,6 +747,7 @@ static void StubErrCallBack(void *CallBackRef, u32 ErrorMask)
 	/* Verify arguments. */
 	Xil_AssertVoid((ErrorMask == ((u32)0x0U)) ||
 				(ErrorMask > ((u32)0x0U)));
-	Xil_AssertVoid(CallBackRef != NULL);
-	Xil_AssertVoidAlways();
-}
+	Xil_AssertVoid(CallBackRef != NULL);
+	Xil_AssertVoidAlways();
+}
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/enhance/src/xenhance.h b/XilinxProcessorIPLib/drivers/enhance/src/xenhance.h
index fd7dea14..d9343c98 100644
--- a/XilinxProcessorIPLib/drivers/enhance/src/xenhance.h
+++ b/XilinxProcessorIPLib/drivers/enhance/src/xenhance.h
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xenhance.h
-*
-* This header file contains identifiers and register-level driver functions (or
-* macros), range macros, structure typedefs that can be used to access the
+/**
+*
+* @file xenhance.h
+* @addtogroup enhance_v7_0
+* @{
+* @details
+*
+* This header file contains identifiers and register-level driver functions (or
+* macros), range macros, structure typedefs that can be used to access the
 * Image Statistic core instance.
 *
 * The Image Enhancement core offers noise reduction and/or edge enhancement.
@@ -638,6 +641,7 @@ int XEnhance_SetCallBack(XEnhance *InstancePtr, u32 HandlerType,
 
 #ifdef __cplusplus
 }
-#endif
-
-#endif /* End of protection macro */
+#endif
+
+#endif /* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/enhance/src/xenhance_hw.h b/XilinxProcessorIPLib/drivers/enhance/src/xenhance_hw.h
index 8cc2eb3c..c88555bc 100644
--- a/XilinxProcessorIPLib/drivers/enhance/src/xenhance_hw.h
+++ b/XilinxProcessorIPLib/drivers/enhance/src/xenhance_hw.h
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xenhance_hw.h
-*
-* This header file contains identifiers and register-level driver functions (or
-* macros) that can be used to access the Xilinx Video Image Enhancement
+/**
+*
+* @file xenhance_hw.h
+* @addtogroup enhance_v7_0
+* @{
+* @details
+*
+* This header file contains identifiers and register-level driver functions (or
+* macros) that can be used to access the Xilinx Video Image Enhancement
 * core.
 *
 * For more information about the operation of this core, see the hardware
@@ -282,6 +285,7 @@ extern "C" {
 #ifdef __cplusplus
 }
 
-#endif
-
-#endif /* End of protection macro */
+#endif
+
+#endif /* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/enhance/src/xenhance_intr.c b/XilinxProcessorIPLib/drivers/enhance/src/xenhance_intr.c
index f1b442e4..b38ead8f 100644
--- a/XilinxProcessorIPLib/drivers/enhance/src/xenhance_intr.c
+++ b/XilinxProcessorIPLib/drivers/enhance/src/xenhance_intr.c
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xenhance_intr.c
-*
-* This code contains interrupt related functions of Xilinx Enhance core.
-* Please see xenhance.h for more details of the core.
+/**
+*
+* @file xenhance_intr.c
+* @addtogroup enhance_v7_0
+* @{
+* @details
+*
+* This code contains interrupt related functions of Xilinx Enhance core.
+* Please see xenhance.h for more details of the core.
 *
 * 
 * MODIFICATION HISTORY:
@@ -203,6 +206,7 @@ int XEnhance_SetCallBack(XEnhance *InstancePtr, u32 HandlerType,
 			Status = (XST_INVALID_PARAM);
 			break;
 	}
-
-	return Status;
-}
+
+	return Status;
+}
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/enhance/src/xenhance_selftest.c b/XilinxProcessorIPLib/drivers/enhance/src/xenhance_selftest.c
index cde3154d..52025f53 100644
--- a/XilinxProcessorIPLib/drivers/enhance/src/xenhance_selftest.c
+++ b/XilinxProcessorIPLib/drivers/enhance/src/xenhance_selftest.c
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xenhance_selftest.c
-*
-* This file contains the self-test functions for the Enhance driver.
-* The self test function reads the Version register.
+/**
+*
+* @file xenhance_selftest.c
+* @addtogroup enhance_v7_0
+* @{
+* @details
+*
+* This file contains the self-test functions for the Enhance driver.
+* The self test function reads the Version register.
 *
 * 
 * MODIFICATION HISTORY:
@@ -106,6 +109,7 @@ int XEnhance_SelfTest(XEnhance *InstancePtr)
 	else {
 		Status = (XST_FAILURE);
 	}
-
-	return Status;
-}
+
+	return Status;
+}
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/enhance/src/xenhance_sinit.c b/XilinxProcessorIPLib/drivers/enhance/src/xenhance_sinit.c
index c739f0fd..46ac4f3c 100644
--- a/XilinxProcessorIPLib/drivers/enhance/src/xenhance_sinit.c
+++ b/XilinxProcessorIPLib/drivers/enhance/src/xenhance_sinit.c
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xenhance_sinit.c
-*
-* This file contains static initialization methods for Xilinx Enhance core.
-*
+/**
+*
+* @file xenhance_sinit.c
+* @addtogroup enhance_v7_0
+* @{
+* @details
+*
+* This file contains static initialization methods for Xilinx Enhance core.
+*
 * 
 * MODIFICATION HISTORY:
 *
@@ -105,6 +108,7 @@ XEnhance_Config *XEnhance_LookupConfig(u16 DeviceId)
 			break;
 		}
 	}
-
-	return (XEnhance_Config *)CfgPtr;
-}
+
+	return (XEnhance_Config *)CfgPtr;
+}
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gamma/src/gamma.c b/XilinxProcessorIPLib/drivers/gamma/src/gamma.c
index dca8640a..e4c21443 100644
--- a/XilinxProcessorIPLib/drivers/gamma/src/gamma.c
+++ b/XilinxProcessorIPLib/drivers/gamma/src/gamma.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file gamma.c
+* @addtogroup gamma_v6_0
+* @{
+* @details
 *
 * This is main code of Xilinx Gamma Correction (GAMMA)
 * device driver. Please see gamma.h for more details of the driver.
@@ -59,3 +62,4 @@
 // Note: All functions are currently implemented as high-performance macros
 // within gamma.h
 /*****************************************************************************/
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gamma/src/gamma.h b/XilinxProcessorIPLib/drivers/gamma/src/gamma.h
index b7e2cdc6..fe3adc76 100644
--- a/XilinxProcessorIPLib/drivers/gamma/src/gamma.h
+++ b/XilinxProcessorIPLib/drivers/gamma/src/gamma.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file gamma.h
+* @addtogroup gamma_v6_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level driver functions (or
 * macros) that can be used to access the Xilinx Gamma Correction (GAMMA) instance.
@@ -378,3 +381,4 @@ extern "C" {
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpio/src/xgpio.c b/XilinxProcessorIPLib/drivers/gpio/src/xgpio.c
index 6df98d00..c2fb6327 100644
--- a/XilinxProcessorIPLib/drivers/gpio/src/xgpio.c
+++ b/XilinxProcessorIPLib/drivers/gpio/src/xgpio.c
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
 * @file xgpio.c
+* @addtogroup gpio_v4_0
+* @{
+* @details
 *
 * The implementation of the XGpio driver's basic functionality. See xgpio.h
 * for more information about the driver.
@@ -253,3 +256,4 @@ void XGpio_DiscreteWrite(XGpio * InstancePtr, unsigned Channel, u32 Data)
 			((Channel - 1) * XGPIO_CHAN_OFFSET) + XGPIO_DATA_OFFSET,
 			Data);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpio/src/xgpio.h b/XilinxProcessorIPLib/drivers/gpio/src/xgpio.h
index 5116edb2..d6b406a1 100644
--- a/XilinxProcessorIPLib/drivers/gpio/src/xgpio.h
+++ b/XilinxProcessorIPLib/drivers/gpio/src/xgpio.h
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
 * @file xgpio.h
+* @addtogroup gpio_v4_0
+* @{
+* @details
 *
 * This file contains the software API definition of the Xilinx General Purpose
 * I/O (XGpio) device driver.
@@ -193,3 +196,4 @@ u32 XGpio_InterruptGetStatus(XGpio *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_extra.c b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_extra.c
index 9c8a6b58..2661cbe2 100644
--- a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_extra.c
+++ b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_extra.c
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
 * @file xgpio_extra.c
+* @addtogroup gpio_v4_0
+* @{
+* @details
 *
 * The implementation of the XGpio driver's advanced discrete functions.
 * See xgpio.h for more information about the driver.
@@ -163,3 +166,4 @@ void XGpio_DiscreteClear(XGpio * InstancePtr, unsigned Channel, u32 Mask)
 	Current &= ~Mask;
 	XGpio_WriteReg(InstancePtr->BaseAddress, DataOffset, Current);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_g.c b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_g.c
index 5e31cf12..3d233b76 100644
--- a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_g.c
+++ b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xgpio_g.c
+* @addtogroup gpio_v4_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration
 * of GPIO devices in the system.
@@ -79,3 +82,4 @@ XGpio_Config XGpio_ConfigTable[] = {
 	 XPAR_GPIO_0_INTERRUPT_PRESENT,
 	 XPAR_GPIO_0_IS_DUAL}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_i.h b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_i.h
index a94bec41..728c1144 100644
--- a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_i.h
+++ b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_i.h
@@ -32,6 +32,9 @@
 /******************************************************************************/
 /**
 * @file xgpio_i.h
+* @addtogroup gpio_v4_0
+* @{
+* @details
 *
 * This header file contains internal identifiers, which are those shared
 * between the files of the driver. It is intended for internal use only.
@@ -82,3 +85,4 @@ extern XGpio_Config XGpio_ConfigTable[];
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_intr.c b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_intr.c
index f53a3696..b5732571 100644
--- a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_intr.c
+++ b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_intr.c
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
 * @file xgpio_intr.c
+* @addtogroup gpio_v4_0
+* @{
+* @details
 *
 * Implements GPIO interrupt processing functions for the XGpio driver.
 * See xgpio.h for more information about the driver.
@@ -289,3 +292,4 @@ u32 XGpio_InterruptGetStatus(XGpio * InstancePtr)
 
 	return XGpio_ReadReg(InstancePtr->BaseAddress, XGPIO_ISR_OFFSET);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_l.h b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_l.h
index 3f4e82ee..afa75626 100644
--- a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_l.h
+++ b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_l.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xgpio_l.h
+* @addtogroup gpio_v4_0
+* @{
+* @details
 *
 * This header file contains identifiers and driver functions (or
 * macros) that can be used to access the device.  The user should refer to the
@@ -224,3 +227,4 @@ extern "C" {
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_selftest.c b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_selftest.c
index 798f1806..105ba4f3 100644
--- a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_selftest.c
+++ b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_selftest.c
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
 * @file xgpio_selftest.c
+* @addtogroup gpio_v4_0
+* @{
+* @details
 *
 * The implementation of the XGpio driver's self test function.
 * See xgpio.h for more information about the driver.
@@ -105,3 +108,4 @@ int XGpio_SelfTest(XGpio * InstancePtr)
 
 	return (XST_SUCCESS);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_sinit.c b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_sinit.c
index 51463358..5f7217f8 100644
--- a/XilinxProcessorIPLib/drivers/gpio/src/xgpio_sinit.c
+++ b/XilinxProcessorIPLib/drivers/gpio/src/xgpio_sinit.c
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
 * @file xgpio_sinit.c
+* @addtogroup gpio_v4_0
+* @{
+* @details
 *
 * The implementation of the XGpio driver's static initialzation
 * functionality.
@@ -148,3 +151,4 @@ int XGpio_Initialize(XGpio * InstancePtr, u16 DeviceId)
 	return XGpio_CfgInitialize(InstancePtr, ConfigPtr,
 				   ConfigPtr->BaseAddress);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops.c b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops.c
index 797e9d00..c27aff33 100644
--- a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops.c
+++ b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xgpiops.c
+* @addtogroup gpiops_v3_1
+* @{
+* @details
 *
 * The XGpioPs driver. Functions in this file are the minimum required functions
 * for this driver. See xgpiops.h for a detailed description of the driver.
@@ -623,3 +626,4 @@ void XGpioPs_GetBankPin(u8 PinNumber, u8 *BankNumber, u8 *PinNumberInBank)
 					(XGpioPsPinTable[*BankNumber - (u8)1] + (u32)1));
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops.h b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops.h
index 0ffb9e6c..10261557 100644
--- a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops.h
+++ b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xgpiops.h
+* @addtogroup gpiops_v3_1
+* @{
+* @details
 *
 * The Xilinx PS GPIO driver. This driver supports the Xilinx PS GPIO
 * Controller.
@@ -262,3 +265,4 @@ XGpioPs_Config *XGpioPs_LookupConfig(u16 DeviceId);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_g.c b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_g.c
index 220a9da3..281bec25 100644
--- a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_g.c
+++ b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xgpiops_g.c
+* @addtogroup gpiops_v3_1
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration
 * of GPIO devices in the system.
@@ -73,3 +76,4 @@ XGpioPs_Config XGpioPs_ConfigTable[XPAR_XGPIOPS_NUM_INSTANCES] = {
 		(u32)XPAR_XGPIOPS_0_BASEADDR		/* Base address of device */
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_hw.c b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_hw.c
index 3836c974..b9ab7038 100644
--- a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_hw.c
+++ b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_hw.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xgpiops_hw.c
+* @addtogroup gpiops_v3_1
+* @{
+* @details
 *
 * This file contains low level GPIO functions.
 *
@@ -164,3 +167,4 @@ void XGpioPs_ResetHw(u32 BaseAddress)
 	}
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_hw.h b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_hw.h
index da339452..80f24573 100644
--- a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_hw.h
+++ b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xgpiops_hw.h
+* @addtogroup gpiops_v3_1
+* @{
+* @details
 *
 * This header file contains the identifiers and basic driver functions (or
 * macros) that can be used to access the device. Other driver functions
@@ -159,3 +162,4 @@ void XGpioPs_ResetHw(u32 BaseAddress);
 #endif /* __cplusplus */
 
 #endif /* XGPIOPS_HW_H */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_intr.c b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_intr.c
index a7016ec1..b00656bf 100644
--- a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_intr.c
+++ b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xgpiops_intr.c
+* @addtogroup gpiops_v3_1
+* @{
+* @details
 *
 * This file contains functions related to GPIO interrupt handling.
 *
@@ -726,3 +729,4 @@ void StubHandler(void *CallBackRef, u32 Bank, u32 Status)
 
 	Xil_AssertVoidAlways();
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_selftest.c b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_selftest.c
index 4e270ae7..487d1493 100644
--- a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_selftest.c
+++ b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xgpiops_selftest.c
+* @addtogroup gpiops_v3_1
+* @{
+* @details
 *
 * This file contains a diagnostic self-test function for the XGpioPs driver.
 *
@@ -128,3 +131,4 @@ s32 XGpioPs_SelfTest(XGpioPs *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_sinit.c b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_sinit.c
index d6fd4cb2..516c9294 100644
--- a/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_sinit.c
+++ b/XilinxProcessorIPLib/drivers/gpiops/src/xgpiops_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xgpiops_sinit.c
+* @addtogroup gpiops_v3_1
+* @{
+* @details
 *
 * This file contains the implementation of the XGpioPs driver's static
 * initialization functionality.
@@ -96,3 +99,4 @@ XGpioPs_Config *XGpioPs_LookupConfig(u16 DeviceId)
 
 	return (XGpioPs_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap.c b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap.c
index 9685ddf8..467a2dff 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap.c
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap.c
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This file contains the functions of the XHwIcap driver. See xhwicap.h for a
 * detailed description of the driver.
@@ -752,3 +755,4 @@ static void StubStatusHandler(void *CallBackRef, u32 StatusEvent, u32 ByteCount)
 
 	Xil_AssertVoidAlways();
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap.h b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap.h
index 3e5f4e26..dd09533e 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap.h
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap.h
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * The Xilinx XHwIcap driver supports the Xilinx Hardware Internal Configuration
 * Access Port (HWICAP) device.
@@ -722,3 +725,4 @@ int XHwIcap_GetClbBits(XHwIcap *InstancePtr, long Row, long Col,
 
 #endif
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_ff.h b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_ff.h
index f400b800..9c35ef8a 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_ff.h
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_ff.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_clb_ff.h
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This header file contains bit information about the CLB FF resource.
 * This header file can be used with the XHwIcap_GetClbBits() and
@@ -529,3 +532,4 @@ const XHwIcap_ClbFf XHI_CLB_FF =
 
 #endif
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_lut.h b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_lut.h
index ad8b0b5a..6c4b829f 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_lut.h
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_lut.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_clb_lut.h
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This header file contains bit information about the CLB LUT resource.
 * This header file can be used with the XHwIcap_GetClbBits() and
@@ -907,3 +910,4 @@ const XHwIcap_ClbLut XHI_CLB_LUT =
 
 #endif
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_srinv.h b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_srinv.h
index b7463a2f..eb37a69f 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_srinv.h
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_clb_srinv.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_clb_srinv.h
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This header file contains bit information about the CLB SRINV resource.
 * This header file can be used with the XHwIcap_GetClbBits() and
@@ -125,3 +128,4 @@ const XHwIcap_ClbSrinv XHI_CLB_SRINV =
 
 #endif
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_device_read_frame.c b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_device_read_frame.c
index e0170dd8..24bc2a5d 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_device_read_frame.c
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_device_read_frame.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_device_read_frame.c
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This file contains the function that reads a specified frame from the
 * device (ICAP) and stores it in the memory specified by the user.
@@ -196,3 +199,4 @@ int XHwIcap_DeviceReadFrame(XHwIcap *InstancePtr, long Top, long Block,
 
 	return XST_SUCCESS;
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_device_write_frame.c b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_device_write_frame.c
index b1a9eebc..9fefeac1 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_device_write_frame.c
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_device_write_frame.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_device_write_frame.c
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This file contains the function that writes the frame stored in the
 * memory to the device (ICAP).
@@ -269,3 +272,4 @@ int XHwIcap_DeviceWriteFrame(XHwIcap *InstancePtr, long Top, long Block,
 };
 
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_g.c b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_g.c
index b0519291..ddaae371 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_g.c
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_g.c
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * Hwicap devices in the system. Each device in the system should have an
@@ -79,3 +82,4 @@ XHwIcap_Config XHwIcap_ConfigTable[XPAR_XHWICAP_NUM_INSTANCES] =
 };
 
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_i.h b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_i.h
index aabdcc72..59a1ff7c 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_i.h
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_i.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_i.h
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This head file contains internal identifiers, which are those shared
 * between the files of the driver.  It is intended for internal use
@@ -346,3 +349,4 @@ extern "C" {
 
 #endif
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_intr.c b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_intr.c
index 42150b6f..427a8cc4 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_intr.c
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_intr.c
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This file contains interrupt handling API functions of the HwIcap device.
 *
@@ -192,3 +195,4 @@ void XHwIcap_IntrHandler(void *InstancePtr)
 
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_l.h b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_l.h
index 7a79824f..bcb9999b 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_l.h
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_l.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_l.h
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This header file contains identifiers and basic driver functions (or
 * macros) that can be used to access the device. Other driver functions
@@ -214,3 +217,4 @@ extern "C" {
 #endif         /* end of protection macro */
 
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_selftest.c b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_selftest.c
index 798911a6..ddab05d2 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_selftest.c
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_selftest.c
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This file contains a diagnostic self test function for the XHwIcap driver.
 * The self test functions writes to the Interrupt Enable Register and reads it
@@ -152,3 +155,4 @@ int XHwIcap_SelfTest(XHwIcap *InstancePtr)
 
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_sinit.c b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_sinit.c
index eeb4c241..393a731a 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_sinit.c
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_sinit.c
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This file contains the implementation of the XHwicap driver's static
 * initialization functionality.
@@ -99,3 +102,4 @@ XHwIcap_Config *XHwIcap_LookupConfig(u16 DeviceId)
 	return CfgPtr;
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_srp.c b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_srp.c
index a97725de..1755c135 100644
--- a/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_srp.c
+++ b/XilinxProcessorIPLib/drivers/hwicap/src/xhwicap_srp.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xhwicap_srp.c
+* @addtogroup hwicap_v10_0
+* @{
+* @details
 *
 * This file contains the functions of the XHwIcap driver used to access the
 * configuration memory of the Xilinx FPGAs through the ICAP port.
@@ -260,3 +263,4 @@ u32 XHwIcap_GetConfigReg(XHwIcap *InstancePtr, u32 ConfigReg, u32 *RegData)
 	return XST_SUCCESS;
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic.c b/XilinxProcessorIPLib/drivers/iic/src/xiic.c
index 1b19a3fc..39198d70 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * Contains required functions for the XIic component. See xiic.h for more
 * information on the driver.
@@ -765,3 +768,4 @@ u32 XIic_IsIicBusy(XIic *InstancePtr)
 		return FALSE;
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic.h b/XilinxProcessorIPLib/drivers/iic/src/xiic.h
index 15852adb..5e4466bd 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic.h
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic.h
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * XIic is the driver for an IIC master or slave device.
 *
@@ -574,3 +577,4 @@ void XIic_MultiMasterInclude(void);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_dyn_master.c b/XilinxProcessorIPLib/drivers/iic/src/xiic_dyn_master.c
index 92e710a0..a666c395 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_dyn_master.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_dyn_master.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_dyn_master.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * Contains master functions for the XIic component in Dynamic controller mode.
 * This file is necessary to send or receive as a master on the IIC bus.
@@ -624,3 +627,4 @@ int XIic_DynamicInitialize(XIic *InstancePtr)
 
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_g.c b/XilinxProcessorIPLib/drivers/iic/src/xiic_g.c
index a5e9813c..8a6de1a5 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_g.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_g.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * IIC devices in the system. Each IIC device should have an entry in this table.
@@ -87,3 +90,4 @@ XIic_Config XIic_ConfigTable[XPAR_XIIC_NUM_INSTANCES] = {
 	 XPAR_IIC_1_GPO_WIDTH,	/* Number of bits in GPO register */
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_i.h b/XilinxProcessorIPLib/drivers/iic/src/xiic_i.h
index 6d8ca901..0c49c77e 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_i.h
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_i.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_i.h
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * This header file contains internal identifiers, which are those shared
 * between XIic components.  The identifiers in this file are not intended for
@@ -390,3 +393,4 @@ void XIic_TransmitFifoFill(XIic *InstancePtr, int Role);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_intr.c b/XilinxProcessorIPLib/drivers/iic/src/xiic_intr.c
index e53bef75..70f38c4a 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_intr.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_intr.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * Contains interrupt functions of the XIic driver.  This file is required
 * for the driver.
@@ -441,3 +444,4 @@ static void StubFunction(XIic *InstancePtr)
 	(void )InstancePtr;
 	Xil_AssertVoidAlways();
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_l.c b/XilinxProcessorIPLib/drivers/iic/src/xiic_l.c
index c3525fa4..f3c84da3 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_l.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_l.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_l.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * This file contains low-level driver functions that can be used to access the
 * device in normal and dynamic controller mode. The user should refer to the
@@ -1008,3 +1011,4 @@ int XIic_DynInit(u32 BaseAddress)
 
 	return XST_FAILURE;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_l.h b/XilinxProcessorIPLib/drivers/iic/src/xiic_l.h
index f820e625..d39e2edd 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_l.h
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_l.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_l.h
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * This header file contains identifiers and driver functions (or
 * macros) that can be used to access the device in normal and dynamic
@@ -586,3 +589,4 @@ int XIic_DynInit(u32 BaseAddress);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_master.c b/XilinxProcessorIPLib/drivers/iic/src/xiic_master.c
index 359927cd..a18794ed 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_master.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_master.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_master.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * Contains master functions for the XIic component. This file is necessary to
 * send or receive as a master on the IIC bus.
@@ -760,3 +763,4 @@ static void RecvMasterData(XIic *InstancePtr)
 		}
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_multi_master.c b/XilinxProcessorIPLib/drivers/iic/src/xiic_multi_master.c
index 1101d14a..9a1c07c9 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_multi_master.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_multi_master.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_multi_master.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * Contains multi-master functions for the XIic component. This file is
 * necessary if multiple masters are on the IIC bus such that arbitration can
@@ -233,3 +236,4 @@ static void ArbitrationLostHandler(XIic *InstancePtr)
 	InstancePtr->StatusHandler(InstancePtr->StatusCallBackRef,
 				   XII_ARB_LOST_EVENT);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_options.c b/XilinxProcessorIPLib/drivers/iic/src/xiic_options.c
index 8b1ba268..8173b052 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_options.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_options.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_options.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * Contains options functions for the XIic component. This file is not required
 * unless the functions in this file are called.
@@ -171,3 +174,4 @@ u32 XIic_GetOptions(XIic *InstancePtr)
 
 	return InstancePtr->Options;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_selftest.c b/XilinxProcessorIPLib/drivers/iic/src/xiic_selftest.c
index 81595c39..4d992c88 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_selftest.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_selftest.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * Contains selftest functions for the XIic component.
 *
@@ -156,3 +159,4 @@ int XIic_SelfTest(XIic *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_sinit.c b/XilinxProcessorIPLib/drivers/iic/src/xiic_sinit.c
index de9f9c45..e76c03d7 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_sinit.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_sinit.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * The implementation of the Xiic component's static initialzation functionality.
 *
@@ -161,3 +164,4 @@ int XIic_Initialize(XIic *InstancePtr, u16 DeviceId)
 	return XIic_CfgInitialize(InstancePtr, ConfigPtr,
 				  ConfigPtr->BaseAddress);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_slave.c b/XilinxProcessorIPLib/drivers/iic/src/xiic_slave.c
index 40fa8490..60bfdbab 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_slave.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_slave.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_slave.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * Contains slave functions for the XIic component. This file is necessary when
 * slave operations, sending and receiving data as a slave on the IIC bus,
@@ -619,3 +622,4 @@ static void SendSlaveData(XIic *InstancePtr)
 	}
 	return;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iic/src/xiic_stats.c b/XilinxProcessorIPLib/drivers/iic/src/xiic_stats.c
index 406c9bed..a1b30f08 100644
--- a/XilinxProcessorIPLib/drivers/iic/src/xiic_stats.c
+++ b/XilinxProcessorIPLib/drivers/iic/src/xiic_stats.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiic_stats.c
+* @addtogroup iic_v3_1
+* @{
+* @details
 *
 * Contains statistics functions for the XIic component.
 *
@@ -131,3 +134,4 @@ void XIic_ClearStats(XIic *InstancePtr)
 	}
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iicps/src/xiicps.c b/XilinxProcessorIPLib/drivers/iicps/src/xiicps.c
index 6ea477ba..1c6fe2a1 100644
--- a/XilinxProcessorIPLib/drivers/iicps/src/xiicps.c
+++ b/XilinxProcessorIPLib/drivers/iicps/src/xiicps.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiicps.c
+* @addtogroup iicps_v3_0
+* @{
+* @details
 *
 * Contains implementation of required functions for the XIicPs driver.
 * See xiicps.h for detailed description of the device and driver.
@@ -327,3 +330,4 @@ s32 TransmitFifoFill(XIicPs *InstancePtr)
 
 	return InstancePtr->SendByteCount;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iicps/src/xiicps.h b/XilinxProcessorIPLib/drivers/iicps/src/xiicps.h
index 9c6dc10e..73ad5dc6 100644
--- a/XilinxProcessorIPLib/drivers/iicps/src/xiicps.h
+++ b/XilinxProcessorIPLib/drivers/iicps/src/xiicps.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiicps.h
+* @addtogroup iicps_v3_0
+* @{
+* @details
 *
 * This is an implementation of IIC driver in the PS block. The device can
 * be either a master or a slave on the IIC bus. This implementation supports
@@ -414,3 +417,4 @@ u32 XIicPs_GetSClk(XIicPs *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_g.c b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_g.c
index 3d6c4038..705085c3 100644
--- a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_g.c
+++ b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiicps_g.c
+* @addtogroup iicps_v3_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * IIC devices in the system.
@@ -86,3 +89,4 @@ XIicPs_Config XIicPs_ConfigTable[XPAR_XIICPS_NUM_INSTANCES] = {
 	 }
 #endif
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_hw.c b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_hw.c
index e45101b8..459fbd83 100644
--- a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_hw.c
+++ b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_hw.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiicps_hw.c
+* @addtogroup iicps_v3_0
+* @{
+* @details
 *
 * Contains implementation of required functions for providing the reset sequence
 * to the i2c interface
@@ -106,3 +109,4 @@ void XIicPs_ResetHw(u32 BaseAddress)
 	/* Update the configuraqtion register with reset value */
 	XIicPs_WriteReg(BaseAddress, XIICPS_CR_OFFSET, 0x0U);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_hw.h b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_hw.h
index 71b770ce..0acbb8e9 100644
--- a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_hw.h
+++ b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiicps_hw.h
+* @addtogroup iicps_v3_0
+* @{
+* @details
 *
 * This header file contains the hardware definition for an IIC device.
 * It includes register definitions and interface functions to read/write
@@ -378,3 +381,4 @@ void XIicPs_ResetHw(u32 BaseAddress);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_intr.c b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_intr.c
index b1c604f9..0f154a0b 100644
--- a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_intr.c
+++ b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiicps_intr.c
+* @addtogroup iicps_v3_0
+* @{
+* @details
 *
 * Contains functions of the XIicPs driver for interrupt-driven transfers.
 * See xiicps.h for a detailed description of the device and driver.
@@ -96,3 +99,4 @@ void XIicPs_SetStatusHandler(XIicPs *InstancePtr, void *CallBackRef,
 	InstancePtr->StatusHandler = FunctionPtr;
 	InstancePtr->CallBackRef = CallBackRef;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_master.c b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_master.c
index 249de73d..555a8479 100644
--- a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_master.c
+++ b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_master.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiicps_master.c
+* @addtogroup iicps_v3_0
+* @{
+* @details
 *
 * Handles master mode transfers.
 *
@@ -983,3 +986,4 @@ static void MasterSendData(XIicPs *InstancePtr)
 
 	return;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_options.c b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_options.c
index a26bacac..7aa6fa14 100644
--- a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_options.c
+++ b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_options.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiicps_options.c
+* @addtogroup iicps_v3_0
+* @{
+* @details
 *
 * Contains functions for the configuration of the XIccPs driver.
 *
@@ -491,3 +494,4 @@ u32 XIicPs_GetSClk(XIicPs *InstancePtr)
 
 	return ActualFscl;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_selftest.c b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_selftest.c
index 0a3cf27e..ee469674 100644
--- a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_selftest.c
+++ b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiicps_selftest.c
+* @addtogroup iicps_v3_0
+* @{
+* @details
 *
 * This component contains the implementation of selftest functions for the
 * XIicPs driver component.
@@ -127,3 +130,4 @@ s32 XIicPs_SelfTest(XIicPs *InstancePtr)
 
 	return (s32)XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_sinit.c b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_sinit.c
index 72669406..5d93f71c 100644
--- a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_sinit.c
+++ b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiicps_sinit.c
+* @addtogroup iicps_v3_0
+* @{
+* @details
 *
 * The implementation of the XIicPs component's static initialization
 * functionality.
@@ -97,3 +100,4 @@ XIicPs_Config *XIicPs_LookupConfig(u16 DeviceId)
 
 	return (XIicPs_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_slave.c b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_slave.c
index e1551a7a..ce6b2c36 100644
--- a/XilinxProcessorIPLib/drivers/iicps/src/xiicps_slave.c
+++ b/XilinxProcessorIPLib/drivers/iicps/src/xiicps_slave.c
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
 * @file xiicps_slave.c
+* @addtogroup iicps_v3_0
+* @{
+* @details
 *
 * Handles slave transfers
 *
@@ -585,3 +588,4 @@ static s32 SlaveRecvData(XIicPs *InstancePtr)
 
 	return InstancePtr->RecvByteCount;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule.c b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule.c
index 1b8a95c8..ec0ee3eb 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule.c
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiomodule.c
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * Contains required functions for the XIomodule driver for the Xilinx
 * IO Module Interrupt Controller. See xiomodule.h for a detailed
@@ -1306,3 +1309,4 @@ void XIOModule_IoWriteByte(XIOModule * InstancePtr,
 
 	XIomodule_Out8((InstancePtr->IoBaseAddress + ByteOffset), Data);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule.h b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule.h
index a00469d4..e86d685f 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule.h
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiomodule.h
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * The Xilinx IO Module driver component. This component supports the
 * IO Module. The IO Module provides:
@@ -572,3 +575,4 @@ void XIOModule_IoWriteByte(XIOModule *InstancePtr, u32 ByteOffset, u8 Data);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_extra.c b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_extra.c
index 42a21c68..713c6201 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_extra.c
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_extra.c
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
 * @file xiomodule_extra.c
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * The implementation of the XIOModule component's advanced discrete
 * functions. See xiomodule.h for more information about the component.
@@ -148,3 +151,4 @@ void XIOModule_DiscreteClear(XIOModule * InstancePtr,
 	XIOModule_WriteReg(InstancePtr->BaseAddress, DataOffset, Current);
 	InstancePtr->GpoValue[Channel - 1] = Current;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_g.c b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_g.c
index 77cca236..71c04906 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_g.c
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiomodule_g.c
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * interrupt controller devices in the system.
@@ -126,3 +129,4 @@ XIOModule_Config XIOModule_ConfigTable[XPAR_XIOMODULE_NUM_INSTANCES] = {
 	 {0, 0, 0, 0}			    /* GPO initial value */
 	 }
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_i.h b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_i.h
index 2cdbaa8a..9e66dd6d 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_i.h
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_i.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiomodule_i.h
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * This file contains data which is shared between files and internal to the
 * XIOModule component. It is intended for internal use only.
@@ -116,3 +119,4 @@ extern XIOModule_Config XIOModule_ConfigTable[];
 #endif
 
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_intr.c b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_intr.c
index 084a3ea7..bdabdb26 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_intr.c
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiomodule_intr.c
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * This file contains the interrupt processing for the XIOModule component
 * which is the driver for the Xilinx IO Module interrupt.  The interrupt
@@ -301,3 +304,4 @@ void XIOModule_Timer_InterruptHandler(void *InstancePtr)
 	}
     }
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_io.h b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_io.h
index 73582d9f..31040d34 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_io.h
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_io.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiomodule_io.h
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * This header file contains identifiers and low-level driver functions (or
 * macros) that can be used to access the device.  The user should refer to the
@@ -74,3 +77,4 @@ extern "C" {
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_l.c b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_l.c
index b737925b..6f6fed7c 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_l.c
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_l.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiomodule_l.c
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * This file contains low-level driver functions that can be used to access the
 * device.  The user should refer to the hardware device specification for more
@@ -368,3 +371,4 @@ u8 XIOModule_RecvByte(u32 BaseAddress)
 	return (u8)XIomodule_In32(BaseAddress + XUL_RX_OFFSET);
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_l.h b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_l.h
index 2fb9786f..957c1668 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_l.h
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_l.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiomodule_l.h
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * This header file contains identifiers and low-level driver functions (or
 * macros) that can be used to access the device.  The user should refer to the
@@ -433,3 +436,4 @@ void XIOModule_RegisterHandler(u32 BaseAddress,
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_options.c b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_options.c
index 9c0923dc..d22f3ab7 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_options.c
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_options.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiomodule_options.c
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * Contains option functions for the XIOModule driver. These functions allow the
 * user to configure an instance of the XIOModule driver.  This file requires
@@ -271,3 +274,4 @@ u32 XIOModel_Timer_GetOptions(XIOModule * InstancePtr, u8 TimerNumber)
 
 	return Options;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_selftest.c b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_selftest.c
index 19e6b6d5..431ad61f 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_selftest.c
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiomodule_selftest.c
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * Contains diagnostic self-test functions for the XIOModule component. This
 * file requires other files of the component to be linked in also.
@@ -257,3 +260,4 @@ int XIOModule_SelfTest(XIOModule * InstancePtr)
 
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_stats.c b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_stats.c
index d1eca0c2..b59edad5 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_stats.c
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_stats.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xiomodule_stats.c
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * This file contains the statistics functions for the UART module
 *
@@ -137,3 +140,4 @@ void XIOModule_ClearStats(XIOModule *InstancePtr)
 	InstancePtr->Uart_Stats.ReceiveParityErrors = 0;
 	InstancePtr->Uart_Stats.ReceiveFramingErrors = 0;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_uart.c b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_uart.c
index 8bd98dd0..97ee4a6d 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_uart.c
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_uart.c
@@ -34,6 +34,9 @@
 /**
 *
 * @file xiomodule_uart.c
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * Contains required functions for the XIOModule UART driver. See the
 * xiomodule.h header file for more details on this driver.
@@ -254,3 +257,4 @@ static void StubHandler(void *CallBackRef, unsigned int ByteCount)
 	 */
 	Xil_AssertVoidAlways();
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_uart_intr.c b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_uart_intr.c
index b31fb96d..8daeee0d 100644
--- a/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_uart_intr.c
+++ b/XilinxProcessorIPLib/drivers/iomodule/src/xiomodule_uart_intr.c
@@ -34,6 +34,9 @@
 /**
 *
 * @file xiomodule_uart_intr.c
+* @addtogroup iomodule_v2_1
+* @{
+* @details
 *
 * Contains required functions for the XIOModule UART driver interrupt mode.
 * See the xiomodule.h header file for more details on this driver.
@@ -742,3 +745,4 @@ void XIOModule_Uart_EnableInterrupt(XIOModule *InstancePtr)
 	XIomodule_Out32(InstancePtr->BaseAddress + XIN_IER_OFFSET, NewIER);
 	InstancePtr->CurrentIER = NewIER;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu.c b/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu.c
index 42ea2b58..b3ba86b3 100644
--- a/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu.c
+++ b/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xipipsu.c
+* @addtogroup ipipsu_v1_0
+* @{
+* @details
 *
 * This file contains the implementation of the interface functions for XIpiPsu
 * driver. Refer to the header file xipipsu.h for more detailed information.
@@ -345,3 +348,4 @@ XStatus XIpiPsu_WriteMessage(XIpiPsu *InstancePtr, u32 TargetMask, u32 *MsgPtr,
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu.h b/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu.h
index 81edd534..7eb8e546 100644
--- a/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu.h
+++ b/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu.h
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
  * @file xipipsu.h
+* @addtogroup ipipsu_v1_0
+* @{
+* @details
  *
  * This is the header file for implementation of IPIPSU driver.
  * Inter Processor Interrupt (IPI) is used for communication between
@@ -275,3 +278,4 @@ XStatus XIpiPsu_WriteMessage(XIpiPsu *InstancePtr, u32 DestCpuMask, u32 *MsgPtr,
 		u32 MsgLength, u8 BufType);
 
 #endif /* XIPIPSU_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu_hw.h b/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu_hw.h
index 2f3fb083..7e31fdfa 100644
--- a/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu_hw.h
+++ b/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu_hw.h
@@ -32,6 +32,9 @@
 /**
 *
 * @file xipipsu_hw.h
+* @addtogroup ipipsu_v1_0
+* @{
+* @details
 *
 * This file contains macro definitions for low level HW related params
 *
@@ -74,3 +77,4 @@
 #define XIPIPSU_ALL_MASK	0x0F0F0301U
 
 #endif /* XIPIPSU_HW_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu_sinit.c b/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu_sinit.c
index b09bf7b9..8ebe73bc 100644
--- a/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu_sinit.c
+++ b/XilinxProcessorIPLib/drivers/ipipsu/src/xipipsu_sinit.c
@@ -32,6 +32,9 @@
 /**
 *
 * @file xipipsu_sinit.c
+* @addtogroup ipipsu_v1_0
+* @{
+* @details
 *
 * The implementation of the XIpiPsu component's static initialization
 * functionality.
@@ -85,3 +88,4 @@ XIpiPsu_Config *XIpiPsu_LookupConfig(u32 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo.c b/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo.c
index d76b704f..9dc016e1 100644
--- a/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo.c
+++ b/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xllfifo.c
+* @addtogroup llfifo_v5_0
+* @{
+* @details
  *
  * The Xilinx local link FIFO driver component. This driver supports the
  * Xilinx xps_ll_fifo core.
@@ -493,3 +496,4 @@ void XLlFifo_Initialize(XLlFifo *InstancePtr, u32 BaseAddress)
 			(XStrm_SetLenFnType)XLlFifo_iTxSetLen,
 			(XStrm_GetVacancyFnType)XLlFifo_iTxVacancy);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo.h b/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo.h
index 08b8219c..0afb3828 100644
--- a/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo.h
+++ b/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo.h
@@ -33,6 +33,9 @@
 /**
  *
  * @file xllfifo.h
+* @addtogroup llfifo_v5_0
+* @{
+* @details
  *
  * The Xilinx Dual Channel Fifo driver component. This driver supports the
  * Virtex-5(TM) and Virtex-4(TM) XPS_ll_Fifo and the AxiFifo.
@@ -709,3 +712,4 @@ void XLlFifo_TxPutWord(XLlFifo *InstancePtr, u32 Word);
 }
 #endif
 #endif				/* XLLFIFO_H  end of preprocessor protection symbols */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_g.c b/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_g.c
index 628a946e..1ed23195 100644
--- a/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_g.c
+++ b/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtrafgen_g.c
+* @addtogroup llfifo_v5_0
+* @{
+* @details
 *
 * Provide a template for user to define their own hardware settings.
 *
@@ -64,3 +67,4 @@ XLlFifo_Config XLlFifo_ConfigTable[] =
 		XPAR_AXI_FIFO_MM_S_1_DATA_INTERFACE_TYPE
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_hw.h b/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_hw.h
index 0c453bdf..6cb87b55 100644
--- a/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_hw.h
+++ b/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xllfifo_hw.h
+* @addtogroup llfifo_v5_0
+* @{
+* @details
 *
 * This header file contains identifiers and low-level driver functions (or
 * macros) that can be used to access the xps_ll_fifo core.
@@ -237,3 +240,4 @@ extern u32 _xllfifo_rr_value;
 }
 #endif
 #endif				/* XLLFIFO_HW_H  end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_sinit.c b/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_sinit.c
index f6108ffb..80a04bf1 100644
--- a/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_sinit.c
+++ b/XilinxProcessorIPLib/drivers/llfifo/src/xllfifo_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtrafgen_sinit.c
+* @addtogroup llfifo_v5_0
+* @{
+* @details
 *
 * This file contains static initialzation functionality for Axi Streaming FIFO
 * driver.
@@ -83,3 +86,4 @@ XLlFifo_Config *XLlFfio_LookupConfig(u32 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/llfifo/src/xstreamer.c b/XilinxProcessorIPLib/drivers/llfifo/src/xstreamer.c
index f619472e..f0f92273 100644
--- a/XilinxProcessorIPLib/drivers/llfifo/src/xstreamer.c
+++ b/XilinxProcessorIPLib/drivers/llfifo/src/xstreamer.c
@@ -31,6 +31,9 @@
 ******************************************************************************/
 /*
 * @file xstreamer.c
+* @addtogroup llfifo_v5_0
+* @{
+* @details
 *
 * See xtreamer.h for a description on how to use this driver.
 *
@@ -511,3 +514,4 @@ void XStrm_Write(XStrm_TxFifoStreamer *InstancePtr, void *BufPtr,
 		}
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/llfifo/src/xstreamer.h b/XilinxProcessorIPLib/drivers/llfifo/src/xstreamer.h
index 6250b73c..01103f6f 100644
--- a/XilinxProcessorIPLib/drivers/llfifo/src/xstreamer.h
+++ b/XilinxProcessorIPLib/drivers/llfifo/src/xstreamer.h
@@ -32,6 +32,9 @@
 /*
  *
  * @file xstreamer.h
+* @addtogroup llfifo_v5_0
+* @{
+* @details
  *
  * The Xilinx byte streamer for packet FIFOs.
  *
@@ -328,3 +331,4 @@ void XStrm_Read(XStrm_RxFifoStreamer *InstancePtr, void *BufPtr,
 }
 #endif
 #endif				/* XSTREAMER_H  end of preprocessor protection symbols */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/mbox/src/xmbox.c b/XilinxProcessorIPLib/drivers/mbox/src/xmbox.c
index 974f5d19..d48c8f61 100644
--- a/XilinxProcessorIPLib/drivers/mbox/src/xmbox.c
+++ b/XilinxProcessorIPLib/drivers/mbox/src/xmbox.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xmbox.c
+* @addtogroup mbox_v4_0
+* @{
+* @details
 *
 * Contains required functions for the XMbox driver.
 *
@@ -663,4 +666,5 @@ u32 XMbox_GetStatus(XMbox *InstancePtr)
 				XMB_STATUS_REG_OFFSET);
 	return Value;
 
-}
\ No newline at end of file
+}
+/** @} */
\ No newline at end of file
diff --git a/XilinxProcessorIPLib/drivers/mbox/src/xmbox.h b/XilinxProcessorIPLib/drivers/mbox/src/xmbox.h
index 394a7c8d..b358b097 100644
--- a/XilinxProcessorIPLib/drivers/mbox/src/xmbox.h
+++ b/XilinxProcessorIPLib/drivers/mbox/src/xmbox.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xmbox.h
+* @addtogroup mbox_v4_0
+* @{
+* @details
 *
 * The Xilinx mailbox driver. This driver supports the Xilinx
 * Mailbox device. More detailed description of the driver operation can
@@ -225,3 +228,4 @@ XMbox_Config *XMbox_LookupConfig(u16 DeviceId);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/mbox/src/xmbox_g.c b/XilinxProcessorIPLib/drivers/mbox/src/xmbox_g.c
index 54dad297..899962ad 100644
--- a/XilinxProcessorIPLib/drivers/mbox/src/xmbox_g.c
+++ b/XilinxProcessorIPLib/drivers/mbox/src/xmbox_g.c
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
 * @file xmbox_g.c
+* @addtogroup mbox_v4_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration
 * of Mbox devices in the system.
@@ -74,3 +77,4 @@ XMbox_Config XMbox_ConfigTable[] =
 		XPAR_XMBOX_0_RECV_ID
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/mbox/src/xmbox_hw.h b/XilinxProcessorIPLib/drivers/mbox/src/xmbox_hw.h
index 0a9dfd2e..435e7128 100644
--- a/XilinxProcessorIPLib/drivers/mbox/src/xmbox_hw.h
+++ b/XilinxProcessorIPLib/drivers/mbox/src/xmbox_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xmbox_hw.h
+* @addtogroup mbox_v4_0
+* @{
+* @details
 *
 * This header file contains identifiers and driver macros that can be used to
 * access the device. The user should refer to the hardware device specification
@@ -352,3 +355,4 @@ Full;					\
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/mbox/src/xmbox_sinit.c b/XilinxProcessorIPLib/drivers/mbox/src/xmbox_sinit.c
index 79c48436..a437ac4a 100644
--- a/XilinxProcessorIPLib/drivers/mbox/src/xmbox_sinit.c
+++ b/XilinxProcessorIPLib/drivers/mbox/src/xmbox_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xmbox_sinit.c
+* @addtogroup mbox_v4_0
+* @{
+* @details
 *
 * Implements static initialization
 * See xmbox.h for more information about the component.
@@ -92,3 +95,4 @@ XMbox_Config *XMbox_LookupConfig(u16 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/mig_7series/src/xmig_7series.h b/XilinxProcessorIPLib/drivers/mig_7series/src/xmig_7series.h
index dcd05c10..12b2884c 100644
--- a/XilinxProcessorIPLib/drivers/mig_7series/src/xmig_7series.h
+++ b/XilinxProcessorIPLib/drivers/mig_7series/src/xmig_7series.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xmig_7series.h
+* @addtogroup mig_7series_v2_0
+* @{
+* @details
 * This driver exists only to allow the SDK tools to create a memory test
 * application and to populate xparameters.h with memory range constants.
 * There is no source code.
@@ -40,3 +43,4 @@
 * 2.0   adk  19/12/13 Updated as per the New Tcl API's
 *
 ******************************************************************************/
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/mutex/src/xmutex.c b/XilinxProcessorIPLib/drivers/mutex/src/xmutex.c
index 06a7637c..8b7c4149 100644
--- a/XilinxProcessorIPLib/drivers/mutex/src/xmutex.c
+++ b/XilinxProcessorIPLib/drivers/mutex/src/xmutex.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xmutex.c
+* @addtogroup mutex_v4_0
+* @{
+* @details
 *
 * Contains required functions for the XMutex driver.
 *
@@ -380,3 +383,4 @@ int XMutex_SetUser(XMutex *InstancePtr, u8 MutexNumber, u32 User)
 
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/mutex/src/xmutex.h b/XilinxProcessorIPLib/drivers/mutex/src/xmutex.h
index e7f1f632..22c04a05 100644
--- a/XilinxProcessorIPLib/drivers/mutex/src/xmutex.h
+++ b/XilinxProcessorIPLib/drivers/mutex/src/xmutex.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xmutex.h
+* @addtogroup mutex_v4_0
+* @{
+* @details
 *
 * The Xilinx Mutex driver. This driver supports the Xilinx Mutex Core. More
 * detailed description of the driver operation can be found in the xmutex.c
@@ -177,3 +180,4 @@ int XMutex_SelfTest(XMutex *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/mutex/src/xmutex_g.c b/XilinxProcessorIPLib/drivers/mutex/src/xmutex_g.c
index 6f2ed504..ceb146c6 100644
--- a/XilinxProcessorIPLib/drivers/mutex/src/xmutex_g.c
+++ b/XilinxProcessorIPLib/drivers/mutex/src/xmutex_g.c
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
 * @file xmutex_g.c
+* @addtogroup mutex_v4_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration
 * of Mutex devices in the system.
@@ -71,3 +74,4 @@ XMutex_Config XMutex_ConfigTable[] =
 		XPAR_MUTEX_0_ENABLE_USER
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/mutex/src/xmutex_hw.h b/XilinxProcessorIPLib/drivers/mutex/src/xmutex_hw.h
index 825bd834..72aa3638 100644
--- a/XilinxProcessorIPLib/drivers/mutex/src/xmutex_hw.h
+++ b/XilinxProcessorIPLib/drivers/mutex/src/xmutex_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xmutex_hw.h
+* @addtogroup mutex_v4_0
+* @{
+* @details
 *
 * This header file contains identifiers/definitions and macros that can be used
 * to access the device.  The user should refer to the hardware device
@@ -156,3 +159,4 @@ extern "C" {
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/mutex/src/xmutex_selftest.c b/XilinxProcessorIPLib/drivers/mutex/src/xmutex_selftest.c
index 16c1c1cf..8f684c58 100644
--- a/XilinxProcessorIPLib/drivers/mutex/src/xmutex_selftest.c
+++ b/XilinxProcessorIPLib/drivers/mutex/src/xmutex_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xmutex_selftest.c
+* @addtogroup mutex_v4_0
+* @{
+* @details
 *
 * Contains XMutex driver selftest code.
 *
@@ -131,3 +134,4 @@ int XMutex_SelfTest(XMutex *InstancePtr)
 
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/mutex/src/xmutex_sinit.c b/XilinxProcessorIPLib/drivers/mutex/src/xmutex_sinit.c
index 6a1795c8..d32c2ffb 100644
--- a/XilinxProcessorIPLib/drivers/mutex/src/xmutex_sinit.c
+++ b/XilinxProcessorIPLib/drivers/mutex/src/xmutex_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xmutex_sinit.c
+* @addtogroup mutex_v4_0
+* @{
+* @details
 *
 * Implements static initialization
 * See xmutex.h for more information about the driver.
@@ -92,3 +95,4 @@ XMutex_Config *XMutex_LookupConfig(u16 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandps/src/xnandps.c b/XilinxProcessorIPLib/drivers/nandps/src/xnandps.c
index 963eda21..91cf7c12 100644
--- a/XilinxProcessorIPLib/drivers/nandps/src/xnandps.c
+++ b/XilinxProcessorIPLib/drivers/nandps/src/xnandps.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandps.c
+* @addtogroup nandps_v2_2
+* @{
+* @details
 *
 * This file contains the implementation of the interface functions for
 * XNandPs driver. Refer to the header file xnandps.h for more detailed
@@ -1973,3 +1976,4 @@ static void XNandPs_WriteBuf(XNandPs *InstancePtr, u8 *Buf, u32 Length)
 		XNandPs_WriteReg(InstancePtr->DataPhaseAddr, Ptr[Index]);
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandps/src/xnandps.h b/XilinxProcessorIPLib/drivers/nandps/src/xnandps.h
index a8e628f4..f7388557 100644
--- a/XilinxProcessorIPLib/drivers/nandps/src/xnandps.h
+++ b/XilinxProcessorIPLib/drivers/nandps/src/xnandps.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandps.h
+* @addtogroup nandps_v2_2
+* @{
+* @details
 *
 * This file implements a driver for the NAND flash controller.
 *
@@ -448,3 +451,4 @@ int XNandPs_EraseBlock(XNandPs *InstancePtr, u32 BlockNum);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_bbm.c b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_bbm.c
index 6c194502..7b8eb29d 100644
--- a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_bbm.c
+++ b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_bbm.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandps_bbm.c
+* @addtogroup nandps_v2_2
+* @{
+* @details
 * This file implements the Bad Block Management (BBM) functionality.
 * See xnandps_bbm.h for more details.
 *
@@ -867,3 +870,4 @@ int XNandPs_MarkBlockBad(XNandPs *InstancePtr, u32 Block)
 	}
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_bbm.h b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_bbm.h
index eace4824..d8a1ba22 100644
--- a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_bbm.h
+++ b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_bbm.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandps_bbm.h
+* @addtogroup nandps_v2_2
+* @{
+* @details
 *
 * This file implements the Bad Block Management(BBM) functionality. This is
 * similar to the Bad Block Management which is a part of the MTD subsystem in
@@ -183,3 +186,4 @@ int XNandPs_MarkBlockBad(XNandPs *InstancePtr, u32 Block);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_g.c b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_g.c
index 047c29d5..c59ce747 100644
--- a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_g.c
+++ b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandps_g.c
+* @addtogroup nandps_v2_2
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration
 * of NAND flash devices in the system.
@@ -82,3 +85,4 @@ XNandPs_Config XNandPs_ConfigTable[XPAR_XNANDPS_NUM_INSTANCES] =
 		XPAR_XNANDPS_0_FLASH_WIDTH	/**< Flash data width */
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_hw.h b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_hw.h
index 86282d7e..a5d3cc88 100644
--- a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_hw.h
+++ b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandps_hw.h
+* @addtogroup nandps_v2_2
+* @{
+* @details
 *
 * This file contains identifiers and low-level macros/functions for the NAND
 * Flash controller driver.
@@ -568,3 +571,4 @@ extern "C" {
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_onfi.c b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_onfi.c
index d7bbfb8f..052dd56e 100644
--- a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_onfi.c
+++ b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_onfi.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandps_onfi.c
+* @addtogroup nandps_v2_2
+* @{
+* @details
 *
 * This module implements the ONFI specific commands.
 * See xnandps_onfi.h for more information.
@@ -652,3 +655,4 @@ int Onfi_NandInit(XNandPs *InstancePtr)
 
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_onfi.h b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_onfi.h
index dc2cf7bc..d02edb4d 100644
--- a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_onfi.h
+++ b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_onfi.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandps_onfi.h
+* @addtogroup nandps_v2_2
+* @{
+* @details
 *
 * This file implements ONFI specific commands which are used to get the
 * parameter page information.
@@ -320,3 +323,4 @@ typedef struct {
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_sinit.c b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_sinit.c
index 6b934a2b..f4e9283d 100644
--- a/XilinxProcessorIPLib/drivers/nandps/src/xnandps_sinit.c
+++ b/XilinxProcessorIPLib/drivers/nandps/src/xnandps_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandps_sinit.c
+* @addtogroup nandps_v2_2
+* @{
+* @details
 *
 * This file contains the implementation of the XNand driver's static
 * initialization functionality.
@@ -96,3 +99,4 @@ XNandPs_Config *XNandPs_LookupConfig(u16 DeviceId)
 	}
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu.c b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu.c
index 784479e7..47c720af 100644
--- a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu.c
+++ b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandpsu.c
+* @addtogroup nandpsu_v1_0
+* @{
+* @details
 *
 * This file contains the implementation of the interface functions for
 * XNandPsu driver. Refer to the header file xnandpsu.h for more detailed
@@ -4188,3 +4191,4 @@ void XNandPsu_Prepare_Cmd(XNandPsu *InstancePtr, u8 Cmd1, u8 Cmd2, u8 EccState,
 	XNandPsu_WriteReg((InstancePtr)->Config.BaseAddress,
 			XNANDPSU_CMD_OFFSET, RegValue);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu.h b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu.h
index 612ec428..ebbe456b 100644
--- a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu.h
+++ b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandpsu.h
+* @addtogroup nandpsu_v1_0
+* @{
+* @details
 *
 * This file implements a driver to support Arasan NAND controller
 * present in Zynq Ultrascale Mp.
@@ -582,3 +585,4 @@ XNandPsu_Config *XNandPsu_LookupConfig(u16 DevID);
 #endif
 
 #endif /* XNANDPSU_H end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_bbm.c b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_bbm.c
index da847aa3..c426fde7 100644
--- a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_bbm.c
+++ b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_bbm.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandpsu_bbm.c
+* @addtogroup nandpsu_v1_0
+* @{
+* @details
 *
 * This file implements the Bad Block Management (BBM) functionality.
 * See xnandpsu_bbm.h for more details.
@@ -1085,3 +1088,4 @@ s32 XNandPsu_MarkBlockBad(XNandPsu *InstancePtr, u32 Block)
 Out:
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_bbm.h b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_bbm.h
index 7ebb366d..2d2559e5 100644
--- a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_bbm.h
+++ b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_bbm.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandpsu_bbm.h
+* @addtogroup nandpsu_v1_0
+* @{
+* @details
 *
 * This file implements the Bad Block Management(BBM) functionality. This is
 * similar to the Bad Block Management which is a part of the MTD subsystem in
@@ -205,3 +208,4 @@ s32 XNandPsu_IsBlockBad(XNandPsu *InstancePtr, u32 Block);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_g.c b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_g.c
index a7ba8110..27b5ff5c 100644
--- a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_g.c
+++ b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandpsu_g.c
+* @addtogroup nandpsu_v1_0
+* @{
+* @details
 *
 * This file contains a configuration table where each entry is a configuration
 * structure for an XNandPsu device in the system.
@@ -68,3 +71,4 @@ XNandPsu_Config XNandPsu_ConfigTable[] = {
 		(u32)XPAR_XNANDPSU_0_BASEADDR
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_hw.h b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_hw.h
index f59b5b66..c8a0ec8a 100644
--- a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_hw.h
+++ b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandpsu_hw.h
+* @addtogroup nandpsu_v1_0
+* @{
+* @details
 *
 * This file contains identifiers and low-level macros/functions for the Arasan
 * NAND flash controller driver.
@@ -502,3 +505,4 @@ extern "C" {
 #endif
 
 #endif /* XNANDPSU_HW_H end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_onfi.c b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_onfi.c
index 8f4e1802..80a88f8e 100644
--- a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_onfi.c
+++ b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_onfi.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandpsu_onfi.c
+* @addtogroup nandpsu_v1_0
+* @{
+* @details
 *
 * This file contains the implementation of ONFI specific functions.
 *
@@ -112,3 +115,4 @@ u32 XNandPsu_OnfiParamPageCrc(u8 *ParamBuf, u32 StartOff, u32 Length)
 	}
 	return Crc;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_onfi.h b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_onfi.h
index 06358877..5293b529 100644
--- a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_onfi.h
+++ b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_onfi.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandpsu_onfi.h
+* @addtogroup nandpsu_v1_0
+* @{
+* @details
 *
 * This file defines all the ONFI 3.1 specific commands and values.
 *
@@ -338,3 +341,4 @@ u32 XNandPsu_OnfiParamPageCrc(u8 *ParamBuf, u32 StartOff, u32 Length);
 #endif
 
 #endif /* XNANDPSU_ONFI_H end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_sinit.c b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_sinit.c
index ef532eb1..ef50c906 100644
--- a/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_sinit.c
+++ b/XilinxProcessorIPLib/drivers/nandpsu/src/xnandpsu_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xnandpsu_sinit.c
+* @addtogroup nandpsu_v1_0
+* @{
+* @details
 *
 * The implementation of the XNandPsu driver's static initialzation
 * functionality.
@@ -91,3 +94,4 @@ XNandPsu_Config *XNandPsu_LookupConfig(u16 DevID)
 
 	return (XNandPsu_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/osd/src/xosd.c b/XilinxProcessorIPLib/drivers/osd/src/xosd.c
index fb96f58a..840684a9 100644
--- a/XilinxProcessorIPLib/drivers/osd/src/xosd.c
+++ b/XilinxProcessorIPLib/drivers/osd/src/xosd.c
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xosd.c
-*
-* This file is main code of Xilinx Video On-Screen-Display (OSD) core.
-* Please see xosd.h for more details of the driver.
+/**
+*
+* @file xosd.c
+* @addtogroup osd_v4_0
+* @{
+* @details
+*
+* This file is main code of Xilinx Video On-Screen-Display (OSD) core.
+* Please see xosd.h for more details of the driver.
 *
 * 
 * MODIFICATION HISTORY:
@@ -1407,6 +1410,7 @@ static void StubCallBack(void *CallBackRef)
 static void StubErrCallBack(void *CallBackRef, u32 ErrorMask)
 {
 	(void)CallBackRef;
-	(void)ErrorMask;
-	Xil_AssertVoidAlways();
-}
+	(void)ErrorMask;
+	Xil_AssertVoidAlways();
+}
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/osd/src/xosd.h b/XilinxProcessorIPLib/drivers/osd/src/xosd.h
index bbc88d3c..3f85bb35 100644
--- a/XilinxProcessorIPLib/drivers/osd/src/xosd.h
+++ b/XilinxProcessorIPLib/drivers/osd/src/xosd.h
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xosd.h
-*
-* This is main header file of the Xilinx On-Screen-Display (OSD) core.
-*
+/**
+*
+* @file xosd.h
+* @addtogroup osd_v4_0
+* @{
+* @details
+*
+* This is main header file of the Xilinx On-Screen-Display (OSD) core.
+*
 * An OSD is an image superimposed on a screen picture, commonly used by modern
 * televisions, VCRs, and DVD players to display information such as volume,
 * channel, and time.
@@ -897,6 +900,7 @@ int XOsd_SelfTest(XOsd *InstancePtr);
 
 #ifdef __cplusplus
 }
-#endif
-
-#endif /* End of protection macro */
+#endif
+
+#endif /* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/osd/src/xosd_hw.h b/XilinxProcessorIPLib/drivers/osd/src/xosd_hw.h
index 98c75bc9..8a5022a1 100644
--- a/XilinxProcessorIPLib/drivers/osd/src/xosd_hw.h
+++ b/XilinxProcessorIPLib/drivers/osd/src/xosd_hw.h
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xosd_hw.h
-*
-* This header file contains identifiers and register-level driver functions (or
-* macros) that can be used to access the Xilinx Video On-Screen-Display
+/**
+*
+* @file xosd_hw.h
+* @addtogroup osd_v4_0
+* @{
+* @details
+*
+* This header file contains identifiers and register-level driver functions (or
+* macros) that can be used to access the Xilinx Video On-Screen-Display
 * (OSD) core.
 *
 * For more information about the operation of this core, see the hardware
@@ -715,6 +718,7 @@ extern "C" {
 
 #ifdef __cplusplus
 }
-#endif
-
-#endif /* End of protection macro */
+#endif
+
+#endif /* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/osd/src/xosd_intr.c b/XilinxProcessorIPLib/drivers/osd/src/xosd_intr.c
index 7c0763ad..cd780d26 100644
--- a/XilinxProcessorIPLib/drivers/osd/src/xosd_intr.c
+++ b/XilinxProcessorIPLib/drivers/osd/src/xosd_intr.c
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xosd_intr.c
-*
-* This code contains interrupt related functions of Xilinx Video
-* On-Screen-Display core. Please see xosd.h for more details of
+/**
+*
+* @file xosd_intr.c
+* @addtogroup osd_v4_0
+* @{
+* @details
+*
+* This code contains interrupt related functions of Xilinx Video
+* On-Screen-Display core. Please see xosd.h for more details of
 * the driver.
 *
 * 
@@ -204,6 +207,7 @@ int XOsd_SetCallBack(XOsd *InstancePtr, u32 HandlerType,
 			Status = (XST_INVALID_PARAM);
 			break;
 	}
-
-	return Status;
-}
+
+	return Status;
+}
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/osd/src/xosd_selftest.c b/XilinxProcessorIPLib/drivers/osd/src/xosd_selftest.c
index 235a9c3f..c229094a 100644
--- a/XilinxProcessorIPLib/drivers/osd/src/xosd_selftest.c
+++ b/XilinxProcessorIPLib/drivers/osd/src/xosd_selftest.c
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xosd_selftest.c
-*
-* This file contains the self-test function for the OSD core.
-*
+/**
+*
+* @file xosd_selftest.c
+* @addtogroup osd_v4_0
+* @{
+* @details
+*
+* This file contains the self-test function for the OSD core.
+*
 * 
 * MODIFICATION HISTORY:
 *
@@ -102,6 +105,7 @@ int XOsd_SelfTest(XOsd *InstancePtr)
 	else {
 		Status = (XST_FAILURE);
 	}
-
-	return Status;
-}
+
+	return Status;
+}
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/osd/src/xosd_sinit.c b/XilinxProcessorIPLib/drivers/osd/src/xosd_sinit.c
index 887132f6..89e63be1 100644
--- a/XilinxProcessorIPLib/drivers/osd/src/xosd_sinit.c
+++ b/XilinxProcessorIPLib/drivers/osd/src/xosd_sinit.c
@@ -30,12 +30,15 @@
 *
 ******************************************************************************/
 /*****************************************************************************/
-/**
-*
-* @file xosd_sinit.c
-*
-* This file contains the static initialization method for Xilinx Video
-* On-Screen-Display (OSD) core.
+/**
+*
+* @file xosd_sinit.c
+* @addtogroup osd_v4_0
+* @{
+* @details
+*
+* This file contains the static initialization method for Xilinx Video
+* On-Screen-Display (OSD) core.
 *
 * 
 * MODIFICATION HISTORY:
@@ -104,6 +107,7 @@ XOsd_Config *XOsd_LookupConfig(u16 DeviceId)
 			break;
 		}
 	}
-
-	return (XOsd_Config *)CfgPtr;
-}
+
+	return (XOsd_Config *)CfgPtr;
+}
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspips/src/xqspips.c b/XilinxProcessorIPLib/drivers/qspips/src/xqspips.c
index db78f098..3ee1c620 100644
--- a/XilinxProcessorIPLib/drivers/qspips/src/xqspips.c
+++ b/XilinxProcessorIPLib/drivers/qspips/src/xqspips.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspips.c
+* @addtogroup qspips_v3_2
+* @{
+* @details
 *
 * Contains implements the interface functions of the XQspiPs driver.
 * See xqspips.h for a detailed description of the device and driver.
@@ -1564,3 +1567,4 @@ static void XQspiPs_GetReadData(XQspiPs *InstancePtr, u32 Data, u8 Size)
 		InstancePtr->RequestedBytes = 0;
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspips/src/xqspips.h b/XilinxProcessorIPLib/drivers/qspips/src/xqspips.h
index 51a0b189..b5ce8489 100644
--- a/XilinxProcessorIPLib/drivers/qspips/src/xqspips.h
+++ b/XilinxProcessorIPLib/drivers/qspips/src/xqspips.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspips.h
+* @addtogroup qspips_v3_2
+* @{
+* @details
 *
 * This file contains the implementation of the XQspiPs driver. It supports only
 * master mode. User documentation for the driver functions is contained in this
@@ -783,3 +786,4 @@ void XQspiPs_GetDelays(XQspiPs *InstancePtr, u8 *DelayNss, u8 *DelayBtwn,
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_g.c b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_g.c
index 424e582a..97bf1a80 100644
--- a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_g.c
+++ b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspips_g.c
+* @addtogroup qspips_v3_2
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * QSPI devices in the system.
@@ -78,3 +81,4 @@ XQspiPs_Config XQspiPs_ConfigTable[XPAR_XQSPIPS_NUM_INSTANCES] = {
 		XPAR_XQSPIPS_0_QSPI_MODE
 	},
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_hw.c b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_hw.c
index edd49fdd..a8ffaad9 100644
--- a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_hw.c
+++ b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_hw.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspips_hw.c
+* @addtogroup qspips_v3_2
+* @{
+* @details
 *
 * Contains low level functions, primarily reset related.
 *
@@ -219,3 +222,4 @@ void XQspiPs_LinearInit(u32 BaseAddress)
 				XQSPIPS_ER_ENABLE_MASK);
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_hw.h b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_hw.h
index 6f21d52a..8ecd4acc 100644
--- a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_hw.h
+++ b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspips_hw.h
+* @addtogroup qspips_v3_2
+* @{
+* @details
 *
 * This header file contains the identifiers and basic HW access driver
 * functions (or  macros) that can be used to access the device. Other driver
@@ -418,3 +421,4 @@ void XQspiPs_LinearInit(u32 BaseAddress);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_options.c b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_options.c
index 15b38b36..19bccb3a 100644
--- a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_options.c
+++ b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_options.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspips_options.c
+* @addtogroup qspips_v3_2
+* @{
+* @details
 *
 * Contains functions for the configuration of the XQspiPs driver component.
 *
@@ -423,3 +426,4 @@ void XQspiPs_GetDelays(XQspiPs *InstancePtr, u8 *DelayNss, u8 *DelayBtwn,
 	*DelayNss = (u8)((DelayRegister & XQSPIPS_DR_NSS_MASK) >>
 			  XQSPIPS_DR_NSS_SHIFT);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_selftest.c b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_selftest.c
index 32174994..6777a47e 100644
--- a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_selftest.c
+++ b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspips_selftest.c
+* @addtogroup qspips_v3_2
+* @{
+* @details
 *
 * This file contains the implementation of selftest function for the QSPI
 * device.
@@ -134,3 +137,4 @@ int XQspiPs_SelfTest(XQspiPs *InstancePtr)
 
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_sinit.c b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_sinit.c
index d636602d..3aa53108 100644
--- a/XilinxProcessorIPLib/drivers/qspips/src/xqspips_sinit.c
+++ b/XilinxProcessorIPLib/drivers/qspips/src/xqspips_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspips_sinit.c
+* @addtogroup qspips_v3_2
+* @{
+* @details
 *
 * The implementation of the XQspiPs component's static initialization
 * functionality.
@@ -95,3 +98,4 @@ XQspiPs_Config *XQspiPs_LookupConfig(u16 DeviceId)
 	}
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu.c b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu.c
index 2014ff87..45cc03f0 100644
--- a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu.c
+++ b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspipsu.c
+* @addtogroup qspipsu_v1_0
+* @{
+* @details
 *
 * This file implements the functions required to use the QSPIPSU hardware to
 * perform a transfer. These are accessible to the user via xqspipsu.h.
@@ -1281,3 +1284,4 @@ static inline void XQspiPsu_ReadRxFifo(XQspiPsu *InstancePtr,
 		}
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu.h b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu.h
index 53d67c62..142b7903 100644
--- a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu.h
+++ b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspipsu.h
+* @addtogroup qspipsu_v1_0
+* @{
+* @details
 *
 * This is the header file for the implementation of QSPIPSU driver.
 * Generic QSPI interface allows for communication to any QSPI slave device.
@@ -262,3 +265,4 @@ s32 XQspiPsu_SetReadMode(XQspiPsu *InstancePtr, u32 Mode);
 
 
 #endif /* XQSPIPSU_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_g.c b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_g.c
index e58796c1..8ecb99d2 100644
--- a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_g.c
+++ b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspipsu_g.c
+* @addtogroup qspipsu_v1_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * QSPIPSU devices in the system.
@@ -80,3 +83,4 @@ XQspiPsu_Config XQspiPsu_ConfigTable[XPAR_XQSPIPSU_NUM_INSTANCES] = {
 		XPAR_XQSPIPSU_0_QSPI_BUS_WIDTH
 	},
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_hw.h b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_hw.h
index 427ef51a..48f376d9 100644
--- a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_hw.h
+++ b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspipsu_hw.h
+* @addtogroup qspipsu_v1_0
+* @{
+* @details
 *
 * This file contains low level access funcitons using the base address
 * directly without an instance.
@@ -836,3 +839,4 @@ extern "C" {
 
 
 #endif /* _XQSPIPSU_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_options.c b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_options.c
index 62a3d205..06c6462c 100644
--- a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_options.c
+++ b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_options.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspipsu_options.c
+* @addtogroup qspipsu_v1_0
+* @{
+* @details
 *
 * This file implements funcitons to configure the QSPIPSU component,
 * specifically some optional settings, clock and flash related information.
@@ -444,3 +447,4 @@ s32 XQspiPsu_SetReadMode(XQspiPsu *InstancePtr, u32 Mode)
 	}
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_sinit.c b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_sinit.c
index 4bf26ef8..b5c412ab 100644
--- a/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_sinit.c
+++ b/XilinxProcessorIPLib/drivers/qspipsu/src/xqspipsu_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xqspipsu_sinit.c
+* @addtogroup qspipsu_v1_0
+* @{
+* @details
 *
 * The implementation of the XQspiPsu component's static initialization
 * functionality.
@@ -95,3 +98,4 @@ XQspiPsu_Config *XQspiPsu_LookupConfig(u16 DeviceId)
 	}
 	return (XQspiPsu_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb.c b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb.c
index ed8dcc5c..a1b624c5 100644
--- a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb.c
+++ b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrgb2ycrcb.c
+* @addtogroup rgb2ycrcb_v7_0
+* @{
+* @details
 *
 * This file contains the implementation of the interface functions for
 * RGB2YCRCB driver. Refer to the header file xrgb2ycrcb.h for more detailed
@@ -1435,3 +1438,4 @@ static void StubErrCallBack(void *CallBackRef, u32 ErrorMask)
 	Xil_AssertVoidAlways();
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb.h b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb.h
index f4704066..fbed1416 100644
--- a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb.h
+++ b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrgb2ycrcb.h
+* @addtogroup rgb2ycrcb_v7_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level driver functions (or
 * macros), range macros, structure typedefs that can be used to access the
@@ -838,3 +841,4 @@ int XRgb2YCrCb_SetCallBack(XRgb2YCrCb *InstancePtr, u32 HandlerType,
 #endif
 
 #endif /* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_hw.h b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_hw.h
index 32bd55fe..faec1471 100644
--- a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_hw.h
+++ b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrgb2ycrcb_hw.h
+* @addtogroup rgb2ycrcb_v7_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level driver functions (or
 * macros) that can be used to access the Xilinx RGB to YCrCb color space
@@ -369,3 +372,4 @@ extern "C" {
 #endif
 
 #endif /* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_intr.c b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_intr.c
index 8027e3d8..3aec5908 100644
--- a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_intr.c
+++ b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrgb2ycrcb_intr.c
+* @addtogroup rgb2ycrcb_v7_0
+* @{
+* @details
 *
 * This file contains interrupt related functions for the RGB2YCRCB core.
 * Please see xrgb2crcb.h for more details of the driver.
@@ -200,3 +203,4 @@ int XRgb2YCrCb_SetCallBack(XRgb2YCrCb *InstancePtr, u32 HandlerType,
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_selftest.c b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_selftest.c
index 61112f8e..b1a3595f 100644
--- a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_selftest.c
+++ b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrgb2ycrcb_selftest.c
+* @addtogroup rgb2ycrcb_v7_0
+* @{
+* @details
 *
 * This file contains the self-test function for the RGB2YCRCB core.
 *
@@ -106,3 +109,4 @@ int XRgb2YCrCb_SelfTest(XRgb2YCrCb *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_sinit.c b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_sinit.c
index 28b8e8d8..283d386e 100644
--- a/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_sinit.c
+++ b/XilinxProcessorIPLib/drivers/rgb2ycrcb/src/xrgb2ycrcb_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrgb2ycrcb_sinit.c
+* @addtogroup rgb2ycrcb_v7_0
+* @{
+* @details
 *
 * This file contains static initialization function for RGB2YCRCB core.
 *
@@ -108,3 +111,4 @@ XRgb2YCrCb_Config *XRgb2YCrCb_LookupConfig(u16 DeviceId)
 
 	return (XRgb2YCrCb_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu.c b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu.c
index b7439483..07efd5fb 100644
--- a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu.c
+++ b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrtcpsu.c
+* @addtogroup rtcpsu_v1_0
+* @{
+* @details
 *
 * Functions in this file are the minimum required functions for the XRtcPsu
 * driver. See xrtcpsu.h for a detailed description of the driver.
@@ -411,3 +414,4 @@ u32 XRtcPsu_IsAlarmEventGenerated(XRtcPsu *InstancePtr)
 	}
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu.h b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu.h
index 46bf5870..2f0eeb81 100644
--- a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu.h
+++ b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu.h
@@ -32,6 +32,9 @@
 /*****************************************************************************/
 /**
 * @file xrtcpsu.h
+* @addtogroup rtcpsu_v1_0
+* @{
+* @details
 *
 * The Xilinx RTC driver component.  This component supports the Xilinx
 * RTC Controller. RTC Core and RTC controller are the two main important sub-
@@ -379,3 +382,4 @@ XRtcPsu_Config *XRtcPsu_LookupConfig(u16 DeviceId);
 
 
 #endif /* XRTC_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_g.c b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_g.c
index 90849d61..b36b163e 100644
--- a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_g.c
+++ b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrtcpsu_g.c
+* @addtogroup rtcpsu_v1_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration
 * of CAN devices in the system.
@@ -76,3 +79,4 @@ XRtcPsu_Config XRtcPsu_ConfigTable[XPAR_XRTCPSU_NUM_INSTANCES] = {
 		(u32)XPAR_XRTCPSU_0_BASEADDR	/* Base address of device */
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_hw.h b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_hw.h
index 6e6a054d..fde2cfe5 100644
--- a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_hw.h
+++ b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrtcpsu_hw.h
+* @addtogroup rtcpsu_v1_0
+* @{
+* @details
 *
 * This header file contains the identifiers and basic driver functions (or
 * macros) that can be used to access the device. Other driver functions
@@ -355,3 +358,4 @@ extern "C" {
 #endif
 
 #endif /* XRTC_HW_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_intr.c b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_intr.c
index ffdd6184..9749a60e 100644
--- a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_intr.c
+++ b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrtcpsu_intr.c
+* @addtogroup rtcpsu_v1_0
+* @{
+* @details
 *
 * This file contains functions related to RTC interrupt handling.
 *
@@ -227,3 +230,4 @@ void XRtcPsu_InterruptHandler(XRtcPsu *InstancePtr)
 	}
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_selftest.c b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_selftest.c
index 8248d8a8..29071615 100644
--- a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_selftest.c
+++ b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrtcpsu_selftest.c
+* @addtogroup rtcpsu_v1_0
+* @{
+* @details
 *
 * This file contains the self-test functions for the XRtcPsu driver.
 *
@@ -107,3 +110,4 @@ s32 XRtcPsu_SelfTest(XRtcPsu *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_sinit.c b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_sinit.c
index d987ca85..a5d6a93e 100644
--- a/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_sinit.c
+++ b/XilinxProcessorIPLib/drivers/rtcpsu/src/xrtcpsu_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xrtcpsu_sinit.c
+* @addtogroup rtcpsu_v1_0
+* @{
+* @details
 *
 * This file contains the implementation of the XRtcPsu driver's static
 * initialization functionality.
@@ -97,3 +100,4 @@ XRtcPsu_Config *XRtcPsu_LookupConfig(u16 DeviceId)
 
 	return (XRtcPsu_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scaler/src/xscaler.c b/XilinxProcessorIPLib/drivers/scaler/src/xscaler.c
index f496c34c..3a653fef 100644
--- a/XilinxProcessorIPLib/drivers/scaler/src/xscaler.c
+++ b/XilinxProcessorIPLib/drivers/scaler/src/xscaler.c
@@ -32,6 +32,9 @@
 /**
 *
 * @file xscaler.c
+* @addtogroup scaler_v7_0
+* @{
+* @details
 *
 * This is main code of Xilinx MVI Video Scaler device driver. The Scaler device
 * converts a specified rectangular area of an input digital video image from
@@ -946,3 +949,4 @@ static void StubCallBack(void *CallBackRef)
 	(void)CallBackRef;
 	Xil_AssertVoidAlways();
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scaler/src/xscaler.h b/XilinxProcessorIPLib/drivers/scaler/src/xscaler.h
index c79c9020..3aaf5e22 100644
--- a/XilinxProcessorIPLib/drivers/scaler/src/xscaler.h
+++ b/XilinxProcessorIPLib/drivers/scaler/src/xscaler.h
@@ -32,6 +32,9 @@
 /**
 *
 * @file xscaler.h
+* @addtogroup scaler_v7_0
+* @{
+* @details
 *
 * This is the main header file of the Xilinx MVI Video Scaler device driver.
 * The Scaler device converts a specified rectangular area of an input digital
@@ -713,3 +716,4 @@ void XScaler_SetCallBack(XScaler *InstancePtr,
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scaler/src/xscaler_coefs.c b/XilinxProcessorIPLib/drivers/scaler/src/xscaler_coefs.c
index 24e8aa66..ad07bb5d 100644
--- a/XilinxProcessorIPLib/drivers/scaler/src/xscaler_coefs.c
+++ b/XilinxProcessorIPLib/drivers/scaler/src/xscaler_coefs.c
@@ -32,6 +32,9 @@
 /**
 *
 * @file xscaler_coefs.c
+* @addtogroup scaler_v7_0
+* @{
+* @details
 *
 * This file contains Lanczos coefficient generation for use in the Xilinx Video Scaler.
 *
@@ -271,3 +274,4 @@ s16 *XScaler_GenCoefTable(u32 Tap, u32 Phase)
 	return (XScaler_coef_table);
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scaler/src/xscaler_hw.h b/XilinxProcessorIPLib/drivers/scaler/src/xscaler_hw.h
index de223f05..9a5a0009 100644
--- a/XilinxProcessorIPLib/drivers/scaler/src/xscaler_hw.h
+++ b/XilinxProcessorIPLib/drivers/scaler/src/xscaler_hw.h
@@ -32,6 +32,9 @@
 /**
 *
 * @file xscaler_hw.h
+* @addtogroup scaler_v7_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level driver functions (or
 * macros) that can be used to access the Xilinx MVI Video Scaler device.
@@ -416,3 +419,4 @@ extern "C" {
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scaler/src/xscaler_intr.c b/XilinxProcessorIPLib/drivers/scaler/src/xscaler_intr.c
index e9ff8652..c227aa37 100644
--- a/XilinxProcessorIPLib/drivers/scaler/src/xscaler_intr.c
+++ b/XilinxProcessorIPLib/drivers/scaler/src/xscaler_intr.c
@@ -32,6 +32,9 @@
 /**
 *
 * @file xscaler_intr.c
+* @addtogroup scaler_v7_0
+* @{
+* @details
 *
 * This code contains interrupt related functions of Xilinx MVI Video Scaler
 * device driver. The Scaler device converts a specified rectangular area of an
@@ -120,3 +123,4 @@ void XScaler_SetCallBack(XScaler *InstancePtr,
 	InstancePtr->CallBackRef = CallBackRef;
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scaler/src/xscaler_sinit.c b/XilinxProcessorIPLib/drivers/scaler/src/xscaler_sinit.c
index fcba1cd6..5c1301c1 100644
--- a/XilinxProcessorIPLib/drivers/scaler/src/xscaler_sinit.c
+++ b/XilinxProcessorIPLib/drivers/scaler/src/xscaler_sinit.c
@@ -32,6 +32,9 @@
 /**
  *
  * @file xscaler_sinit.c
+* @addtogroup scaler_v7_0
+* @{
+* @details
  *
  * This file contains static initialization methods for Xilinx MVI Video Scaler
  * device driver.
@@ -93,3 +96,4 @@ XScaler_Config *XScaler_LookupConfig(u16 DeviceId)
 
 	return (CfgPtr);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer.c b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer.c
index 4db8f318..7667764f 100644
--- a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer.c
+++ b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xscutimer.c
+* @addtogroup scutimer_v2_1
+* @{
+* @details
 *
 * Contains the implementation of interface functions of the SCU Timer driver.
 * See xscutimer.h for a description of the driver.
@@ -281,3 +284,4 @@ u8 XScuTimer_GetPrescaler(XScuTimer *InstancePtr)
 
 	return (u8)(ControlReg >> XSCUTIMER_CONTROL_PRESCALER_SHIFT);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer.h b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer.h
index 309b207e..5a35f621 100644
--- a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer.h
+++ b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xscutimer.h
+* @addtogroup scutimer_v2_1
+* @{
+* @details
 *
 * The timer driver supports the Cortex A9 private timer.
 *
@@ -360,3 +363,4 @@ u8 XScuTimer_GetPrescaler(XScuTimer *InstancePtr);
 #endif
 
 #endif	/* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_g.c b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_g.c
index d7429be9..c5b46bf8 100644
--- a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_g.c
+++ b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xscutimer_g.c
+* @addtogroup scutimer_v2_1
+* @{
+* @details
 *
 * This file contains a table that specifies the configuration of the SCU
 * Timer in the system.
@@ -73,3 +76,4 @@ XScuTimer_Config XScuTimer_ConfigTable[XPAR_XSCUTIMER_NUM_INSTANCES] = {
 		(u32)XPAR_XSCUTIMER_0_BASEADDR
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_hw.h b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_hw.h
index 6edc9a06..a3c85f12 100644
--- a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_hw.h
+++ b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xscutimer_hw.h
+* @addtogroup scutimer_v2_1
+* @{
+* @details
 *
 * This file contains the hardware interface to the Timer.
 *
@@ -282,3 +285,4 @@ extern "C" {
 #endif
 
 #endif	/* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_selftest.c b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_selftest.c
index 89a9cfe4..8e8ba2e2 100644
--- a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_selftest.c
+++ b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xscutimer_selftest.c
+* @addtogroup scutimer_v2_1
+* @{
+* @details
 *
 * Contains diagnostic self-test functions for the XScuTimer driver.
 *
@@ -134,3 +137,4 @@ s32 XScuTimer_SelfTest(XScuTimer *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_sinit.c b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_sinit.c
index 571b58d9..cc76e302 100644
--- a/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_sinit.c
+++ b/XilinxProcessorIPLib/drivers/scutimer/src/xscutimer_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xscutimer_sinit.c
+* @addtogroup scutimer_v2_1
+* @{
+* @details
 *
 * This file contains method for static initialization (compile-time) of the
 * driver.
@@ -91,3 +94,4 @@ XScuTimer_Config *XScuTimer_LookupConfig(u16 DeviceId)
 
 	return (XScuTimer_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt.c b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt.c
index 167eb797..8bd8e2a8 100644
--- a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt.c
+++ b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt.c
@@ -34,6 +34,9 @@
 /**
 *
 * @file xscuwdt.c
+* @addtogroup scuwdt_v2_1
+* @{
+* @details
 *
 * Contains the implementation of interface functions of the XScuWdt driver.
 * See xscuwdt.h for a description of the driver.
@@ -213,3 +216,4 @@ void XScuWdt_Stop(XScuWdt *InstancePtr)
 	 */
 	InstancePtr->IsStarted = 0U;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt.h b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt.h
index b000a6dc..5d3b92ba 100644
--- a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt.h
+++ b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xscuwdt.h
+* @addtogroup scuwdt_v2_1
+* @{
+* @details
 *
 * The Xilinx SCU watchdog timer driver (XScuWdt) supports the Xilinx SCU private
 * watchdog timer hardware.
@@ -375,3 +378,4 @@ void XScuWdt_Stop(XScuWdt *InstancePtr);
 #endif
 
 #endif	/* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_g.c b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_g.c
index aeb582b5..08c6ab3c 100644
--- a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_g.c
+++ b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xscuwdt_g.c
+* @addtogroup scuwdt_v2_1
+* @{
+* @details
 *
 * This file contains a table that specifies the configuration of the SCU
 * watchdog timer devices in the system. Each device should have an entry
@@ -74,3 +77,4 @@ XScuWdt_Config XScuWdt_ConfigTable[XPAR_XSCUWDT_NUM_INSTANCES] = {
 		(u32)XPAR_SCUWDT_0_BASEADDR
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_hw.h b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_hw.h
index fe95844f..b7d0adef 100644
--- a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_hw.h
+++ b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xscuwdt_hw.h
+* @addtogroup scuwdt_v2_1
+* @{
+* @details
 *
 * This file contains the hardware interface to the Xilinx SCU private Watch Dog
 * Timer (XSCUWDT).
@@ -177,3 +180,4 @@ extern "C" {
 #endif
 
 #endif	/* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_selftest.c b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_selftest.c
index 1b5c073e..dae64585 100644
--- a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_selftest.c
+++ b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xscuwdt_selftest.c
+* @addtogroup scuwdt_v2_1
+* @{
+* @details
 *
 * Contains diagnostic self-test functions for the XScuWdt driver.
 *
@@ -126,3 +129,4 @@ s32 XScuWdt_SelfTest(XScuWdt *InstancePtr)
 
 	return SelfTestStatus;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_sinit.c b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_sinit.c
index daec8706..ff3d3ee4 100644
--- a/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_sinit.c
+++ b/XilinxProcessorIPLib/drivers/scuwdt/src/xscuwdt_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xscuwdt_sinit.c
+* @addtogroup scuwdt_v2_1
+* @{
+* @details
 *
 * This file contains method for static initialization (compile-time) of the
 * driver.
@@ -91,3 +94,4 @@ XScuWdt_Config *XScuWdt_LookupConfig(u16 DeviceId)
 
 	return (XScuWdt_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spi/src/xspi.c b/XilinxProcessorIPLib/drivers/spi/src/xspi.c
index c569237d..b1430407 100644
--- a/XilinxProcessorIPLib/drivers/spi/src/xspi.c
+++ b/XilinxProcessorIPLib/drivers/spi/src/xspi.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspi.c
+* @addtogroup spi_v4_1
+* @{
+* @details
 *
 * Contains required functions of the XSpi driver component.  See xspi.h for
 * a detailed description of the device and driver.
@@ -1386,3 +1389,4 @@ void XSpi_Abort(XSpi *InstancePtr)
 	InstancePtr->IsBusy = FALSE;
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spi/src/xspi.h b/XilinxProcessorIPLib/drivers/spi/src/xspi.h
index 76009741..9637852d 100644
--- a/XilinxProcessorIPLib/drivers/spi/src/xspi.h
+++ b/XilinxProcessorIPLib/drivers/spi/src/xspi.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspi.h
+* @addtogroup spi_v4_1
+* @{
+* @details
 *
 * This component contains the implementation of the XSpi component. It is the
 * driver for an SPI master or slave device. It supports 8-bit, 16-bit and 32-bit
@@ -837,3 +840,4 @@ u32 XSpi_GetOptions(XSpi *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spi/src/xspi_g.c b/XilinxProcessorIPLib/drivers/spi/src/xspi_g.c
index 09b352f9..70164d67 100644
--- a/XilinxProcessorIPLib/drivers/spi/src/xspi_g.c
+++ b/XilinxProcessorIPLib/drivers/spi/src/xspi_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspi_g.c
+* @addtogroup spi_v4_1
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * SPI devices in the system.
@@ -102,3 +105,4 @@ XSpi_Config XSpi_ConfigTable[XPAR_XSPI_NUM_INSTANCES] = {
 	 XPAR_SPI_0_USE_STARTUP		/* Startup Parameter */
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spi/src/xspi_i.h b/XilinxProcessorIPLib/drivers/spi/src/xspi_i.h
index a9b8388c..3b7b17d6 100644
--- a/XilinxProcessorIPLib/drivers/spi/src/xspi_i.h
+++ b/XilinxProcessorIPLib/drivers/spi/src/xspi_i.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspi_i.h
+* @addtogroup spi_v4_1
+* @{
+* @details
 *
 * This header file contains internal identifiers. It is intended for internal
 * use only.
@@ -86,3 +89,4 @@ extern XSpi_Config XSpi_ConfigTable[];
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spi/src/xspi_l.h b/XilinxProcessorIPLib/drivers/spi/src/xspi_l.h
index c9a8eb10..213f2a5b 100644
--- a/XilinxProcessorIPLib/drivers/spi/src/xspi_l.h
+++ b/XilinxProcessorIPLib/drivers/spi/src/xspi_l.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspi_l.h
+* @addtogroup spi_v4_1
+* @{
+* @details
 *
 * This header file contains identifiers, Register Definitions and  basic driver
 * functions (or macros) that can be used to access the device.
@@ -361,3 +364,4 @@ extern "C" {
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spi/src/xspi_options.c b/XilinxProcessorIPLib/drivers/spi/src/xspi_options.c
index 509ed239..94724e44 100644
--- a/XilinxProcessorIPLib/drivers/spi/src/xspi_options.c
+++ b/XilinxProcessorIPLib/drivers/spi/src/xspi_options.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspi_options.c
+* @addtogroup spi_v4_1
+* @{
+* @details
 *
 * Contains functions for the configuration of the XSpi driver component.
 *
@@ -220,3 +223,4 @@ u32 XSpi_GetOptions(XSpi *InstancePtr)
 
 	return OptionsFlag;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spi/src/xspi_selftest.c b/XilinxProcessorIPLib/drivers/spi/src/xspi_selftest.c
index 68ebf4ab..610b9a23 100644
--- a/XilinxProcessorIPLib/drivers/spi/src/xspi_selftest.c
+++ b/XilinxProcessorIPLib/drivers/spi/src/xspi_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspi_selftest.c
+* @addtogroup spi_v4_1
+* @{
+* @details
 *
 * This component contains the implementation of selftest functions for the
 * XSpi driver component.
@@ -358,3 +361,4 @@ static int LoopbackTest(XSpi *InstancePtr)
 
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spi/src/xspi_sinit.c b/XilinxProcessorIPLib/drivers/spi/src/xspi_sinit.c
index 6c3cf6ca..b7442c48 100644
--- a/XilinxProcessorIPLib/drivers/spi/src/xspi_sinit.c
+++ b/XilinxProcessorIPLib/drivers/spi/src/xspi_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspi_sinit.c
+* @addtogroup spi_v4_1
+* @{
+* @details
 *
 * The implementation of the XSpi component's static initialization
 * functionality.
@@ -148,3 +151,4 @@ int XSpi_Initialize(XSpi *InstancePtr, u16 DeviceId)
 				  ConfigPtr->BaseAddress);
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spi/src/xspi_stats.c b/XilinxProcessorIPLib/drivers/spi/src/xspi_stats.c
index ab10edf3..07214522 100644
--- a/XilinxProcessorIPLib/drivers/spi/src/xspi_stats.c
+++ b/XilinxProcessorIPLib/drivers/spi/src/xspi_stats.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspi_stats.c
+* @addtogroup spi_v4_1
+* @{
+* @details
 *
 * This component contains the implementation of statistics functions for the
 * XSpi driver component.
@@ -126,3 +129,4 @@ void XSpi_ClearStats(XSpi *InstancePtr)
 	InstancePtr->Stats.NumInterrupts = 0;
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spips/src/xspips.c b/XilinxProcessorIPLib/drivers/spips/src/xspips.c
index b639032e..0012fffd 100644
--- a/XilinxProcessorIPLib/drivers/spips/src/xspips.c
+++ b/XilinxProcessorIPLib/drivers/spips/src/xspips.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspips.c
+* @addtogroup spips_v3_0
+* @{
+* @details
 *
 * Contains implements the interface functions of the XSpiPs driver.
 * See xspips.h for a detailed description of the device and driver.
@@ -1125,3 +1128,4 @@ void XSpiPs_Abort(XSpiPs *InstancePtr)
 	InstancePtr->IsBusy = FALSE;
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spips/src/xspips.h b/XilinxProcessorIPLib/drivers/spips/src/xspips.h
index 3d699105..7043755d 100644
--- a/XilinxProcessorIPLib/drivers/spips/src/xspips.h
+++ b/XilinxProcessorIPLib/drivers/spips/src/xspips.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspips.h
+* @addtogroup spips_v3_0
+* @{
+* @details
 *
 * This file contains the implementation of the XSpiPs driver. It works for
 * both the master and slave mode. User documentation for the driver functions
@@ -689,3 +692,4 @@ void XSpiPs_GetDelays(XSpiPs *InstancePtr, u8 *DelayNss, u8 *DelayBtwn,
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spips/src/xspips_g.c b/XilinxProcessorIPLib/drivers/spips/src/xspips_g.c
index 1da37065..b51d0855 100644
--- a/XilinxProcessorIPLib/drivers/spips/src/xspips_g.c
+++ b/XilinxProcessorIPLib/drivers/spips/src/xspips_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspips_g.c
+* @addtogroup spips_v3_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * SPI devices in the system.
@@ -85,3 +88,4 @@ XSpiPs_Config XSpiPs_ConfigTable[XPAR_XSPIPS_NUM_INSTANCES] = {
 	}
 #endif
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spips/src/xspips_hw.c b/XilinxProcessorIPLib/drivers/spips/src/xspips_hw.c
index 3c4f510b..53c132c7 100644
--- a/XilinxProcessorIPLib/drivers/spips/src/xspips_hw.c
+++ b/XilinxProcessorIPLib/drivers/spips/src/xspips_hw.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspips_hw.c
+* @addtogroup spips_v3_0
+* @{
+* @details
 *
 * Contains the reset and post boot rom state initialization.
 * Function prototypes in xspips_hw.h
@@ -127,3 +130,4 @@ void XSpiPs_ResetHw(u32 BaseAddress)
 				XSPIPS_CR_SSCTRL_MASK);
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spips/src/xspips_hw.h b/XilinxProcessorIPLib/drivers/spips/src/xspips_hw.h
index 89734036..936d1a41 100644
--- a/XilinxProcessorIPLib/drivers/spips/src/xspips_hw.h
+++ b/XilinxProcessorIPLib/drivers/spips/src/xspips_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspips_hw.h
+* @addtogroup spips_v3_0
+* @{
+* @details
 *
 * This header file contains the identifiers and basic driver functions (or
 * macros) that can be used to access the device. Other driver functions
@@ -308,3 +311,4 @@ void XSpiPs_ResetHw(u32 BaseAddress);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spips/src/xspips_options.c b/XilinxProcessorIPLib/drivers/spips/src/xspips_options.c
index 71cbca39..7078b939 100644
--- a/XilinxProcessorIPLib/drivers/spips/src/xspips_options.c
+++ b/XilinxProcessorIPLib/drivers/spips/src/xspips_options.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspips_options.c
+* @addtogroup spips_v3_0
+* @{
+* @details
 *
 * Contains functions for the configuration of the XSpiPs driver.
 *
@@ -428,3 +431,4 @@ void XSpiPs_GetDelays(XSpiPs *InstancePtr,u8 *DelayNss, u8 *DelayBtwn,
 				XSPIPS_DR_NSS_SHIFT);
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spips/src/xspips_selftest.c b/XilinxProcessorIPLib/drivers/spips/src/xspips_selftest.c
index 780975a2..e50f9da9 100644
--- a/XilinxProcessorIPLib/drivers/spips/src/xspips_selftest.c
+++ b/XilinxProcessorIPLib/drivers/spips/src/xspips_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspips_selftest.c
+* @addtogroup spips_v3_0
+* @{
+* @details
 *
 * This component contains the implementation of selftest functions for an SPI
 * device.
@@ -154,3 +157,4 @@ s32 XSpiPs_SelfTest(XSpiPs *InstancePtr)
 
 	return (s32)XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/spips/src/xspips_sinit.c b/XilinxProcessorIPLib/drivers/spips/src/xspips_sinit.c
index 47fcee58..afd1edd7 100644
--- a/XilinxProcessorIPLib/drivers/spips/src/xspips_sinit.c
+++ b/XilinxProcessorIPLib/drivers/spips/src/xspips_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xspips_sinit.c
+* @addtogroup spips_v3_0
+* @{
+* @details
 *
 * The implementation of the XSpiPs driver's static initialization
 * functionality.
@@ -95,3 +98,4 @@ XSpiPs_Config *XSpiPs_LookupConfig(u16 DeviceId)
 	}
 	return (XSpiPs_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/srio/src/xsrio.c b/XilinxProcessorIPLib/drivers/srio/src/xsrio.c
index 9499efb1..def5ab45 100644
--- a/XilinxProcessorIPLib/drivers/srio/src/xsrio.c
+++ b/XilinxProcessorIPLib/drivers/srio/src/xsrio.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsrio.c
+* @addtogroup srio_v1_0
+* @{
+* @details
 * This file contains the required functions for the XSrio driver. See the 
 * xsrio.h header file for more details on this driver.
 *
@@ -316,3 +319,4 @@ void XSrio_GetWaterMark(XSrio *InstancePtr, u8 *WaterMark0, u8 *WaterMark1,
 			XSRIO_IMP_WCSR_WM2_SHIFT);
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/srio/src/xsrio.h b/XilinxProcessorIPLib/drivers/srio/src/xsrio.h
index fa42e83b..d72a8dd0 100644
--- a/XilinxProcessorIPLib/drivers/srio/src/xsrio.h
+++ b/XilinxProcessorIPLib/drivers/srio/src/xsrio.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsrio.h
+* @addtogroup srio_v1_0
+* @{
+* @details
 * 
 * This file contains the implementation of the SRIO Gen2 driver.
 * User documentation for the driver functions is contained in this file in the 
@@ -1543,3 +1546,4 @@ void XSrio_GetWaterMark(XSrio *InstancePtr, u8 *WaterMark0, u8 *WaterMark1,
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/srio/src/xsrio_g.c b/XilinxProcessorIPLib/drivers/srio/src/xsrio_g.c
index ee2faa73..f2c5e84d 100644
--- a/XilinxProcessorIPLib/drivers/srio/src/xsrio_g.c
+++ b/XilinxProcessorIPLib/drivers/srio/src/xsrio_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsrio_g.c
+* @addtogroup srio_v1_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * SRIO devices in the system. Each SRIO device in the system should have an entry
@@ -66,3 +69,4 @@ XSrio_Config XSrio_ConfigTable[] =
 		XPAR_SRIO_0_PE_BRIDGE
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/srio/src/xsrio_hw.h b/XilinxProcessorIPLib/drivers/srio/src/xsrio_hw.h
index 11a4628e..8f578a2f 100644
--- a/XilinxProcessorIPLib/drivers/srio/src/xsrio_hw.h
+++ b/XilinxProcessorIPLib/drivers/srio/src/xsrio_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsrio_hw.h
+* @addtogroup srio_v1_0
+* @{
+* @details
 *
 * This header file contains identifiers and macros that can be used to access
 * the Axi srio gen2 device. The driver APIs/functions are defined in
@@ -671,3 +674,4 @@ extern "C" {
 
 #endif		/* end of protection macro */
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/srio/src/xsrio_sinit.c b/XilinxProcessorIPLib/drivers/srio/src/xsrio_sinit.c
index 240b1e3a..c9f26d32 100644
--- a/XilinxProcessorIPLib/drivers/srio/src/xsrio_sinit.c
+++ b/XilinxProcessorIPLib/drivers/srio/src/xsrio_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsrio_sinit.c
+* @addtogroup srio_v1_0
+* @{
+* @details
 * 
 * This file contains static Initialization functionality for Xilinx SRIO Gen2
 * Core driver.
@@ -86,3 +89,4 @@ XSrio_Config *XSrio_LookupConfig(u32 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon.c b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon.c
index 0e85260f..c2f9976d 100644
--- a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon.c
+++ b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsysmon.c
+* @addtogroup sysmon_v7_1
+* @{
+* @details
 *
 * This file contains the driver API functions that can be used to access
 * the System Monitor/ADC device.
@@ -1892,3 +1895,4 @@ void XSysMon_SetTempWaitCycles(XSysMon *InstancePtr, u16 WaitCycles)
 	/* Store the written value in Mask */
 	InstancePtr->Mask = RegVal;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon.h b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon.h
index aa5268cb..9f4b9022 100644
--- a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon.h
+++ b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsysmon.h
+* @addtogroup sysmon_v7_1
+* @{
+* @details
 *
 * The XSysMon driver supports the Xilinx System Monitor/ADC device.
 *
@@ -632,3 +635,4 @@ void XSysMon_IntrClear(XSysMon *InstancePtr, u32 Mask);
 #endif
 
 #endif  /* End of protection macro. */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_g.c b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_g.c
index 6c16dbc8..85e2f08f 100644
--- a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_g.c
+++ b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsysmon_g.c
+* @addtogroup sysmon_v7_1
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration
 * of System Monitor/ADC devices in the system.
@@ -80,3 +83,4 @@ XSysMon_Config XSysMon_ConfigTable[XPAR_XSYSMON_NUM_INSTANCES] =
 		XPAR_SYSMON_0_INCLUDE_INTR	/**< Include interrupt module */
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_hw.h b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_hw.h
index 6229d9e5..f323a95a 100644
--- a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_hw.h
+++ b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsysmon_hw.h
+* @addtogroup sysmon_v7_1
+* @{
+* @details
 *
 * This header file contains identifiers and basic driver functions (or
 * macros) that can be used to access the System Monitor/ADC device or XADC.
@@ -681,3 +684,4 @@ extern "C" {
 #endif
 
 #endif  /* End of protection macro. */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_intr.c b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_intr.c
index 5da4dbfa..db7baf53 100644
--- a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_intr.c
+++ b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsysmon_intr.c
+* @addtogroup sysmon_v7_1
+* @{
+* @details
 *
 * This file contains interrupt handling API functions of the System Monitor/ADC
 * device.
@@ -316,3 +319,4 @@ void XSysMon_IntrClear(XSysMon *InstancePtr, u32 Mask)
 			  RegValue);
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_selftest.c b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_selftest.c
index 16f3dcf2..68f652b8 100644
--- a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_selftest.c
+++ b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsysmon_selftest.c
+* @addtogroup sysmon_v7_1
+* @{
+* @details
 *
 * This file contains a diagnostic self test function for the XSysMon driver.
 * The self test function does a simple read/write test of the Alarm Threshold
@@ -139,3 +142,4 @@ int XSysMon_SelfTest(XSysMon *InstancePtr)
 	 */
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_sinit.c b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_sinit.c
index 47f15b56..89182d62 100644
--- a/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_sinit.c
+++ b/XilinxProcessorIPLib/drivers/sysmon/src/xsysmon_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xsysmon_sinit.c
+* @addtogroup sysmon_v7_1
+* @{
+* @details
 *
 * This file contains the implementation of the XSysMon driver's static
 * initialization functionality.
@@ -98,3 +101,4 @@ XSysMon_Config *XSysMon_LookupConfig(u16 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tft/src/xtft.c b/XilinxProcessorIPLib/drivers/tft/src/xtft.c
index fa835b6c..8197c817 100644
--- a/XilinxProcessorIPLib/drivers/tft/src/xtft.c
+++ b/XilinxProcessorIPLib/drivers/tft/src/xtft.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtft.c
+* @addtogroup tft_v5_0
+* @{
+* @details
 *
 * This file defines all the functions for the XTft driver. See the xtft.h
 * header file for more details on this driver.
@@ -1005,3 +1008,4 @@ int XTft_GetVsyncStatus(XTft* InstancePtr)
 	return((XTft_ReadReg(InstancePtr, XTFT_IESR_OFFSET) &
 		XTFT_IESR_VADDRLATCH_STATUS_MASK)? TRUE : FALSE);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tft/src/xtft.h b/XilinxProcessorIPLib/drivers/tft/src/xtft.h
index e33adb5b..5f85c565 100644
--- a/XilinxProcessorIPLib/drivers/tft/src/xtft.h
+++ b/XilinxProcessorIPLib/drivers/tft/src/xtft.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtft.h
+* @addtogroup tft_v5_0
+* @{
+* @details
 *
 * This header file contains the definitions and declarations for the
 * high level driver to access the Xilinx TFT Controller Device.
@@ -227,3 +230,4 @@ int XTft_GetVsyncStatus(XTft* InstancePtr);
 
 #endif /* XTFT_H */
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tft/src/xtft_charcode.h b/XilinxProcessorIPLib/drivers/tft/src/xtft_charcode.h
index d3b17c3b..e820fcfe 100644
--- a/XilinxProcessorIPLib/drivers/tft/src/xtft_charcode.h
+++ b/XilinxProcessorIPLib/drivers/tft/src/xtft_charcode.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtft_charcode.h
+* @addtogroup tft_v5_0
+* @{
+* @details
 *
 * This file contains the macro and variable definitions of character
 * dimensions and character array of bitmaps of ASCII characters.
@@ -1545,3 +1548,4 @@ u8 XTft_VidChars[96][12] =
 #endif
 
 #endif /* XTFT_CHARCODE_H */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tft/src/xtft_g.c b/XilinxProcessorIPLib/drivers/tft/src/xtft_g.c
index c1d56fc0..84d9994d 100644
--- a/XilinxProcessorIPLib/drivers/tft/src/xtft_g.c
+++ b/XilinxProcessorIPLib/drivers/tft/src/xtft_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtft_g.c
+* @addtogroup tft_v5_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the parameters of
 * TFT devices.
@@ -77,3 +80,4 @@ XTft_Config XTft_ConfigTable[] =
 };
 
 /************************** Function Definitions ****************************/
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tft/src/xtft_hw.h b/XilinxProcessorIPLib/drivers/tft/src/xtft_hw.h
index 80fea0ce..8dd62c58 100644
--- a/XilinxProcessorIPLib/drivers/tft/src/xtft_hw.h
+++ b/XilinxProcessorIPLib/drivers/tft/src/xtft_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtft_hw.h
+* @addtogroup tft_v5_0
+* @{
+* @details
 *
 * This file defines the macros and definitions for the Xilinx TFT Controller
 * device.
@@ -125,3 +128,4 @@ extern "C" {
 #endif
 
 #endif /* XTFT_HW_H */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tft/src/xtft_sinit.c b/XilinxProcessorIPLib/drivers/tft/src/xtft_sinit.c
index e0721cd1..2d2c8dc9 100644
--- a/XilinxProcessorIPLib/drivers/tft/src/xtft_sinit.c
+++ b/XilinxProcessorIPLib/drivers/tft/src/xtft_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtft_sinit.c
+* @addtogroup tft_v5_0
+* @{
+* @details
 *
 * This file defines the implementation of Tft device static initialization
 * functionality.
@@ -96,3 +99,4 @@ XTft_Config *XTft_LookupConfig(u16 DeviceId)
 	return CfgPtr;
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr.c b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr.c
index 90e8c5bb..61cd4d6a 100644
--- a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr.c
+++ b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtmrctr.c
+* @addtogroup tmrctr_v3_0
+* @{
+* @details
 *
 * Contains required functions for the XTmrCtr driver.
 *
@@ -520,3 +523,4 @@ XTmrCtr_Config *XTmrCtr_LookupConfig(u16 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr.h b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr.h
index 1f672657..745c26c3 100644
--- a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr.h
+++ b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtmrctr.h
+* @addtogroup tmrctr_v3_0
+* @{
+* @details
 *
 * The Xilinx timer/counter component. This component supports the Xilinx
 * timer/counter. More detailed description of the driver operation can
@@ -299,3 +302,4 @@ void XTmrCtr_InterruptHandler(void *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_g.c b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_g.c
index 8cfa65ee..3b926af9 100644
--- a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_g.c
+++ b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtmrctr_g.c
+* @addtogroup tmrctr_v3_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * timer/counter devices in the system. Each timer/counter device should have
@@ -79,3 +82,4 @@ XTmrCtr_Config XTmrCtr_ConfigTable[XPAR_XTMRCTR_NUM_INSTANCES] = {
 	 XPAR_TMRCTR_0_BASEADDR	/* Device base address */
 	 }
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_i.h b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_i.h
index a6f9bc55..579d3d20 100644
--- a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_i.h
+++ b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_i.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtmrctr_i.h
+* @addtogroup tmrctr_v3_0
+* @{
+* @details
 *
 * This file contains data which is shared between files internal to the
 * XTmrCtr component. It is intended for internal use only.
@@ -77,3 +80,4 @@ extern u8 XTmrCtr_Offsets[];
 #endif
 
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_intr.c b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_intr.c
index f36fb0bd..7e9b56c8 100644
--- a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_intr.c
+++ b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtmrctr_intr.c
+* @addtogroup tmrctr_v3_0
+* @{
+* @details
 *
 * Contains interrupt-related functions for the XTmrCtr component.
 *
@@ -228,3 +231,4 @@ void XTmrCtr_InterruptHandler(void *InstancePtr)
 		}
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_l.c b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_l.c
index acdb5d51..8aa3cff8 100644
--- a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_l.c
+++ b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_l.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtmrctr_l.c
+* @addtogroup tmrctr_v3_0
+* @{
+* @details
 *
 * This file contains low-level driver functions that can be used to access the
 * device.  The user should refer to the hardware device specification for more
@@ -74,3 +77,4 @@
  * timer counters and the functions specify which one to operate on.
  */
 u8 XTmrCtr_Offsets[] = { 0, XTC_TIMER_COUNTER_OFFSET };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_l.h b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_l.h
index 8d1a65f6..0db1aed8 100644
--- a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_l.h
+++ b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_l.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtmrctr_l.h
+* @addtogroup tmrctr_v3_0
+* @{
+* @details
 *
 * This header file contains identifiers and low-level driver functions (or
 * macros) that can be used to access the device.  The user should refer to the
@@ -424,3 +427,4 @@ XTmrCtr_ReadReg((BaseAddress), (TmrCtrNumber), XTC_TLR_OFFSET)
 }
 #endif
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_options.c b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_options.c
index cc20dd00..a7d9f9c1 100644
--- a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_options.c
+++ b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_options.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtmrctr_options.c
+* @addtogroup tmrctr_v3_0
+* @{
+* @details
 *
 * Contains configuration options functions for the XTmrCtr component.
 *
@@ -212,3 +215,4 @@ u32 XTmrCtr_GetOptions(XTmrCtr * InstancePtr, u8 TmrCtrNumber)
 
 	return Options;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_selftest.c b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_selftest.c
index 4b2a6a86..de7ac1df 100644
--- a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_selftest.c
+++ b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtmrctr_selftest.c
+* @addtogroup tmrctr_v3_0
+* @{
+* @details
 *
 * Contains diagnostic/self-test functions for the XTmrCtr component.
 *
@@ -161,3 +164,4 @@ int XTmrCtr_SelfTest(XTmrCtr * InstancePtr, u8 TmrCtrNumber)
 		return XST_SUCCESS;
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_stats.c b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_stats.c
index fbf55ce6..fcfdd0c5 100644
--- a/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_stats.c
+++ b/XilinxProcessorIPLib/drivers/tmrctr/src/xtmrctr_stats.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtmrctr_stats.c
+* @addtogroup tmrctr_v3_0
+* @{
+* @details
 *
 * Contains function to get and clear statistics for the XTmrCtr component.
 *
@@ -110,3 +113,4 @@ void XTmrCtr_ClearStats(XTmrCtr * InstancePtr)
 
 	InstancePtr->Stats.Interrupts = 0;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tpg/src/xtpg.c b/XilinxProcessorIPLib/drivers/tpg/src/xtpg.c
index 778ba1ef..9a9108bd 100644
--- a/XilinxProcessorIPLib/drivers/tpg/src/xtpg.c
+++ b/XilinxProcessorIPLib/drivers/tpg/src/xtpg.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtpg.c
+* @addtogroup tpg_v3_0
+* @{
+* @details
 *
 * This file contains the implementation of the interface functions for
 * Test Pattern Generator (TPG) driver. Refer to the header file xtpg.h for more
@@ -1500,3 +1503,4 @@ static void StubErrCallBack(void *CallBackRef, u32 ErrorMask)
 	Xil_AssertVoidAlways();
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tpg/src/xtpg.h b/XilinxProcessorIPLib/drivers/tpg/src/xtpg.h
index c3458ba1..f7470ddd 100644
--- a/XilinxProcessorIPLib/drivers/tpg/src/xtpg.h
+++ b/XilinxProcessorIPLib/drivers/tpg/src/xtpg.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtpg.h
+* @addtogroup tpg_v3_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level driver functions (or
 * macros) that can be used to access the Xilinx Test Pattern Generator
@@ -721,3 +724,4 @@ int XTpg_SetCallBack(XTpg *InstancePtr, u32 HandlerType, void *CallBackFunc,
 #endif
 
 #endif /* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tpg/src/xtpg_hw.h b/XilinxProcessorIPLib/drivers/tpg/src/xtpg_hw.h
index c97ad931..d3580108 100644
--- a/XilinxProcessorIPLib/drivers/tpg/src/xtpg_hw.h
+++ b/XilinxProcessorIPLib/drivers/tpg/src/xtpg_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtpg_hw.h
+* @addtogroup tpg_v3_0
+* @{
+* @details
 *
 * This header file contains the hardware register offsets and register bit
 * definitions for the Xilinx Test Pattern Generator (TPG) core.
@@ -431,3 +434,4 @@ extern "C" {
 #endif
 
 #endif /* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tpg/src/xtpg_intr.c b/XilinxProcessorIPLib/drivers/tpg/src/xtpg_intr.c
index 144bdc07..822678b9 100644
--- a/XilinxProcessorIPLib/drivers/tpg/src/xtpg_intr.c
+++ b/XilinxProcessorIPLib/drivers/tpg/src/xtpg_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtpg_intr.c
+* @addtogroup tpg_v3_0
+* @{
+* @details
 *
 * This file contains interrupt related functions of the TPG core.
 * Please see xtpg.h for more details of the driver.
@@ -205,3 +208,4 @@ int XTpg_SetCallBack(XTpg *InstancePtr, u32 HandlerType,
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tpg/src/xtpg_selftest.c b/XilinxProcessorIPLib/drivers/tpg/src/xtpg_selftest.c
index 63695ab9..7e288a10 100644
--- a/XilinxProcessorIPLib/drivers/tpg/src/xtpg_selftest.c
+++ b/XilinxProcessorIPLib/drivers/tpg/src/xtpg_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtpg_selftest.c
+* @addtogroup tpg_v3_0
+* @{
+* @details
 *
 * This file contains the self-test functions for the TPG driver.
 * The self test function reads the Version Register.
@@ -107,3 +110,4 @@ int XTpg_SelfTest(XTpg *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/tpg/src/xtpg_sinit.c b/XilinxProcessorIPLib/drivers/tpg/src/xtpg_sinit.c
index 2cf9e8c9..0f9c480b 100644
--- a/XilinxProcessorIPLib/drivers/tpg/src/xtpg_sinit.c
+++ b/XilinxProcessorIPLib/drivers/tpg/src/xtpg_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtpg_sinit.c
+* @addtogroup tpg_v3_0
+* @{
+* @details
 *
 * This file contains static initialization methods for Xilinx TPG core
 * driver.
@@ -106,3 +109,4 @@ XTpg_Config *XTpg_LookupConfig(u16 DeviceId)
 
 	return (XTpg_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen.c b/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen.c
index c5ea795d..b13d141a 100644
--- a/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen.c
+++ b/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtrafgen.c
+* @addtogroup trafgen_v3_2
+* @{
+* @details
 *
 * This file implements AXI Traffic Generator device-wise initialization and 
 * control functions.
@@ -686,3 +689,4 @@ void XTrafGen_PrintCmds(XTrafGen *InstancePtr)
 		xil_printf("0x%08x\n\r", CmdInfo->CmdEntry[0][Index1].ParamWord);
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen.h b/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen.h
index 9dc5d885..9091871b 100644
--- a/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen.h
+++ b/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtrafgen.h
+* @addtogroup trafgen_v3_2
+* @{
+* @details
 *
 * This file contains the implementation of the AXI Traffic Generator driver.
 * User documentation for the driver functions is contained in this file in the 
@@ -1200,3 +1203,4 @@ int XTrafGen_EraseAllCommands(XTrafGen *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_g.c b/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_g.c
index 2340f2f9..b40df8ed 100644
--- a/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_g.c
+++ b/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtrafgen_g.c
+* @addtogroup trafgen_v3_2
+* @{
+* @details
 *
 * Provide a template for user to define their own hardware settings.
 *
@@ -68,3 +71,4 @@ XTrafGen_Config XTrafGen_ConfigTable[] =
 		XPAR_XTRAFGEN_0_AXIS_MODE
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_hw.h b/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_hw.h
index d1949308..bda6d8d7 100644
--- a/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_hw.h
+++ b/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtrafgen_hw.h
+* @addtogroup trafgen_v3_2
+* @{
+* @details
 *
 * This header file contains identifiers and macros that can be used to access
 * the Axi Traffic Generator device. The driver APIs/functions are defined in
@@ -518,3 +521,4 @@ extern "C" {
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_sinit.c b/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_sinit.c
index 3042477a..0217cdaa 100644
--- a/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_sinit.c
+++ b/XilinxProcessorIPLib/drivers/trafgen/src/xtrafgen_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xtrafgen_sinit.c
+* @addtogroup trafgen_v3_2
+* @{
+* @details
 *
 * This file contains static initialzation functionality for Axi Traffic
 * Generator driver.
@@ -84,3 +87,4 @@ XTrafGen_Config *XTrafGen_LookupConfig(u32 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps.c b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps.c
index de19fcc6..10ca8b7d 100644
--- a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps.c
+++ b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xttcps.c
+* @addtogroup ttcps_v3_0
+* @{
+* @details
 *
 * This file contains the implementation of the XTtcPs driver. This driver
 * controls the operation of one timer counter in the Triple Timer Counter (TTC)
@@ -429,3 +432,4 @@ void XTtcPs_CalcIntervalFromFreq(XTtcPs *InstancePtr, u32 Freq,
 	*Prescaler = 0XFFU;
 	return;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps.h b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps.h
index 86bcb97c..646d24db 100644
--- a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps.h
+++ b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xttcps.h
+* @addtogroup ttcps_v3_0
+* @{
+* @details
 *
 * This is the driver for one 16-bit timer counter in the Triple Timer Counter
 * (TTC) module in the Ps block.
@@ -406,3 +409,4 @@ s32 XTtcPs_SelfTest(XTtcPs *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_g.c b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_g.c
index 27d1d3e2..13d998c4 100644
--- a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_g.c
+++ b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xttcps_g.c
+* @addtogroup ttcps_v3_0
+* @{
+* @details
 *
 * This file contains a configuration table where each entry is the
 * configuration information for one timer counter device in the system.
@@ -118,3 +121,4 @@ XTtcPs_Config XTtcPs_ConfigTable[XPAR_XTTCPS_NUM_INSTANCES] = {
 	},
 #endif
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_hw.h b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_hw.h
index 8f12e3c1..1fd65f35 100644
--- a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_hw.h
+++ b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xttcps_hw.h
+* @addtogroup ttcps_v3_0
+* @{
+* @details
 *
 * This file defines the hardware interface to one of the three timer counters
 * in the Ps block.
@@ -207,3 +210,4 @@ extern "C" {
 }
 #endif
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_options.c b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_options.c
index 26c7264e..fccb20be 100644
--- a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_options.c
+++ b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_options.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xttcps_options.c
+* @addtogroup ttcps_v3_0
+* @{
+* @details
 *
 * This file contains functions to get or set option features for the device.
 *
@@ -238,3 +241,4 @@ u32 XTtcPs_GetOptions(XTtcPs *InstancePtr)
 
 	return OptionsFlag;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_selftest.c b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_selftest.c
index da4354fd..41ffef40 100644
--- a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_selftest.c
+++ b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xttcps_selftest.c
+* @addtogroup ttcps_v3_0
+* @{
+* @details
 *
 * This file contains the implementation of self test function for the
 * XTtcPs driver.
@@ -104,3 +107,4 @@ s32 XTtcPs_SelfTest(XTtcPs *InstancePtr)
 	}
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_sinit.c b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_sinit.c
index fe524ed1..9761d09e 100644
--- a/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_sinit.c
+++ b/XilinxProcessorIPLib/drivers/ttcps/src/xttcps_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xttcps_sinit.c
+* @addtogroup ttcps_v3_0
+* @{
+* @details
 *
 * The implementation of the XTtcPs driver's static initialization functionality.
 *
@@ -93,3 +96,4 @@ XTtcPs_Config *XTtcPs_LookupConfig(u16 DeviceId)
 
 	return (XTtcPs_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite.c b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite.c
index da0e781c..5475dc34 100644
--- a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite.c
+++ b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartlite.c
+* @addtogroup uartlite_v3_0
+* @{
+* @details
 *
 * Contains required functions for the XUartLite driver. See the xuartlite.h
 * header file for more details on this driver.
@@ -644,3 +647,4 @@ unsigned int XUartLite_ReceiveBuffer(XUartLite *InstancePtr)
 
 
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite.h b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite.h
index bb382541..cd867fe9 100644
--- a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite.h
+++ b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartlite.h
+* @addtogroup uartlite_v3_0
+* @{
+* @details
 *
 * This component contains the implementation of the XUartLite component which is
 * the driver for the Xilinx UART Lite device. This UART is a minimal hardware
@@ -276,3 +279,4 @@ void XUartLite_InterruptHandler(XUartLite *InstancePtr);
 
 #endif			/* end of protection macro */
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_g.c b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_g.c
index aee330c7..ec8d9286 100644
--- a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_g.c
+++ b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartlite_g.c
+* @addtogroup uartlite_v3_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * UART Lite devices in the system. Each device in the system should have an
@@ -84,3 +87,4 @@ XUartLite_Config XUartLite_ConfigTable[XPAR_XUARTLITE_NUM_INSTANCES] =
 };
 
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_i.h b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_i.h
index 8ae56bbe..eff2041d 100644
--- a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_i.h
+++ b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_i.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartlite_i.h
+* @addtogroup uartlite_v3_0
+* @{
+* @details
 *
 * Contains data which is shared between the files of the XUartLite component.
 * It is intended for internal use only.
@@ -120,3 +123,4 @@ unsigned int XUartLite_ReceiveBuffer(XUartLite *InstancePtr);
 
 #endif		/* end of protection macro */
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_intr.c b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_intr.c
index cd7c5da2..48155bfd 100644
--- a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_intr.c
+++ b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartlite_intr.c
+* @addtogroup uartlite_v3_0
+* @{
+* @details
 *
 * This file contains interrupt-related functions for the UART Lite component
 * (XUartLite).
@@ -330,3 +333,4 @@ void XUartLite_EnableInterrupt(XUartLite *InstancePtr)
 				XUL_CONTROL_REG_OFFSET, XUL_CR_ENABLE_INTR);
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_l.c b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_l.c
index eed69b77..38297d6d 100644
--- a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_l.c
+++ b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_l.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartlite_l.c
+* @addtogroup uartlite_v3_0
+* @{
+* @details
 *
 * This file contains low-level driver functions that can be used to access the
 * device.  The user should refer to the hardware device specification for more
@@ -113,3 +116,4 @@ u8 XUartLite_RecvByte(u32 BaseAddress)
 	return (u8)XUartLite_ReadReg(BaseAddress, XUL_RX_FIFO_OFFSET);
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_l.h b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_l.h
index 9c4b34c6..a6241048 100644
--- a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_l.h
+++ b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_l.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartlite_l.h
+* @addtogroup uartlite_v3_0
+* @{
+* @details
 *
 * This header file contains identifiers and low-level driver functions (or
 * macros) that can be used to access the device.  High-level driver functions
@@ -328,3 +331,4 @@ u8 XUartLite_RecvByte(u32 BaseAddress);
 #endif /* end of protection macro */
 
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_selftest.c b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_selftest.c
index 4c39a2d3..2244dd5a 100644
--- a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_selftest.c
+++ b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartlite_selftest.c
+* @addtogroup uartlite_v3_0
+* @{
+* @details
 *
 * This file contains the self-test functions for the UART Lite component
 * (XUartLite).
@@ -135,3 +138,4 @@ int XUartLite_SelfTest(XUartLite *InstancePtr)
 }
 
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_sinit.c b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_sinit.c
index 97611dad..24b7a451 100644
--- a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_sinit.c
+++ b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartlite_sinit.c
+* @addtogroup uartlite_v3_0
+* @{
+* @details
 *
 * The implementation of the XUartLite component's static initialzation
 * functionality.
@@ -143,3 +146,4 @@ int XUartLite_Initialize(XUartLite *InstancePtr, u16 DeviceId)
 					ConfigPtr->RegBaseAddr);
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_stats.c b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_stats.c
index 305d37f9..f3f51221 100644
--- a/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_stats.c
+++ b/XilinxProcessorIPLib/drivers/uartlite/src/xuartlite_stats.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartlite_stats.c
+* @addtogroup uartlite_v3_0
+* @{
+* @details
 *
 * This file contains the statistics functions for the UART Lite component
 * (XUartLite).
@@ -139,3 +142,4 @@ void XUartLite_ClearStats(XUartLite *InstancePtr)
 
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550.c b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550.c
index 83e9048e..e2ca641d 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550.c
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550.c
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * This file contains the required functions for the 16450/16550 UART driver.
 * Refer to the header file xuartns550.h for more detailed information.
@@ -745,3 +748,4 @@ static void XUartNs550_StubHandler(void *CallBackRef, u32 Event,
 	 */
 	Xil_AssertVoidAlways();
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550.h b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550.h
index d7f5a8be..d27e8342 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550.h
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550.h
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * This driver supports the following features in the Xilinx 16450/16550
 * compatible UART.
@@ -455,3 +458,4 @@ int XUartNs550_SelfTest(XUartNs550 *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_format.c b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_format.c
index 9ce925ab..3b24056c 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_format.c
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_format.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550_format.c
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * This file contains the data format functions for the 16450/16550 UART driver.
 * The data format functions allow the baud rate, number of data bits, number
@@ -269,3 +272,4 @@ void XUartNs550_GetDataFormat(XUartNs550 *InstancePtr,
 		}
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_g.c b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_g.c
index 99c54c80..3876051b 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_g.c
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550_g.c
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * NS16550 devices in the system.
@@ -80,3 +83,4 @@ XUartNs550_Config XUartNs550_ConfigTable[] =
 		XPAR_UARTNS550_0_CLOCK_HZ
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_i.h b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_i.h
index 506f9b6d..6fb7e31c 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_i.h
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_i.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550_i.h
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * This header file contains internal identifiers, which are those shared
 * between the files of the driver. It is intended for internal use only.
@@ -131,3 +134,4 @@ extern XUartNs550_Config XUartNs550_ConfigTable[];
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_intr.c b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_intr.c
index b5c9b764..2221d566 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_intr.c
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550_intr.c
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * This file contains the functions that are related to interrupt processing
 * for the 16450/16550 UART driver.
@@ -468,3 +471,4 @@ static void ModemHandler(XUartNs550 *InstancePtr)
 	 */
 	InstancePtr->Stats.ModemInterrupts++;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_l.c b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_l.c
index 048941e8..1f38eb3a 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_l.c
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_l.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550_l.c
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * This file contains low-level driver functions that can be used to access the
 * device.  The user should refer to the hardware device specification for more
@@ -192,3 +195,4 @@ void XUartNs550_SetBaud(u32 BaseAddress, u32 InputClockHz, u32 BaudRate)
 	 */
 	XUartNs550_SetLineControlReg(BaseAddress, LcrRegister);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_l.h b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_l.h
index df7a3490..1929d5c2 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_l.h
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_l.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550_l.h
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * This header file contains identifiers and low-level driver functions (or
 * macros) that can be used to access the device. The user should refer to the
@@ -343,3 +346,4 @@ void XUartNs550_SetBaud(u32 BaseAddress, u32 InputClockHz, u32 BaudRate);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_options.c b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_options.c
index 141e19f9..44397102 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_options.c
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_options.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550_options.c
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * The implementation of the options functions for the XUartNs550 driver.
 *
@@ -523,3 +526,4 @@ static u32 ReadFcrRegister(u32 BaseAddress)
 
 	return FcrRegister;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_selftest.c b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_selftest.c
index 1742813b..a7e0844c 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_selftest.c
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550_selftest.c
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * This file contains the self-test functions for the 16450/16550 UART driver.
 *
@@ -187,3 +190,4 @@ int XUartNs550_SelfTest(XUartNs550 *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_sinit.c b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_sinit.c
index ba009a33..a6bae206 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_sinit.c
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550_sinit.c
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * The implementation of the XUartNs550 component's static initialzation
 * functionality.
@@ -154,3 +157,4 @@ int XUartNs550_Initialize(XUartNs550 *InstancePtr, u16 DeviceId)
 	return XUartNs550_CfgInitialize(InstancePtr, ConfigPtr,
 					ConfigPtr->BaseAddress);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_stats.c b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_stats.c
index 503ef2e2..9ebba43f 100644
--- a/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_stats.c
+++ b/XilinxProcessorIPLib/drivers/uartns550/src/xuartns550_stats.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartns550_stats.c
+* @addtogroup uartns550_v3_3
+* @{
+* @details
 *
 * This file contains the statistics functions for the 16450/16550 UART driver.
 *
@@ -138,3 +141,4 @@ void XUartNs550_ClearStats(XUartNs550 *InstancePtr)
 	InstancePtr->Stats.ReceiveParityErrors = 0;
 	InstancePtr->Stats.ReceiveBreakDetected = 0;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartps/src/xuartps.c b/XilinxProcessorIPLib/drivers/uartps/src/xuartps.c
index 877b8840..673b423d 100644
--- a/XilinxProcessorIPLib/drivers/uartps/src/xuartps.c
+++ b/XilinxProcessorIPLib/drivers/uartps/src/xuartps.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartps.c
+* @addtogroup uartps_v3_1
+* @{
+* @details
 *
 * This file contains the implementation of the interface functions for XUartPs
 * driver. Refer to the header file xuartps.h for more detailed information.
@@ -618,3 +621,4 @@ static void XUartPs_StubHandler(void *CallBackRef, u32 Event,
 	/* Assert occurs always since this is a stub and should never be called */
 	Xil_AssertVoidAlways();
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartps/src/xuartps.h b/XilinxProcessorIPLib/drivers/uartps/src/xuartps.h
index 5b6e3c32..d7e505e4 100644
--- a/XilinxProcessorIPLib/drivers/uartps/src/xuartps.h
+++ b/XilinxProcessorIPLib/drivers/uartps/src/xuartps.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartps.h
+* @addtogroup uartps_v3_1
+* @{
+* @details
 *
 * This driver supports the following features:
 *
@@ -502,3 +505,4 @@ s32 XUartPs_SelfTest(XUartPs *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_g.c b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_g.c
index 65a375ed..81bf3407 100644
--- a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_g.c
+++ b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartps_g.c
+* @addtogroup uartps_v3_1
+* @{
+* @details
 *
 * This file contains a configuration table where each entry is a configuration
 * structure for an XUartPs device in the system.
@@ -87,3 +90,4 @@ XUartPs_Config XUartPs_ConfigTable[XPAR_XUARTPS_NUM_INSTANCES] = {
 		(s32)0
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_hw.c b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_hw.c
index 6b2aac49..1e63b58b 100644
--- a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_hw.c
+++ b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_hw.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartps_hw.c
+* @addtogroup uartps_v3_1
+* @{
+* @details
 *
 *
 * 
@@ -175,3 +178,4 @@ void XUartPs_ResetHw(u32 BaseAddress)
 						(u32)XUARTPS_CR_STOPBRK));
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_hw.h b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_hw.h
index 0a6c7306..c7e7f148 100644
--- a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_hw.h
+++ b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartps_hw.h
+* @addtogroup uartps_v3_1
+* @{
+* @details
 *
 * This header file contains the hardware interface of an XUartPs device.
 *
@@ -444,3 +447,4 @@ void XUartPs_ResetHw(u32 BaseAddress);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_intr.c b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_intr.c
index 044f970f..13819211 100644
--- a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_intr.c
+++ b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartps_intr.c
+* @addtogroup uartps_v3_1
+* @{
+* @details
 *
 * This file contains the functions for interrupt handling
 *
@@ -457,3 +460,4 @@ static void ModemHandler(XUartPs *InstancePtr)
 				  MsrRegister);
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_options.c b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_options.c
index 0de6e21c..21041d23 100644
--- a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_options.c
+++ b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_options.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartps_options.c
+* @addtogroup uartps_v3_1
+* @{
+* @details
 *
 * The implementation of the options functions for the XUartPs driver.
 *
@@ -756,3 +759,4 @@ void XUartPs_GetDataFormat(XUartPs *InstancePtr, XUartPsFormat * FormatPtr)
 		(u32)((ModeRegister & (u32)XUARTPS_MR_PARITY_MASK) >>
 		XUARTPS_MR_PARITY_SHIFT);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_selftest.c b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_selftest.c
index 150465a2..7133691b 100644
--- a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_selftest.c
+++ b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartps_selftest.c
+* @addtogroup uartps_v3_1
+* @{
+* @details
 *
 * This file contains the self-test functions for the XUartPs driver.
 *
@@ -161,3 +164,4 @@ s32 XUartPs_SelfTest(XUartPs *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_sinit.c b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_sinit.c
index e9dfaa96..3993f288 100644
--- a/XilinxProcessorIPLib/drivers/uartps/src/xuartps_sinit.c
+++ b/XilinxProcessorIPLib/drivers/uartps/src/xuartps_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xuartps_sinit.c
+* @addtogroup uartps_v3_1
+* @{
+* @details
 *
 * The implementation of the XUartPs driver's static initialzation
 * functionality.
@@ -94,3 +97,4 @@ XUartPs_Config *XUartPs_LookupConfig(u16 DeviceId)
 
 	return (XUartPs_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usb/src/xusb.c b/XilinxProcessorIPLib/drivers/usb/src/xusb.c
index 91672a18..515044cb 100644
--- a/XilinxProcessorIPLib/drivers/usb/src/xusb.c
+++ b/XilinxProcessorIPLib/drivers/usb/src/xusb.c
@@ -42,6 +42,9 @@
 /*****************************************************************************/
 /**
  * @file xusb.c
+* @addtogroup usb_v5_0
+* @{
+* @details
  *
  * The XUsb driver. Functions in this file are the minimum required functions
  * for this driver. See xusb.h for a detailed description of the driver.
@@ -638,4 +641,5 @@ void XUsb_SieReset(XUsb *InstancePtr)
 	/* Release from reset by writing 0 */
 	XUsb_WriteReg(InstancePtr->Config.BaseAddress, XUSB_CONTROL_OFFSET,
 				RegData & (~(XUSB_CONTROL_SIE_RESET_MASK)));
-}
\ No newline at end of file
+}
+/** @} */
\ No newline at end of file
diff --git a/XilinxProcessorIPLib/drivers/usb/src/xusb.h b/XilinxProcessorIPLib/drivers/usb/src/xusb.h
index 8aa0091d..cd36baac 100644
--- a/XilinxProcessorIPLib/drivers/usb/src/xusb.h
+++ b/XilinxProcessorIPLib/drivers/usb/src/xusb.h
@@ -43,6 +43,9 @@
 /**
 *
 * @file xusb.h
+* @addtogroup usb_v5_0
+* @{
+* @details
 *
 * This file contains the implementation of the XUsb component. It is the
 * driver for the USB device controller.
@@ -484,3 +487,4 @@ XUsb_Config *XUsb_LookupConfig(u16 DeviceId);
 #endif
 
 #endif /* XUSB_H */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usb/src/xusb_endpoint.c b/XilinxProcessorIPLib/drivers/usb/src/xusb_endpoint.c
index 12c3093a..6aef7cde 100644
--- a/XilinxProcessorIPLib/drivers/usb/src/xusb_endpoint.c
+++ b/XilinxProcessorIPLib/drivers/usb/src/xusb_endpoint.c
@@ -42,6 +42,9 @@
 /******************************************************************************/
 /**
  * @file xusb_endpoint.c
+* @addtogroup usb_v5_0
+* @{
+* @details
  *
  * This file contains the USB end point related function definitions.
  *
@@ -623,3 +626,4 @@ void XUsb_EpIsoTransferConfigure(XUsb *InstancePtr, u8 EpNum,
 			InstancePtr->EndPointOffset[EpNum], EpConfigReg);
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usb/src/xusb_g.c b/XilinxProcessorIPLib/drivers/usb/src/xusb_g.c
index a31ce5f6..3d1416c7 100644
--- a/XilinxProcessorIPLib/drivers/usb/src/xusb_g.c
+++ b/XilinxProcessorIPLib/drivers/usb/src/xusb_g.c
@@ -44,6 +44,9 @@
 /**
 *
 * @file xusb_g.c
+* @addtogroup usb_v5_0
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration of
 * the USB devices in the system.
@@ -90,3 +93,4 @@ XUsb_Config XUsb_ConfigTable[XPAR_XUSB_NUM_INSTANCES] = {
 	}
 
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usb/src/xusb_intr.c b/XilinxProcessorIPLib/drivers/usb/src/xusb_intr.c
index 4937ebd3..61ae61b5 100644
--- a/XilinxProcessorIPLib/drivers/usb/src/xusb_intr.c
+++ b/XilinxProcessorIPLib/drivers/usb/src/xusb_intr.c
@@ -42,6 +42,9 @@
 /******************************************************************************/
 /**
  * @file xusb_intr.c
+* @addtogroup usb_v5_0
+* @{
+* @details
  *
  * This file contains the functions that are related to interrupt processing
  * for the USB device.
@@ -477,3 +480,4 @@ void XUsb_UlpiIntrSetHandler(XUsb *InstancePtr, void *CallBackFunc,
 	InstancePtr->UlpiHandlerRef = CallBackRef;
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usb/src/xusb_l.h b/XilinxProcessorIPLib/drivers/usb/src/xusb_l.h
index e1317172..ba7d5ad9 100644
--- a/XilinxProcessorIPLib/drivers/usb/src/xusb_l.h
+++ b/XilinxProcessorIPLib/drivers/usb/src/xusb_l.h
@@ -43,6 +43,9 @@
 /**
 *
 * @file xusb_l.h
+* @addtogroup usb_v5_0
+* @{
+* @details
 *
 * This header file contains identifiers and low-level driver function prototypes
 * (or macros) that can be used to access the USB device. High-level driver
@@ -445,3 +448,4 @@ extern "C" {
 #endif
 
 #endif /* XUSB_L_H */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usb/src/xusb_sinit.c b/XilinxProcessorIPLib/drivers/usb/src/xusb_sinit.c
index f8f9fa3f..96a2cd2e 100644
--- a/XilinxProcessorIPLib/drivers/usb/src/xusb_sinit.c
+++ b/XilinxProcessorIPLib/drivers/usb/src/xusb_sinit.c
@@ -43,6 +43,9 @@
 /**
 *
 * @file xusb_sinit.c
+* @addtogroup usb_v5_0
+* @{
+* @details
 *
 * This file contains the implementation of the XUsb driver's static
 * initialization functionality.
@@ -107,3 +110,4 @@ XUsb_Config *XUsb_LookupConfig(u16 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usbps/src/xusbps.c b/XilinxProcessorIPLib/drivers/usbps/src/xusbps.c
index 5538eb98..50a64738 100644
--- a/XilinxProcessorIPLib/drivers/usbps/src/xusbps.c
+++ b/XilinxProcessorIPLib/drivers/usbps/src/xusbps.c
@@ -32,6 +32,9 @@
 /******************************************************************************/
 /**
  * @file xusbps.c
+* @addtogroup usbps_v2_2
+* @{
+* @details
  *
  * The XUsbPs driver. Functions in this file are the minimum required
  * functions for this driver. See xusbps.h for a detailed description of the
@@ -359,3 +362,4 @@ int XUsbPs_SetDeviceAddress(XUsbPs *InstancePtr, u8 Address)
 	return XST_SUCCESS;
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usbps/src/xusbps.h b/XilinxProcessorIPLib/drivers/usbps/src/xusbps.h
index f35e0858..c15ad9f9 100644
--- a/XilinxProcessorIPLib/drivers/usbps/src/xusbps.h
+++ b/XilinxProcessorIPLib/drivers/usbps/src/xusbps.h
@@ -33,6 +33,9 @@
 /**
  *
  * @file xusbps.h
+* @addtogroup usbps_v2_2
+* @{
+* @details
  *
  * This file contains the implementation of the XUsbPs driver. It is the
  * driver for an USB controller in DEVICE or HOST mode.
@@ -1084,3 +1087,4 @@ XUsbPs_Config *XUsbPs_LookupConfig(u16 DeviceId);
 #endif
 
 #endif /* XUSBPS_H */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_endpoint.c b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_endpoint.c
index 24bd89b5..e6237c3d 100644
--- a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_endpoint.c
+++ b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_endpoint.c
@@ -32,6 +32,9 @@
 /******************************************************************************/
 /**
  * @file xusbps_endpoint.c
+* @addtogroup usbps_v2_2
+* @{
+* @details
  *
  * Endpoint specific function implementations.
  *
@@ -1444,3 +1447,4 @@ int EpNum, unsigned short NewDirection)
 	return XST_SUCCESS;
 }
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_endpoint.h b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_endpoint.h
index cfe439c6..0f30119f 100644
--- a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_endpoint.h
+++ b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_endpoint.h
@@ -33,6 +33,9 @@
 /**
  *
  * @file xusbps_endpoint.h
+* @addtogroup usbps_v2_2
+* @{
+* @details
  *
  * This is an internal file containung the definitions for endpoints. It is
  * included by the xusbps_endpoint.c which is implementing the endpoint
@@ -510,3 +513,4 @@ extern "C" {
 #endif
 
 #endif /* XUSBPS_ENDPOINT_H */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_g.c b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_g.c
index 88418392..ce51bc62 100644
--- a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_g.c
+++ b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_g.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xusbps_g.c
+* @addtogroup usbps_v2_2
+* @{
+* @details
  * This file contains a configuration table where each entry is a configuration
  * structure for an XUsbPs device in the system.
  *
@@ -75,3 +78,4 @@ XUsbPs_Config XUsbPs_ConfigTable[] = {
 	}
 #endif
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_hw.c b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_hw.c
index dca067f5..132f1944 100644
--- a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_hw.c
+++ b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_hw.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xusbps_hw.c
+* @addtogroup usbps_v2_2
+* @{
+* @details
  *
  * The implementation of the XUsbPs interface reset functionality
  *
@@ -117,3 +120,4 @@ void XUsbPs_ResetHw(u32 BaseAddress)
 
 
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_hw.h b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_hw.h
index 8d43b44b..0a942dbe 100644
--- a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_hw.h
+++ b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_hw.h
@@ -33,6 +33,9 @@
 /**
  *
  * @file xusbps_hw.h
+* @addtogroup usbps_v2_2
+* @{
+* @details
  *
  * This header file contains identifiers and low-level driver functions (or
  * macros) that can be used to access the device. High-level driver functions
@@ -521,3 +524,4 @@ void XUsbPs_ResetHw(u32 BaseAddress);
 #endif
 
 #endif /* XUSBPS_L_H */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_intr.c b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_intr.c
index 6cce1747..fe83156e 100644
--- a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_intr.c
+++ b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_intr.c
@@ -32,6 +32,9 @@
 /******************************************************************************/
 /**
  * @file xusbps_intr.c
+* @addtogroup usbps_v2_2
+* @{
+* @details
  *
  * This file contains the functions that are related to interrupt processing
  * for the EPB USB driver.
@@ -465,3 +468,4 @@ static void XUsbPs_IntrHandleEp0Setup(XUsbPs *InstancePtr)
 }
 
 
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_sinit.c b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_sinit.c
index 6e768b8d..6a060ca0 100644
--- a/XilinxProcessorIPLib/drivers/usbps/src/xusbps_sinit.c
+++ b/XilinxProcessorIPLib/drivers/usbps/src/xusbps_sinit.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xusbps_sinit.c
+* @addtogroup usbps_v2_2
+* @{
+* @details
  *
  * The implementation of the XUsbPs driver's static initialzation
  * functionality.
@@ -94,3 +97,4 @@ XUsbPs_Config *XUsbPs_LookupConfig(u16 DeviceID)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_csc/src/xv_csc_l2.c b/XilinxProcessorIPLib/drivers/v_csc/src/xv_csc_l2.c
index 44303c57..00f4c255 100644
--- a/XilinxProcessorIPLib/drivers/v_csc/src/xv_csc_l2.c
+++ b/XilinxProcessorIPLib/drivers/v_csc/src/xv_csc_l2.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_csc_l2.c
+* @addtogroup v_csc_v1_0
+* @{
+* @details
 *
 * The CSC Layer-2 Driver. The functions in this file provides an abstraction
 * from the register peek/poke methodology by implementing most common use-case
@@ -1295,3 +1298,4 @@ void XV_CscDbgReportStatus(XV_csc *InstancePtr)
     }
   }
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_csc/src/xv_csc_l2.h b/XilinxProcessorIPLib/drivers/v_csc/src/xv_csc_l2.h
index fd9720a2..84fc4710 100644
--- a/XilinxProcessorIPLib/drivers/v_csc/src/xv_csc_l2.h
+++ b/XilinxProcessorIPLib/drivers/v_csc/src/xv_csc_l2.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_csc_l2.h
+* @addtogroup v_csc_v1_0
+* @{
+* @details
 *
 * This header file contains layer 2 API's of the csc sub-core driver.
 * The functions contained herein provides a high level implementation of features
@@ -395,3 +398,4 @@ void XV_CscDbgReportStatus(XV_csc *InstancePtr);
 }
 #endif
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_deinterlacer/src/xv_deinterlacer_l2.c b/XilinxProcessorIPLib/drivers/v_deinterlacer/src/xv_deinterlacer_l2.c
index dda487d4..53a7db5a 100644
--- a/XilinxProcessorIPLib/drivers/v_deinterlacer/src/xv_deinterlacer_l2.c
+++ b/XilinxProcessorIPLib/drivers/v_deinterlacer/src/xv_deinterlacer_l2.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_deinterlacer_l2.c
+* @addtogroup v_deinterlacer_v5_0
+* @{
+* @details
 *
 * The deint Layer-2 Driver. The functions in this file provides an abstraction
 * from the register peek/poke methodology by implementing most common use-case
@@ -160,3 +163,4 @@ void XV_DeintDbgReportStatus(XV_deinterlacer *InstancePtr)
   xil_printf("Color Format:       %d\r\n", colformat);
   xil_printf("Algo Selected:      %d\r\n", algo);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_deinterlacer/src/xv_deinterlacer_l2.h b/XilinxProcessorIPLib/drivers/v_deinterlacer/src/xv_deinterlacer_l2.h
index f7407a05..8ee16138 100644
--- a/XilinxProcessorIPLib/drivers/v_deinterlacer/src/xv_deinterlacer_l2.h
+++ b/XilinxProcessorIPLib/drivers/v_deinterlacer/src/xv_deinterlacer_l2.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_deinterlacer_l2.h
+* @addtogroup v_deinterlacer_v5_0
+* @{
+* @details
 *
 * This header file contains layer 2 API's of the deint sub-core driver.
 * The functions contained herein provides a high level implementation of features
@@ -113,3 +116,4 @@ void XV_DeintDbgReportStatus(XV_deinterlacer *InstancePtr);
 
 
 #endif /* XSS_DEINT_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_hcresampler/src/xv_hcresampler_l2.c b/XilinxProcessorIPLib/drivers/v_hcresampler/src/xv_hcresampler_l2.c
index fa320812..3fe7a5f5 100644
--- a/XilinxProcessorIPLib/drivers/v_hcresampler/src/xv_hcresampler_l2.c
+++ b/XilinxProcessorIPLib/drivers/v_hcresampler/src/xv_hcresampler_l2.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_hcresampler_l2.c
+* @addtogroup v_hcresampler_v1_0
+* @{
+* @details
 *
 * The Horizontal Chroma Resampler Layer-2 Driver.
 * The functions in this file provides an abstraction from the register peek/poke
@@ -236,3 +239,4 @@ void XV_HCrsmplDbgReportStatus(XV_hcresampler *InstancePtr)
   xil_printf("Width:            %d\r\n", width);
   xil_printf("Height:           %d\r\n", height);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_hcresampler/src/xv_hcresampler_l2.h b/XilinxProcessorIPLib/drivers/v_hcresampler/src/xv_hcresampler_l2.h
index 856d06b7..3fd6f5e8 100644
--- a/XilinxProcessorIPLib/drivers/v_hcresampler/src/xv_hcresampler_l2.h
+++ b/XilinxProcessorIPLib/drivers/v_hcresampler/src/xv_hcresampler_l2.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_hcresampler_l2.h
+* @addtogroup v_hcresampler_v1_0
+* @{
+* @details
 *
 * This header file contains layer 2 API's of the horizontal chroma resampler
 * sub-core driver.The functions contained herein provides a high level
@@ -124,3 +127,4 @@ void XV_HCrsmplDbgReportStatus(XV_hcresampler *InstancePtr);
 }
 #endif
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_hscaler/src/xv_hscaler_l2.c b/XilinxProcessorIPLib/drivers/v_hscaler/src/xv_hscaler_l2.c
index 5a7e226d..248b1d20 100644
--- a/XilinxProcessorIPLib/drivers/v_hscaler/src/xv_hscaler_l2.c
+++ b/XilinxProcessorIPLib/drivers/v_hscaler/src/xv_hscaler_l2.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_hscaler_l2.c
+* @addtogroup v_hscaler_v1_0
+* @{
+* @details
 *
 * The Horizontal Scaler Layer-2 Driver.
 * The functions in this file provides an abstraction from the register peek/poke
@@ -594,3 +597,4 @@ void XV_HScalerDbgReportStatus(XV_hscaler *InstancePtr)
     }
   }
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_hscaler/src/xv_hscaler_l2.h b/XilinxProcessorIPLib/drivers/v_hscaler/src/xv_hscaler_l2.h
index 3e13ed0e..dba713ad 100644
--- a/XilinxProcessorIPLib/drivers/v_hscaler/src/xv_hscaler_l2.h
+++ b/XilinxProcessorIPLib/drivers/v_hscaler/src/xv_hscaler_l2.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_hscaler_l2.h
+* @addtogroup v_hscaler_v1_0
+* @{
+* @details
 *
 * This header file contains layer 2 API's of the horizontal scaler sub-core
 * driver.The functions contained herein provides a high level implementation of
@@ -195,3 +198,4 @@ void XV_HScalerDbgReportStatus(XV_hscaler *InstancePtr);
 #endif
 
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_letterbox/src/xv_letterbox_l2.c b/XilinxProcessorIPLib/drivers/v_letterbox/src/xv_letterbox_l2.c
index 1c5c723b..43a6cfad 100644
--- a/XilinxProcessorIPLib/drivers/v_letterbox/src/xv_letterbox_l2.c
+++ b/XilinxProcessorIPLib/drivers/v_letterbox/src/xv_letterbox_l2.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_letterbox_l2.c
+* @addtogroup v_letterbox_v1_0
+* @{
+* @details
 *
 * The Letterbox Layer-2 Driver.
 * The functions in this file provides an abstraction from the register peek/poke
@@ -249,3 +252,4 @@ void XV_LBoxDbgReportStatus(XV_letterbox *InstancePtr)
   xil_printf(" Bkgnd Color U/G: %d\r\n",cbg);
   xil_printf(" Bkgnd Color V/B: %d\r\n",crb);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_letterbox/src/xv_letterbox_l2.h b/XilinxProcessorIPLib/drivers/v_letterbox/src/xv_letterbox_l2.h
index d7e068e1..07c9f223 100644
--- a/XilinxProcessorIPLib/drivers/v_letterbox/src/xv_letterbox_l2.h
+++ b/XilinxProcessorIPLib/drivers/v_letterbox/src/xv_letterbox_l2.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_letterbox_l2.h
+* @addtogroup v_letterbox_v1_0
+* @{
+* @details
 *
 * This header file contains layer 2 API's of the letter box sub-core driver.
 * The functions contained herein provides a high level implementation of
@@ -138,3 +141,4 @@ void XV_LBoxDbgReportStatus(XV_letterbox *InstancePtr);
 }
 #endif
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_vcresampler/src/xv_vcresampler_l2.c b/XilinxProcessorIPLib/drivers/v_vcresampler/src/xv_vcresampler_l2.c
index 0304e268..820ffb9b 100644
--- a/XilinxProcessorIPLib/drivers/v_vcresampler/src/xv_vcresampler_l2.c
+++ b/XilinxProcessorIPLib/drivers/v_vcresampler/src/xv_vcresampler_l2.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_vcresampler_l2.c
+* @addtogroup v_vcresampler_v1_0
+* @{
+* @details
 *
 * The Vertical Chroma Resampler Layer-2 Driver.
 * The functions in this file provides an abstraction from the register peek/poke
@@ -254,3 +257,4 @@ void XV_VCrsmplDbgReportStatus(XV_vcresampler *InstancePtr)
   xil_printf("Width:            %d\r\n", width);
   xil_printf("Height:           %d\r\n", height);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_vcresampler/src/xv_vcresampler_l2.h b/XilinxProcessorIPLib/drivers/v_vcresampler/src/xv_vcresampler_l2.h
index 56da3da8..ebce418f 100644
--- a/XilinxProcessorIPLib/drivers/v_vcresampler/src/xv_vcresampler_l2.h
+++ b/XilinxProcessorIPLib/drivers/v_vcresampler/src/xv_vcresampler_l2.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_vcresampler_l2.h
+* @addtogroup v_vcresampler_v1_0
+* @{
+* @details
 *
 * This header file contains layer 2 API's of the vertical chroma resampler
 * sub-core driver.The functions contained herein provides a high level
@@ -124,3 +127,4 @@ void XV_VCrsmplDbgReportStatus(XV_vcresampler *InstancePtr);
 }
 #endif
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_vscaler/src/xv_vscaler_l2.c b/XilinxProcessorIPLib/drivers/v_vscaler/src/xv_vscaler_l2.c
index 24a07bb1..083b1158 100644
--- a/XilinxProcessorIPLib/drivers/v_vscaler/src/xv_vscaler_l2.c
+++ b/XilinxProcessorIPLib/drivers/v_vscaler/src/xv_vscaler_l2.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_vscaler_l2.c
+* @addtogroup v_vscaler_v1_0
+* @{
+* @details
 *
 * The Vertical Scaler Layer-2 Driver.
 * The functions in this file provides an abstraction from the register peek/poke
@@ -495,3 +498,4 @@ void XV_VScalerDbgReportStatus(XV_vscaler *InstancePtr)
     }
   }
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/v_vscaler/src/xv_vscaler_l2.h b/XilinxProcessorIPLib/drivers/v_vscaler/src/xv_vscaler_l2.h
index 2f3e1720..d979fd56 100644
--- a/XilinxProcessorIPLib/drivers/v_vscaler/src/xv_vscaler_l2.h
+++ b/XilinxProcessorIPLib/drivers/v_vscaler/src/xv_vscaler_l2.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xv_vscaler_l2.h
+* @addtogroup v_vscaler_v1_0
+* @{
+* @details
 *
 * This header file contains layer 2 API's of the verrtical scaler sub-core
 * driver.The functions contained herein provides a high level implementation of
@@ -192,3 +195,4 @@ void XV_VScalerDbgReportStatus(XV_vscaler *InstancePtr);
 #endif
 
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/video_common/src/xvidc.c b/XilinxProcessorIPLib/drivers/video_common/src/xvidc.c
index e22036b9..7f5910d8 100644
--- a/XilinxProcessorIPLib/drivers/video_common/src/xvidc.c
+++ b/XilinxProcessorIPLib/drivers/video_common/src/xvidc.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xvidc.c
+* @addtogroup video_common_v1_1
+* @{
+* @details
  *
  * Contains common utility functions that are typically used by video-related
  * drivers and applications.
@@ -540,3 +543,4 @@ void XVidC_ReportTiming(XVidC_VideoTiming *Timing, u8 IsInterlaced)
 			Timing->F0PVBackPorch, Timing->F0PVTotal);
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/video_common/src/xvidc.h b/XilinxProcessorIPLib/drivers/video_common/src/xvidc.h
index 023bef4c..78aad738 100644
--- a/XilinxProcessorIPLib/drivers/video_common/src/xvidc.h
+++ b/XilinxProcessorIPLib/drivers/video_common/src/xvidc.h
@@ -33,6 +33,9 @@
 /**
  *
  * @file xvidc.h
+* @addtogroup video_common_v1_1
+* @{
+* @details
  *
  * Contains common structures, definitions, macros, and utility functions that
  * are typically used by video-related drivers and applications.
@@ -388,3 +391,4 @@ void XVidC_ReportTiming(XVidC_VideoTiming *Timing, u8 IsInterlaced);
 const XVidC_VideoTimingMode XVidC_VideoTimingModes[XVIDC_VM_NUM_SUPPORTED];
 
 #endif /* XVIDC_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/video_common/src/xvidc_edid.c b/XilinxProcessorIPLib/drivers/video_common/src/xvidc_edid.c
index 9a35e7be..58a2fbc4 100644
--- a/XilinxProcessorIPLib/drivers/video_common/src/xvidc_edid.c
+++ b/XilinxProcessorIPLib/drivers/video_common/src/xvidc_edid.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xvidc_edid.c
+* @addtogroup video_common_v1_1
+* @{
+* @details
  *
  * Contains function definitions related to the Extended Display Identification
  * Data (EDID) structure which is present in all monitors. All content in this
@@ -684,3 +687,4 @@ static float XVidC_CalculateBinaryFraction(u16 Val, u8 DecPtIndex)
 
 	return (Val >> (DecPtIndex + 1)) + Res;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/video_common/src/xvidc_edid.h b/XilinxProcessorIPLib/drivers/video_common/src/xvidc_edid.h
index 862b33cf..eba249c0 100644
--- a/XilinxProcessorIPLib/drivers/video_common/src/xvidc_edid.h
+++ b/XilinxProcessorIPLib/drivers/video_common/src/xvidc_edid.h
@@ -33,6 +33,9 @@
 /**
  *
  * @file xvidc_edid.h
+* @addtogroup video_common_v1_1
+* @{
+* @details
  *
  * Contains macros, definitions, and function declarations related to the
  * Extended Display Identification Data (EDID) structure which is present in all
@@ -479,3 +482,4 @@ u32 XVidC_EdidIsVideoTimingSupported(u8 *EdidRaw,
 						XVidC_VideoTimingMode *VtMode);
 
 #endif /* XVIDC_EDID_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/video_common/src/xvidc_timings_table.c b/XilinxProcessorIPLib/drivers/video_common/src/xvidc_timings_table.c
index 02018cb5..f33a1f1f 100644
--- a/XilinxProcessorIPLib/drivers/video_common/src/xvidc_timings_table.c
+++ b/XilinxProcessorIPLib/drivers/video_common/src/xvidc_timings_table.c
@@ -33,6 +33,9 @@
 /**
  *
  * @file xvidc_timings_table.c
+* @addtogroup video_common_v1_1
+* @{
+* @details
  *
  * Contains video timings for various standard resolutions.
  *
@@ -379,3 +382,4 @@ const XVidC_VideoTimingMode XVidC_VideoTimingModes[XVIDC_VM_NUM_SUPPORTED] =
 		{3840, 176, 88, 296, 4400, 1,
 		2160, 20, 10, 60, 2250, 0, 0, 0, 0, 1} }
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.c b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.c
index e5456545..f574ca2c 100644
--- a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.c
+++ b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvprocss.c
+* @addtogroup vprocss_v1_0
+* @{
+* @details
 *
 * This is main code of Xilinx Video Processing Subsystem device driver.
 * Please see xvprocss.h for more details of the driver.
@@ -1436,3 +1439,4 @@ int XVprocss_ConfigureSubsystem(XVprocss *InstancePtr)
   }
   return(status);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.h b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.h
index 448ff1f3..5645e6c2 100644
--- a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.h
+++ b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvprocss.h
+* @addtogroup vprocss_v1_0
+* @{
+* @details
 *
 * This is main header file of the Xilinx Video Processing Subsystem driver
 *
@@ -489,3 +492,4 @@ void XVprocss_RegisterDelayHandler(XVprocss *InstancePtr,
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_dma.c b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_dma.c
index b819125c..6152f5cf 100644
--- a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_dma.c
+++ b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_dma.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvprocss_dma.c
+* @addtogroup vprocss_v1_0
+* @{
+* @details
 
 * Video buffer management routine.
 * The functions in this file provides an abstraction from the register peek/poke
@@ -572,3 +575,4 @@ void XVprocss_SetVdmaWinToUpScaleMode(XVprocss *pVprocss, u32 updateCh)
     }
   }
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_dma.h b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_dma.h
index d136bb39..c9f21ae3 100644
--- a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_dma.h
+++ b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_dma.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvprocss_dma.h
+* @addtogroup vprocss_v1_0
+* @{
+* @details
 *
 * This header file contains the video processing engine DMA buffer management
 * routines and helper functions. AXI-VDMA core is used to provide DMA
@@ -121,3 +124,4 @@ void XVprocss_SetVdmaWinToDnScaleMode(XVprocss *pVprocss, u32 updateCh);
 #endif
 
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.c b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.c
index cdbcc4c2..4f6e2e12 100644
--- a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.c
+++ b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvprocss_router.c
+* @addtogroup vprocss_v1_0
+* @{
+* @details
 
 * Video buffer management routine.
 * The functions in this file provides an abstraction from the register peek/poke
@@ -754,3 +757,4 @@ void XVprocss_SetupRouterDataFlow(XVprocss *pVprocss)
   /* Start all IP Blocks in the processing chain */
   XVprocss_Start(pVprocss);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.h b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.h
index 0418a40c..093b16c7 100644
--- a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.h
+++ b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvprocss_router.h
+* @addtogroup vprocss_v1_0
+* @{
+* @details
 *
 * This header file contains the video processing engine data flow setup
 * routines and helper functions.
@@ -68,3 +71,4 @@ void XVprocss_SetupRouterDataFlow(XVprocss *pVprocss);
 #endif
 
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_sinit.c b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_sinit.c
index ed586228..301c80b1 100644
--- a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_sinit.c
+++ b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvprocss_sinit.c
+* @addtogroup vprocss_v1_0
+* @{
+* @details
 *
 * This file contains the implementation of the Video Processing Subsystem
 * driver's static initialization functionality.
@@ -95,3 +98,4 @@ XVprocss_Config* XVprocss_LookupConfig(u32 DeviceId)
   }
   return (CfgPtr);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vtc/src/xvtc.c b/XilinxProcessorIPLib/drivers/vtc/src/xvtc.c
index 9dade90e..b4eb4211 100644
--- a/XilinxProcessorIPLib/drivers/vtc/src/xvtc.c
+++ b/XilinxProcessorIPLib/drivers/vtc/src/xvtc.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvtc.c
+* @addtogroup vtc_v7_0
+* @{
+* @details
 *
 * This is main code of Xilinx MVI Video Timing Controller (VTC) device driver.
 * The VTC device detects and generates video sync signals to Video IP cores
@@ -2611,3 +2614,4 @@ static void StubErrCallBack(void *CallBackRef, u32 ErrorMask)
 	(void)ErrorMask;
 	Xil_AssertVoidAlways();
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vtc/src/xvtc.h b/XilinxProcessorIPLib/drivers/vtc/src/xvtc.h
index d10dec79..f8d7d89a 100644
--- a/XilinxProcessorIPLib/drivers/vtc/src/xvtc.h
+++ b/XilinxProcessorIPLib/drivers/vtc/src/xvtc.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvtc.h
+* @addtogroup vtc_v7_0
+* @{
+* @details
 *
 * This is the main header file of Xilinx MVI Video Timing Controller (VTC)
 * device driver. The VTC device detects video signals, independently
@@ -952,3 +955,4 @@ int XVtc_SelfTest(XVtc *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vtc/src/xvtc_hw.h b/XilinxProcessorIPLib/drivers/vtc/src/xvtc_hw.h
index a23bb835..fbfde840 100644
--- a/XilinxProcessorIPLib/drivers/vtc/src/xvtc_hw.h
+++ b/XilinxProcessorIPLib/drivers/vtc/src/xvtc_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvtc_hw.h
+* @addtogroup vtc_v7_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level core functions (or
 * macros) that can be used to access the Xilinx VTC core.
@@ -658,3 +661,4 @@ extern "C" {
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vtc/src/xvtc_intr.c b/XilinxProcessorIPLib/drivers/vtc/src/xvtc_intr.c
index 015c6b44..44463ae9 100644
--- a/XilinxProcessorIPLib/drivers/vtc/src/xvtc_intr.c
+++ b/XilinxProcessorIPLib/drivers/vtc/src/xvtc_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvtc_intr.c
+* @addtogroup vtc_v7_0
+* @{
+* @details
 *
 * This file contains interrupt related functions of Xilinx VTC core.
 * Please see xvtc.h for more details of the core.
@@ -293,3 +296,4 @@ int XVtc_SetCallBack(XVtc *InstancePtr, u32 HandlerType,
 	}
 	return XST_SUCCESS;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vtc/src/xvtc_selftest.c b/XilinxProcessorIPLib/drivers/vtc/src/xvtc_selftest.c
index 2c9d569d..75e53d8f 100644
--- a/XilinxProcessorIPLib/drivers/vtc/src/xvtc_selftest.c
+++ b/XilinxProcessorIPLib/drivers/vtc/src/xvtc_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvtc_selftest.c
+* @addtogroup vtc_v7_0
+* @{
+* @details
 *
 * This file contains the self test function for the VTC core.
 * The self test function reads the Version register.
@@ -107,3 +110,4 @@ int XVtc_SelfTest(XVtc *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/vtc/src/xvtc_sinit.c b/XilinxProcessorIPLib/drivers/vtc/src/xvtc_sinit.c
index 86aae572..e1057845 100644
--- a/XilinxProcessorIPLib/drivers/vtc/src/xvtc_sinit.c
+++ b/XilinxProcessorIPLib/drivers/vtc/src/xvtc_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xvtc_sinit.c
+* @addtogroup vtc_v7_0
+* @{
+* @details
 *
 * This file contains static initialization methods for Xilinx VTC core.
 *
@@ -113,3 +116,4 @@ XVtc_Config *XVtc_LookupConfig(u16 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps.c b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps.c
index 1a3eb083..9aff4327 100644
--- a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps.c
+++ b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xwdtps.c
+* @addtogroup wdtps_v3_0
+* @{
+* @details
 *
 * Contains the implementation of interface functions of the XWdtPs driver.
 * See xwdtps.h for a description of the driver.
@@ -481,3 +484,4 @@ void XWdtPs_SetControlValue(XWdtPs *InstancePtr, u8 Control, u32 Value)
 	XWdtPs_WriteReg(InstancePtr->Config.BaseAddress, XWDTPS_CCR_OFFSET,
 			  Register);
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps.h b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps.h
index 498e60be..893d516e 100644
--- a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps.h
+++ b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xwdtps.h
+* @addtogroup wdtps_v3_0
+* @{
+* @details
 *
 * The Xilinx watchdog timer driver supports the Xilinx watchdog timer hardware.
 *
@@ -217,3 +220,4 @@ s32 XWdtPs_SelfTest(XWdtPs *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_g.c b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_g.c
index a9b07570..9914a28c 100644
--- a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_g.c
+++ b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xwdtps_g.c
+* @addtogroup wdtps_v3_0
+* @{
+* @details
 *
 * This file contains a table that specifies the configuration of the watchdog
 * timer devices in the system. Each device should have an entry in the table.
@@ -81,3 +84,4 @@ XWdtPs_Config XWdtPs_ConfigTable[XPAR_XWDTPS_NUM_INSTANCES] = {
 		(u32)XPAR_XWDTPS_1_BASEADDR
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_hw.h b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_hw.h
index 2cd3b272..fe341e9d 100644
--- a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_hw.h
+++ b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xwdtps_hw.h
+* @addtogroup wdtps_v3_0
+* @{
+* @details
 *
 * This file contains the hardware interface to the System Watch Dog Timer (WDT).
 *
@@ -188,3 +191,4 @@ extern "C" {
 #endif
 
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_selftest.c b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_selftest.c
index e6bf838f..6287a06c 100644
--- a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_selftest.c
+++ b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xwdtps_selftest.c
+* @addtogroup wdtps_v3_0
+* @{
+* @details
 *
 * Contains diagnostic self-test functions for the XWdtPs driver.
 *
@@ -168,3 +171,4 @@ s32 XWdtPs_SelfTest(XWdtPs *InstancePtr)
 	}
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_sinit.c b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_sinit.c
index 6794aa2f..31e3056d 100644
--- a/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_sinit.c
+++ b/XilinxProcessorIPLib/drivers/wdtps/src/xwdtps_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xwdtps_sinit.c
+* @addtogroup wdtps_v3_0
+* @{
+* @details
 *
 * This file contains method for static initialization (compile-time) of the
 * driver.
@@ -91,3 +94,4 @@ XWdtPs_Config *XWdtPs_LookupConfig(u16 DeviceId)
 	}
 	return (XWdtPs_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb.c b/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb.c
index b095122e..db0fa080 100644
--- a/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb.c
+++ b/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xwdttb.c
+* @addtogroup wdttb_v3_0
+* @{
+* @details
 *
 * Contains the required functions of the XWdtTb driver. See xwdttb.h for a
 * description of the driver.
@@ -380,3 +383,4 @@ XWdtTb_Config *XWdtTb_LookupConfig(u16 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb.h b/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb.h
index 439c2bb0..9600b6d5 100644
--- a/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb.h
+++ b/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xwdttb.h
+* @addtogroup wdttb_v3_0
+* @{
+* @details
 *
 * The Xilinx watchdog timer/timebase component supports the Xilinx watchdog
 * timer/timebase hardware. More detailed description of the driver operation
@@ -173,3 +176,4 @@ int XWdtTb_SelfTest(XWdtTb *InstancePtr);
 #endif
 
 #endif /* end of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_g.c b/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_g.c
index 49e0bff0..44081eff 100644
--- a/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_g.c
+++ b/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xwdttb_g.c
+* @addtogroup wdttb_v3_0
+* @{
+* @details
 *
 * This file contains a table that specifies the configuration of all watchdog
 * timer devices in the system. Each device should have an entry in the table.
@@ -77,3 +80,4 @@ XWdtTb_Config XWdtTb_ConfigTable[XPAR_XWDTTB_NUM_INSTANCES] = {
 	 XPAR_WDTTB_0_DEVICE_ID,
 	 XPAR_WDTTB_0_BASEADDR}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_l.h b/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_l.h
index 284d51c9..e2b5cb5b 100644
--- a/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_l.h
+++ b/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_l.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xwdttb_l.h
+* @addtogroup wdttb_v3_0
+* @{
+* @details
 *
 * This header file contains identifiers and basic driver functions (or
 * macros) that can be used to access the device.
@@ -151,3 +154,4 @@ extern "C" {
 #endif
 
 #endif
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_selftest.c b/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_selftest.c
index 485af9b5..7bd2aa42 100644
--- a/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_selftest.c
+++ b/XilinxProcessorIPLib/drivers/wdttb/src/xwdttb_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xwdttb_selftest.c
+* @addtogroup wdttb_v3_0
+* @{
+* @details
 *
 * Contains diagnostic self-test functions for the XWdtTb component.
 *
@@ -130,3 +133,4 @@ int XWdtTb_SelfTest(XWdtTb *InstancePtr)
 		return XST_WDTTB_TIMER_FAILED;
 	}
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps.c b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps.c
index 870da591..1ad4d317 100644
--- a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps.c
+++ b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xadcps.c
+* @addtogroup xadcps_v2_2
+* @{
+* @details
 *
 * This file contains the driver API functions that can be used to access
 * the XADC device.
@@ -1826,3 +1829,4 @@ u32 XAdcPs_ReadInternalReg(XAdcPs *InstancePtr, u32 RegOffset)
 	return RegData;
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps.h b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps.h
index e5bcf016..489a1ee8 100644
--- a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps.h
+++ b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xadcps.h
+* @addtogroup xadcps_v2_2
+* @{
+* @details
 *
 * The XAdcPs driver supports the Xilinx XADC/ADC device.
 *
@@ -577,3 +580,4 @@ void XAdcPs_IntrClear(XAdcPs *InstancePtr, u32 Mask);
 #endif
 
 #endif  /* End of protection macro. */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_g.c b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_g.c
index 8d4b6aad..b450e15e 100644
--- a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_g.c
+++ b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_g.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xadcps_g.c
+* @addtogroup xadcps_v2_2
+* @{
+* @details
 *
 * This file contains a configuration table that specifies the configuration
 * of XADC devices in the system when accessing through the Device Config
@@ -80,3 +83,4 @@ XAdcPs_Config XAdcPs_ConfigTable[XPAR_XADCPS_NUM_INSTANCES] =
 		XPAR_XADCPS_0_BASEADDR		/**< Base address of device */
 	}
 };
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_hw.h b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_hw.h
index ad0e4835..2f70ed27 100644
--- a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_hw.h
+++ b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xadcps_hw.h
+* @addtogroup xadcps_v2_2
+* @{
+* @details
 *
 * This header file contains identifiers and basic driver functions (or
 * macros) that can be used to access the XADC device through the Device
@@ -497,3 +500,4 @@ extern "C" {
 #endif
 
 #endif  /* End of protection macro. */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_intr.c b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_intr.c
index ee60a1ee..6ed78701 100644
--- a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_intr.c
+++ b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xadcps_intr.c
+* @addtogroup xadcps_v2_2
+* @{
+* @details
 *
 * This file contains interrupt handling API functions of the XADC
 * device.
@@ -245,3 +248,4 @@ void XAdcPs_IntrClear(XAdcPs *InstancePtr, u32 Mask)
 			  RegValue);
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_selftest.c b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_selftest.c
index 893674eb..06074592 100644
--- a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_selftest.c
+++ b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xadcps_selftest.c
+* @addtogroup xadcps_v2_2
+* @{
+* @details
 *
 * This file contains a diagnostic self test function for the XAdcPs driver.
 * The self test function does a simple read/write test of the Alarm Threshold
@@ -136,3 +139,4 @@ int XAdcPs_SelfTest(XAdcPs *InstancePtr)
 	 */
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_sinit.c b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_sinit.c
index 6f593858..a5adb4d0 100644
--- a/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_sinit.c
+++ b/XilinxProcessorIPLib/drivers/xadcps/src/xadcps_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xadcps_sinit.c
+* @addtogroup xadcps_v2_2
+* @{
+* @details
 *
 * This file contains the implementation of the XAdcPs driver's static
 * initialization functionality.
@@ -98,3 +101,4 @@ XAdcPs_Config *XAdcPs_LookupConfig(u16 DeviceId)
 
 	return CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb.c b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb.c
index bc466691..363508bd 100644
--- a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb.c
+++ b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xycrcb2rgb.c
+* @addtogroup ycrcb2rgb_v7_0
+* @{
+* @details
 *
 * This file contains the implementation of the interface functions for
 * YCRCB2RGB core. Refer to the header file xycrcb2rgb.h for more detailed
@@ -1284,3 +1287,4 @@ static double XYCrCb2Rgb_Pow2(u32 Num)
 
 	return Power;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb.h b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb.h
index 9b968e81..d9d7bdff 100644
--- a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb.h
+++ b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xycrcb2rgb.h
+* @addtogroup ycrcb2rgb_v7_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level driver functions
 * (or macros), range macros, structure typedefs that can be used to access the
@@ -790,3 +793,4 @@ int XYCrCb2Rgb_SetCallBack(XYCrCb2Rgb *InstancePtr, u32 HandlerType,
 #endif
 
 #endif /* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_hw.h b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_hw.h
index 7b96c040..6eb21ca2 100644
--- a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_hw.h
+++ b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xycrcb2rgb_hw.h
+* @addtogroup ycrcb2rgb_v7_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level driver functions (or
 * macros) that can be used to access the Xilinx YCrCb to RGB Color Space
@@ -338,3 +341,4 @@ extern "C" {
 #endif
 
 #endif	/* End of protection macro */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_intr.c b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_intr.c
index 6ce3bc35..5f12349b 100644
--- a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_intr.c
+++ b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xycrcb2rgb_intr.c
+* @addtogroup ycrcb2rgb_v7_0
+* @{
+* @details
 *
 * This file contains interrupt related functions for the YCRCB2RGB core.
 * Please see xycrcb2rgb.h for more details of the driver.
@@ -202,3 +205,4 @@ int XYCrCb2Rgb_SetCallBack(XYCrCb2Rgb *InstancePtr, u32 HandlerType,
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_selftest.c b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_selftest.c
index b7f44a3b..bd5a958a 100644
--- a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_selftest.c
+++ b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xycrcb2rgb_selftest.c
+* @addtogroup ycrcb2rgb_v7_0
+* @{
+* @details
 *
 * This file contains the self-test function for the YCRCB2RGB core.
 *
@@ -105,3 +108,4 @@ int XYCrCb2Rgb_SelfTest(XYCrCb2Rgb *InstancePtr)
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_sinit.c b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_sinit.c
index 91ee38f3..6f2ad0cf 100644
--- a/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_sinit.c
+++ b/XilinxProcessorIPLib/drivers/ycrcb2rgb/src/xycrcb2rgb_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xycrcb2rgb_sinit.c
+* @addtogroup ycrcb2rgb_v7_0
+* @{
+* @details
 *
 * This file contains static initialization methods for Xilinx YCRCB2RGB core.
 *
@@ -108,3 +111,4 @@ XYCrCb2Rgb_Config *XYCrCb2Rgb_LookupConfig(u16 DeviceId)
 
 	return (XYCrCb2Rgb_Config *)CfgPtr;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/zdma/src/xzdma.c b/XilinxProcessorIPLib/drivers/zdma/src/xzdma.c
index 3e80d2a7..690a9505 100644
--- a/XilinxProcessorIPLib/drivers/zdma/src/xzdma.c
+++ b/XilinxProcessorIPLib/drivers/zdma/src/xzdma.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xzdma.c
+* @addtogroup zdma_v1_0
+* @{
+* @details
 *
 * This file contains the implementation of the interface functions for ZDMA
 * driver. Refer to the header file xzdma.h for more detailed information.
@@ -1265,3 +1268,4 @@ static void StubDoneCallBack(void *CallBackRef)
 	Xil_AssertVoid(CallBackRef != NULL);
 	Xil_AssertVoidAlways();
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/zdma/src/xzdma.h b/XilinxProcessorIPLib/drivers/zdma/src/xzdma.h
index af8430e6..70b43e78 100644
--- a/XilinxProcessorIPLib/drivers/zdma/src/xzdma.h
+++ b/XilinxProcessorIPLib/drivers/zdma/src/xzdma.h
@@ -94,6 +94,9 @@
 * to build and link only those parts of the driver that are necessary.
 *
 * @file xzdma.h
+* @addtogroup zdma_v1_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level driver functions (or
 * macros), range macros, structure typedefs that can be used to access the
@@ -667,3 +670,4 @@ s32 XZDma_SetCallBack(XZDma *InstancePtr, XZDma_Handler HandlerType,
 #endif
 
 #endif /* XZDMA_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/zdma/src/xzdma_hw.h b/XilinxProcessorIPLib/drivers/zdma/src/xzdma_hw.h
index 22a006e1..3bc23048 100644
--- a/XilinxProcessorIPLib/drivers/zdma/src/xzdma_hw.h
+++ b/XilinxProcessorIPLib/drivers/zdma/src/xzdma_hw.h
@@ -33,6 +33,9 @@
 /**
 *
 * @file xzdma_hw.h
+* @addtogroup zdma_v1_0
+* @{
+* @details
 *
 * This header file contains identifiers and register-level driver functions (or
 * macros) that can be used to access the Xilinx ZDMA core.
@@ -378,3 +381,4 @@ extern "C" {
 #endif
 
 #endif /* XZDMA_HW_H_ */
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/zdma/src/xzdma_intr.c b/XilinxProcessorIPLib/drivers/zdma/src/xzdma_intr.c
index 3543ad74..bcca5ce3 100644
--- a/XilinxProcessorIPLib/drivers/zdma/src/xzdma_intr.c
+++ b/XilinxProcessorIPLib/drivers/zdma/src/xzdma_intr.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xzdma_intr.c
+* @addtogroup zdma_v1_0
+* @{
+* @details
 *
 * This file contains interrupt related functions of Xilinx ZDMA core.
 * Please see xzdma.h for more details of the driver.
@@ -200,3 +203,4 @@ s32 XZDma_SetCallBack(XZDma *InstancePtr, XZDma_Handler HandlerType,
 
 	return Status;
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/zdma/src/xzdma_selftest.c b/XilinxProcessorIPLib/drivers/zdma/src/xzdma_selftest.c
index 7c2957e1..64ea394a 100644
--- a/XilinxProcessorIPLib/drivers/zdma/src/xzdma_selftest.c
+++ b/XilinxProcessorIPLib/drivers/zdma/src/xzdma_selftest.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xzdma_selftest.c
+* @addtogroup zdma_v1_0
+* @{
+* @details
 *
 * This file contains the self-test function for the ZDMA core.
 *
@@ -114,3 +117,4 @@ s32 XZDma_SelfTest(XZDma *InstancePtr)
 	return Status;
 
 }
+/** @} */
diff --git a/XilinxProcessorIPLib/drivers/zdma/src/xzdma_sinit.c b/XilinxProcessorIPLib/drivers/zdma/src/xzdma_sinit.c
index fa71fe6e..1bed7035 100644
--- a/XilinxProcessorIPLib/drivers/zdma/src/xzdma_sinit.c
+++ b/XilinxProcessorIPLib/drivers/zdma/src/xzdma_sinit.c
@@ -33,6 +33,9 @@
 /**
 *
 * @file xzdma_sinit.c
+* @addtogroup zdma_v1_0
+* @{
+* @details
 *
 * This file contains static initialization methods for Xilinx ZDMA core.
 *
@@ -101,3 +104,4 @@ XZDma_Config *XZDma_LookupConfig(u16 DeviceId)
 
 	return (XZDma_Config *)CfgPtr;
 }
+/** @} */