diff --git a/Makefile b/Makefile
index 6c060bf0..6b7cc83f 100644
--- a/Makefile
+++ b/Makefile
@@ -90,7 +90,7 @@ install: lib
$(Q)$(INSTALL) -m 0644 scripts/* $(SHAREDIR)
doc:
- $(Q)$(MAKE) -C doc doc
+ $(Q)$(MAKE) -C doc html
# Bleh http://www.makelinux.net/make3/make3-CHP-6-SECT-1#make3-CHP-6-SECT-1
clean: cleanheaders
diff --git a/doc/Doxyfile_common b/doc/Doxyfile_common
index 8182f1fd..e6114514 100644
--- a/doc/Doxyfile_common
+++ b/doc/Doxyfile_common
@@ -536,7 +536,7 @@ GENERATE_BUGLIST = YES
# disable (NO) the deprecated list. This list is created by putting
# \deprecated commands in the documentation.
-GENERATE_DEPRECATEDLIST= YES
+GENERATE_DEPRECATEDLIST= NO
# The ENABLED_SECTIONS tag can be used to enable conditional
# documentation sections, marked by \if sectionname ... \endif.
diff --git a/doc/DoxygenLayout.xml b/doc/DoxygenLayout.xml
index b958d14a..b97c54da 100644
--- a/doc/DoxygenLayout.xml
+++ b/doc/DoxygenLayout.xml
@@ -5,14 +5,18 @@
-
+
+
+
+
+
diff --git a/doc/HACKING b/doc/HACKING
new file mode 100644
index 00000000..07fb872a
--- /dev/null
+++ b/doc/HACKING
@@ -0,0 +1,89 @@
+libopencm3 Documentation
+12 October 2012 (C) K Sarkies
+-----------------------------
+
+Each family and subfamily of devices has a separate directory and configuration
+files. Doxygen is run independently on each of these and the result is
+integrated under a single HTML page. LaTeX and pdf files are produced
+separately. Due to relative referencing used in the files, the directory
+structure is important and should be maintained.
+
+Each of the subdirectories has a configuration file, a layout file and
+subdirectories for the documentation. Doxygen is intended to be run inside
+these subdirectories. The Makefile will handle this in the appropriate
+order. Tag files are generated and used by other doxygen runs to resolve links.
+
+Tagfiles
+--------
+
+Tagfiles contain all information about the document, and are used to resolve
+references in other documents. The groups defined in these external documents
+are not shown when EXTERNAL_GROUPS = NO. The high level tagfiles must be
+generated before any others so order is important.
+
+As well as the processor families, a "cm3" subdirectory is used to generate
+a tagfile to integrate the CM3 common core defines.
+
+Markup
+------
+
+Each family has been given a group name that will allow subgrouping of API
+functions and defines in the documentation.
+
+The header and source files for each family must have a heading section
+in which an @defgroup defines the group names. For a peripheral xxx the
+header will have a group name xxx_defines and the source file will have
+xxx_file. This will allow the group to appear separately. An @ingroup must
+be provided to place the group as a subgroup of the appropriate family
+grouping. Note that @file is not used.
+
+Common header and source files must have an @addgroup to include its
+documentation into the appropriate peripheral group. These must not have any
+reference to family groupings to allow them to be incorporated into multiple
+family groups.
+
+Each function must have a header with an @brief, and where appropriate
+@parameter and @return elements. These must describe the allowable parameter
+ranges preferably with reference to a suitable define.
+
+The Doxyfile for a family must include input files from the header and source
+subdirectories, as well as all needed common files. The common files can be
+added separately or as an entire directory with exclusions of inappropriate
+files.
+
+Doxyfiles
+---------
+
+Doxyfile_common holds global settings.
+
+OUTPUT_DIRECTORY blank so that the output is placed in the current directory.
+RECURSIVE = NO
+EXTERNAL_GROUPS = NO
+
+Each Doxyfile_include for a processor family has:
+
+@INCLUDE = ../Doxyfile_common
+INPUT = specific directories needed, including /include/libopencm3/cm3
+ in top directory to set the top level page and GNU license.
+LAYOUT_FILE = DoxygenLayout_$processor.xml
+WARN_LOGFILE = doxygen_$processor.log
+TAGFILES = ../cm3/cm3.tag=../../cm3/html
+GENERATE_TAGFILE = $processor.tag
+
+For the top level Doxyfile
+
+INPUT = ../include/libopencm3/docmain.dox to add in the main page text
+LAYOUT_FILE = DoxygenLayout.xml
+WARN_LOGFILE = doxygen.log
+TAGFILES = cm3/cm3.tag=../cm3/html plus all families to be included.
+
+Generation of PDF
+-----------------
+
+The needs for pdf documents differ from HTML so separate Doxyfile_latex
+files are provided.
+
+@INCLUDE = ../Doxyfile_common
+GENERATE_LATEX = YES
+GENERATE_HTML = NO
+
diff --git a/doc/Makefile b/doc/Makefile
index ff366771..a9b44388 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -5,7 +5,7 @@
doc: html latex
-html: cm3 stm32 stm32f1 stm32f2 stm32f4 lm3s lpc13 lpc17 lpc43 top
+html: cm3 stm32l1 stm32f1 stm32f2 stm32f4 efm32g efm32gg efm32lg efm32tg lm3s lpc13 lpc17 lpc43 top
cm3:
cd cm3/; doxygen
@@ -13,6 +13,18 @@ cm3:
lm3s:
cd lm3s/; doxygen
+efm32g:
+ cd efm32g/; doxygen
+
+efm32gg:
+ cd efm32gg/; doxygen
+
+efm32lg:
+ cd efm32lg/; doxygen
+
+efm32tg:
+ cd efm32tg/; doxygen
+
lpc13:
cd lpc13xx/; doxygen
@@ -22,9 +34,6 @@ lpc17:
lpc43:
cd lpc43xx/; doxygen
-stm32:
- cd stm32/; doxygen
-
stm32f1:
cd stm32f1/; doxygen
@@ -34,10 +43,16 @@ stm32f2:
stm32f4:
cd stm32f4/; doxygen
+stm32l1:
+ cd stm32l1/; doxygen
+
top:
doxygen
-latex: stm32f1.pdf stm32f2.pdf stm32f4.pdf lm3s.pdf lpc13.pdf lpc17.pdf lpc43.pdf
+latex: stm32l1.pdf stm32f1.pdf stm32f2.pdf stm32f4.pdf lm3s.pdf lpc13.pdf lpc17.pdf lpc43.pdf efm32g.pdf efm32gg.pdf efm32lg.pdf efm32tg.pdf
+
+stm32l1.pdf:
+ cd stm32l1/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../stm32l1.pdf
stm32f1.pdf:
cd stm32f1/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../stm32f1.pdf
@@ -60,8 +75,20 @@ lpc17.pdf:
lpc43.pdf:
cd lpc43xx/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../lpc43.pdf
+efm32g.pdf:
+ cd efm32g/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../efm32g.pdf
+
+efm32gg.pdf:
+ cd efm32gg/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../efm32gg.pdf
+
+efm32lg.pdf:
+ cd efm32lg/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../efm32lg.pdf
+
+efm32tg.pdf:
+ cd efm32tg/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../efm32tg.pdf
+
clean:
@rm -rf html/ */html/ */latex/ *.pdf */*.tag
-.PHONY: doc html cm3 lm3s lpc13 lpc17 lpc43 stm32 stm32f1 stm32f2 stm32f4 top latex
+.PHONY: doc html cm3 lm3s lpc13 lpc17 lpc43 stm32l1 stm32f1 stm32f2 stm32f4 efm32g efm32gg efm32lg efm32tg top latex
diff --git a/doc/README b/doc/README
index 81d82624..947564c1 100644
--- a/doc/README
+++ b/doc/README
@@ -1,68 +1,27 @@
libopencm3 Documentation
14 September 2012 (C) K Sarkies
-------------------------
+-------------------------------
-To generate documentation run 'make doc' in the doc directory. This
-runs doxygen for each of the processor families then integrates the whole.
+To generate all documentation run 'make doc' in the doc directory, or
+for html documentation only run 'make html' (much faster). This runs doxygen
+for each of the processor families then integrates the whole.
+
+Alternatively run 'make doc' in the top directory to make html documentation.
+LaTeX and pdf documentation is currently very large in size.
This requires doxygen v 1.8.2 or later.
-HTML, LaTeX, and pdf output is produced.
+HTML, LaTeX, and pdf output can be produced.
Generation of HTML
------------------
-To view HTML, point a browser to doc/html/index.html.
-
-The directory structure is important and should be maintained.
-Each of the subdirectories has a configuration file, a layout file and
-subdirectories for the documentation. Doxygen is intended to be run inside
-these subdirectories. The Makefile will handle this in the appropriate
-order. Tag files are generated and used by other doxygen runs to resolve links.
-
-Tagfiles contain all information about the document, and are used to resolve
-references in other documents. The groups defined in these external documents
-are not shown when EXTERNAL_GROUPS = NO. The high level tagfiles must be generated
-before any others.
-
-As well as the processor families, a "cm3" subdirectory is used to generate
-a tagfile to integrate the CM3 common core defines.
-
-Doxyfile_common holds global settings.
-
-OUTPUT_DIRECTORY blank so that the output is placed in the current directory.
-RECURSIVE = NO
-EXTERNAL_GROUPS = NO
-
-Each Doxyfile_include for a processor family has:
-
-@INCLUDE = ../Doxyfile_common
-INPUT = specific directories needed, including /include/libopencm3/cm3
- in top directory to set the top level page and GNU license.
-LAYOUT_FILE = DoxygenLayout_$processor.xml
-WARN_LOGFILE = doxygen_$processor.log
-TAGFILES = ../cm3/cm3.tag=../../cm3/html
-GENERATE_TAGFILE = $processor.tag
-
-For the STM32 subfamilies, to include the common files references, add
-TAGFILES += ../stm32/stm32.tag=../../stm32/html
-
-For the top level Doxyfile
-
-INPUT = ../include/libopencm3/docmain.dox to add in the main page text
-LAYOUT_FILE = DoxygenLayout.xml
-WARN_LOGFILE = doxygen.log
-TAGFILES = cm3/cm3.tag=../cm3/html plus all families to be included.
+To view HTML, point a browser to libopencm3/doc/html/index.html.
Generation of PDF
-----------------
-The pdf is generated via LaTeX. The needs for the documents differ from HTML
-so separate Doxyfile_latex are provided. The pdf files are placed in the
+The pdf is generated via LaTeX. The pdf files are placed in the
doc directory. Each file contains all documentation for the core and common
-features.
-
-@INCLUDE = ../Doxyfile_common
-GENERATE_LATEX = YES
-GENERATE_HTML = NO
+features. The resulting files are huge.
diff --git a/doc/cm3/DoxygenLayout_cm3.xml b/doc/cm3/DoxygenLayout_cm3.xml
index 462a24b5..275846e8 100644
--- a/doc/cm3/DoxygenLayout_cm3.xml
+++ b/doc/cm3/DoxygenLayout_cm3.xml
@@ -8,10 +8,15 @@
+
+
+
+
+
diff --git a/doc/efm32g/Doxyfile b/doc/efm32g/Doxyfile
new file mode 100644
index 00000000..c80eaa2d
--- /dev/null
+++ b/doc/efm32g/Doxyfile
@@ -0,0 +1,29 @@
+# HTML Documentation for efm32 code level
+
+# 11 November 2012
+# (C) Ken Sarkies
+
+#---------------------------------------------------------------------------
+# Common Include File
+#---------------------------------------------------------------------------
+
+@INCLUDE = ../Doxyfile_common
+
+#---------------------------------------------------------------------------
+# Local settings
+#---------------------------------------------------------------------------
+
+WARN_LOGFILE = doxygen_efm32g.log
+
+INPUT = ../../include/libopencm3/license.dox \
+ ../../include/libopencm3/efm32/efm32g \
+ ../../lib/efm32/efm32g
+
+EXCLUDE =
+
+LAYOUT_FILE = DoxygenLayout_efm32g.xml
+
+TAGFILES = ../cm3/cm3.tag=../../cm3/html \
+
+GENERATE_TAGFILE = efm32g.tag
+
diff --git a/doc/efm32g/Doxyfile_latex b/doc/efm32g/Doxyfile_latex
new file mode 100644
index 00000000..47373f0e
--- /dev/null
+++ b/doc/efm32g/Doxyfile_latex
@@ -0,0 +1,32 @@
+# LaTeX Documentation for efm32 code level
+
+# 12 November 2012
+# (C) Ken Sarkies
+
+#---------------------------------------------------------------------------
+# Common Include File
+#---------------------------------------------------------------------------
+
+@INCLUDE = ../Doxyfile_common
+
+#---------------------------------------------------------------------------
+# Local settings
+#---------------------------------------------------------------------------
+
+WARN_LOGFILE = doxygen_efm32g_latex.log
+
+INPUT = ../../include/libopencm3/docmain.dox \
+ ../../include/libopencm3/license.dox \
+ ../../include/libopencm3/efm32/efm32g \
+ ../../lib/efm32/efm32g
+
+EXCLUDE = ../../include/libopencm3/efm32/doc-efm32g.h
+
+LAYOUT_FILE = DoxygenLayout_efm32g.xml
+
+GENERATE_HTML = NO
+
+GENERATE_LATEX = YES
+
+LATEX_HEADER = header_efm32g.tex
+
diff --git a/doc/efm32g/DoxygenLayout_efm32g.xml b/doc/efm32g/DoxygenLayout_efm32g.xml
new file mode 100644
index 00000000..32a668d6
--- /dev/null
+++ b/doc/efm32g/DoxygenLayout_efm32g.xml
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/efm32g/header_efm32g.tex b/doc/efm32g/header_efm32g.tex
new file mode 100644
index 00000000..43a3ea6a
--- /dev/null
+++ b/doc/efm32g/header_efm32g.tex
@@ -0,0 +1,61 @@
+\documentclass{book}
+\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
+\usepackage{makeidx}
+\usepackage{natbib}
+\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{float}
+\usepackage{listings}
+\usepackage{color}
+\usepackage{ifthen}
+\usepackage[table]{xcolor}
+\usepackage{textcomp}
+\usepackage{alltt}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage[pdftex,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\else
+\usepackage[ps2pdf,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\usepackage{pspicture}
+\fi
+\usepackage[utf8]{inputenc}
+\usepackage{mathptmx}
+\usepackage[scaled=.90]{helvet}
+\usepackage{courier}
+\usepackage{sectsty}
+\usepackage{amssymb}
+\usepackage[titles]{tocloft}
+\usepackage{doxygen}
+\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
+\makeindex
+\setcounter{tocdepth}{3}
+\renewcommand{\footrulewidth}{0.4pt}
+\renewcommand{\familydefault}{\sfdefault}
+\hfuzz=15pt
+\setlength{\emergencystretch}{15pt}
+\hbadness=750
+\tolerance=750
+\begin{document}
+\hypersetup{pageanchor=false,citecolor=blue}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}
+{\Huge libopencm3: API Reference\\ EFM32 Gecko ARM Cortex M3 Series}\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.8.2}\\
+\vspace*{0.5cm}
+{\small Thu Sep 13 2012 23:26:45}\\
+\end{center}
+\end{titlepage}
+\pagenumbering{arabic}
+\hypersetup{pageanchor=true,citecolor=blue}
diff --git a/doc/efm32gg/Doxyfile b/doc/efm32gg/Doxyfile
new file mode 100644
index 00000000..210d75d4
--- /dev/null
+++ b/doc/efm32gg/Doxyfile
@@ -0,0 +1,29 @@
+# HTML Documentation for efm32 code level
+
+# 11 November 2012
+# (C) Ken Sarkies
+
+#---------------------------------------------------------------------------
+# Common Include File
+#---------------------------------------------------------------------------
+
+@INCLUDE = ../Doxyfile_common
+
+#---------------------------------------------------------------------------
+# Local settings
+#---------------------------------------------------------------------------
+
+WARN_LOGFILE = doxygen_efm32gg.log
+
+INPUT = ../../include/libopencm3/license.dox \
+ ../../include/libopencm3/efm32/efm32gg \
+ ../../lib/efm32/efm32gg
+
+EXCLUDE =
+
+LAYOUT_FILE = DoxygenLayout_efm32gg.xml
+
+TAGFILES = ../cm3/cm3.tag=../../cm3/html \
+
+GENERATE_TAGFILE = efm32gg.tag
+
diff --git a/doc/efm32gg/Doxyfile_latex b/doc/efm32gg/Doxyfile_latex
new file mode 100644
index 00000000..2f1f8fd0
--- /dev/null
+++ b/doc/efm32gg/Doxyfile_latex
@@ -0,0 +1,32 @@
+# LaTeX Documentation for efm32 code level
+
+# 12 November 2012
+# (C) Ken Sarkies
+
+#---------------------------------------------------------------------------
+# Common Include File
+#---------------------------------------------------------------------------
+
+@INCLUDE = ../Doxyfile_common
+
+#---------------------------------------------------------------------------
+# Local settings
+#---------------------------------------------------------------------------
+
+WARN_LOGFILE = doxygen_efm32gg_latex.log
+
+INPUT = ../../include/libopencm3/docmain.dox \
+ ../../include/libopencm3/license.dox \
+ ../../include/libopencm3/efm32/efm32gg \
+ ../../lib/efm32/efm32gg
+
+EXCLUDE = ../../include/libopencm3/efm32/doc-efm32gg.h
+
+LAYOUT_FILE = DoxygenLayout_efm32gg.xml
+
+GENERATE_HTML = NO
+
+GENERATE_LATEX = YES
+
+LATEX_HEADER = header_efm32gg.tex
+
diff --git a/doc/efm32gg/DoxygenLayout_efm32gg.xml b/doc/efm32gg/DoxygenLayout_efm32gg.xml
new file mode 100644
index 00000000..09b37432
--- /dev/null
+++ b/doc/efm32gg/DoxygenLayout_efm32gg.xml
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/efm32gg/header_efm32gg.tex b/doc/efm32gg/header_efm32gg.tex
new file mode 100644
index 00000000..55288fbd
--- /dev/null
+++ b/doc/efm32gg/header_efm32gg.tex
@@ -0,0 +1,61 @@
+\documentclass{book}
+\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
+\usepackage{makeidx}
+\usepackage{natbib}
+\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{float}
+\usepackage{listings}
+\usepackage{color}
+\usepackage{ifthen}
+\usepackage[table]{xcolor}
+\usepackage{textcomp}
+\usepackage{alltt}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage[pdftex,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\else
+\usepackage[ps2pdf,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\usepackage{pspicture}
+\fi
+\usepackage[utf8]{inputenc}
+\usepackage{mathptmx}
+\usepackage[scaled=.90]{helvet}
+\usepackage{courier}
+\usepackage{sectsty}
+\usepackage{amssymb}
+\usepackage[titles]{tocloft}
+\usepackage{doxygen}
+\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
+\makeindex
+\setcounter{tocdepth}{3}
+\renewcommand{\footrulewidth}{0.4pt}
+\renewcommand{\familydefault}{\sfdefault}
+\hfuzz=15pt
+\setlength{\emergencystretch}{15pt}
+\hbadness=750
+\tolerance=750
+\begin{document}
+\hypersetup{pageanchor=false,citecolor=blue}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}
+{\Huge libopencm3: API Reference\\ EFM32 Giant Gecko ARM Cortex M3 Series}\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.8.2}\\
+\vspace*{0.5cm}
+{\small Thu Sep 13 2012 23:26:45}\\
+\end{center}
+\end{titlepage}
+\pagenumbering{arabic}
+\hypersetup{pageanchor=true,citecolor=blue}
diff --git a/doc/efm32lg/Doxyfile b/doc/efm32lg/Doxyfile
new file mode 100644
index 00000000..60b5e0c9
--- /dev/null
+++ b/doc/efm32lg/Doxyfile
@@ -0,0 +1,29 @@
+# HTML Documentation for efm32 code level
+
+# 11 November 2012
+# (C) Ken Sarkies
+
+#---------------------------------------------------------------------------
+# Common Include File
+#---------------------------------------------------------------------------
+
+@INCLUDE = ../Doxyfile_common
+
+#---------------------------------------------------------------------------
+# Local settings
+#---------------------------------------------------------------------------
+
+WARN_LOGFILE = doxygen_efm32lg.log
+
+INPUT = ../../include/libopencm3/license.dox \
+ ../../include/libopencm3/efm32/efm32lg \
+ ../../lib/efm32/efm32lg
+
+EXCLUDE =
+
+LAYOUT_FILE = DoxygenLayout_efm32lg.xml
+
+TAGFILES = ../cm3/cm3.tag=../../cm3/html \
+
+GENERATE_TAGFILE = efm32lg.tag
+
diff --git a/doc/efm32lg/Doxyfile_latex b/doc/efm32lg/Doxyfile_latex
new file mode 100644
index 00000000..0b8ed0df
--- /dev/null
+++ b/doc/efm32lg/Doxyfile_latex
@@ -0,0 +1,32 @@
+# LaTeX Documentation for efm32 code level
+
+# 12 November 2012
+# (C) Ken Sarkies
+
+#---------------------------------------------------------------------------
+# Common Include File
+#---------------------------------------------------------------------------
+
+@INCLUDE = ../Doxyfile_common
+
+#---------------------------------------------------------------------------
+# Local settings
+#---------------------------------------------------------------------------
+
+WARN_LOGFILE = doxygen_efm32lg_latex.log
+
+INPUT = ../../include/libopencm3/docmain.dox \
+ ../../include/libopencm3/license.dox \
+ ../../include/libopencm3/efm32/efm32lg \
+ ../../lib/efm32/efm32lg
+
+EXCLUDE = ../../include/libopencm3/efm32/doc-efm32lg.h
+
+LAYOUT_FILE = DoxygenLayout_efm32lg.xml
+
+GENERATE_HTML = NO
+
+GENERATE_LATEX = YES
+
+LATEX_HEADER = header_efm32lg.tex
+
diff --git a/doc/efm32lg/DoxygenLayout_efm32lg.xml b/doc/efm32lg/DoxygenLayout_efm32lg.xml
new file mode 100644
index 00000000..dd5a712a
--- /dev/null
+++ b/doc/efm32lg/DoxygenLayout_efm32lg.xml
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/efm32lg/header_efm32lg.tex b/doc/efm32lg/header_efm32lg.tex
new file mode 100644
index 00000000..900752cf
--- /dev/null
+++ b/doc/efm32lg/header_efm32lg.tex
@@ -0,0 +1,61 @@
+\documentclass{book}
+\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
+\usepackage{makeidx}
+\usepackage{natbib}
+\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{float}
+\usepackage{listings}
+\usepackage{color}
+\usepackage{ifthen}
+\usepackage[table]{xcolor}
+\usepackage{textcomp}
+\usepackage{alltt}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage[pdftex,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\else
+\usepackage[ps2pdf,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\usepackage{pspicture}
+\fi
+\usepackage[utf8]{inputenc}
+\usepackage{mathptmx}
+\usepackage[scaled=.90]{helvet}
+\usepackage{courier}
+\usepackage{sectsty}
+\usepackage{amssymb}
+\usepackage[titles]{tocloft}
+\usepackage{doxygen}
+\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
+\makeindex
+\setcounter{tocdepth}{3}
+\renewcommand{\footrulewidth}{0.4pt}
+\renewcommand{\familydefault}{\sfdefault}
+\hfuzz=15pt
+\setlength{\emergencystretch}{15pt}
+\hbadness=750
+\tolerance=750
+\begin{document}
+\hypersetup{pageanchor=false,citecolor=blue}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}
+{\Huge libopencm3: API Reference\\ EFM32 Leopard Gecko ARM Cortex M3 Series}\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.8.2}\\
+\vspace*{0.5cm}
+{\small Thu Sep 13 2012 23:26:45}\\
+\end{center}
+\end{titlepage}
+\pagenumbering{arabic}
+\hypersetup{pageanchor=true,citecolor=blue}
diff --git a/doc/efm32tg/Doxyfile b/doc/efm32tg/Doxyfile
new file mode 100644
index 00000000..dd7191c8
--- /dev/null
+++ b/doc/efm32tg/Doxyfile
@@ -0,0 +1,29 @@
+# HTML Documentation for efm32 code level
+
+# 11 November 2012
+# (C) Ken Sarkies
+
+#---------------------------------------------------------------------------
+# Common Include File
+#---------------------------------------------------------------------------
+
+@INCLUDE = ../Doxyfile_common
+
+#---------------------------------------------------------------------------
+# Local settings
+#---------------------------------------------------------------------------
+
+WARN_LOGFILE = doxygen_efm32tg.log
+
+INPUT = ../../include/libopencm3/license.dox \
+ ../../include/libopencm3/efm32/efm32tg \
+ ../../lib/efm32/efm32tg
+
+EXCLUDE =
+
+LAYOUT_FILE = DoxygenLayout_efm32tg.xml
+
+TAGFILES = ../cm3/cm3.tag=../../cm3/html \
+
+GENERATE_TAGFILE = efm32tg.tag
+
diff --git a/doc/efm32tg/Doxyfile_latex b/doc/efm32tg/Doxyfile_latex
new file mode 100644
index 00000000..adca3de9
--- /dev/null
+++ b/doc/efm32tg/Doxyfile_latex
@@ -0,0 +1,32 @@
+# LaTeX Documentation for efm32 code level
+
+# 12 November 2012
+# (C) Ken Sarkies
+
+#---------------------------------------------------------------------------
+# Common Include File
+#---------------------------------------------------------------------------
+
+@INCLUDE = ../Doxyfile_common
+
+#---------------------------------------------------------------------------
+# Local settings
+#---------------------------------------------------------------------------
+
+WARN_LOGFILE = doxygen_efm32tg_latex.log
+
+INPUT = ../../include/libopencm3/docmain.dox \
+ ../../include/libopencm3/license.dox \
+ ../../include/libopencm3/efm32/efm32tg \
+ ../../lib/efm32/efm32tg
+
+EXCLUDE = ../../include/libopencm3/efm32/doc-efm32tg.h
+
+LAYOUT_FILE = DoxygenLayout_efm32tg.xml
+
+GENERATE_HTML = NO
+
+GENERATE_LATEX = YES
+
+LATEX_HEADER = header_efm32tg.tex
+
diff --git a/doc/stm32/DoxygenLayout_stm32.xml b/doc/efm32tg/DoxygenLayout_efm32tg.xml
similarity index 94%
rename from doc/stm32/DoxygenLayout_stm32.xml
rename to doc/efm32tg/DoxygenLayout_efm32tg.xml
index 439d3495..afab4c7c 100644
--- a/doc/stm32/DoxygenLayout_stm32.xml
+++ b/doc/efm32tg/DoxygenLayout_efm32tg.xml
@@ -5,14 +5,17 @@
-
+
+
+
+
diff --git a/doc/efm32tg/header_efm32tg.tex b/doc/efm32tg/header_efm32tg.tex
new file mode 100644
index 00000000..625e7fa9
--- /dev/null
+++ b/doc/efm32tg/header_efm32tg.tex
@@ -0,0 +1,61 @@
+\documentclass{book}
+\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
+\usepackage{makeidx}
+\usepackage{natbib}
+\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{float}
+\usepackage{listings}
+\usepackage{color}
+\usepackage{ifthen}
+\usepackage[table]{xcolor}
+\usepackage{textcomp}
+\usepackage{alltt}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage[pdftex,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\else
+\usepackage[ps2pdf,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\usepackage{pspicture}
+\fi
+\usepackage[utf8]{inputenc}
+\usepackage{mathptmx}
+\usepackage[scaled=.90]{helvet}
+\usepackage{courier}
+\usepackage{sectsty}
+\usepackage{amssymb}
+\usepackage[titles]{tocloft}
+\usepackage{doxygen}
+\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
+\makeindex
+\setcounter{tocdepth}{3}
+\renewcommand{\footrulewidth}{0.4pt}
+\renewcommand{\familydefault}{\sfdefault}
+\hfuzz=15pt
+\setlength{\emergencystretch}{15pt}
+\hbadness=750
+\tolerance=750
+\begin{document}
+\hypersetup{pageanchor=false,citecolor=blue}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}
+{\Huge libopencm3: API Reference\\ EFM32 Tiny Gecko ARM Cortex M3 Series}\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.8.2}\\
+\vspace*{0.5cm}
+{\small Thu Sep 13 2012 23:26:45}\\
+\end{center}
+\end{titlepage}
+\pagenumbering{arabic}
+\hypersetup{pageanchor=true,citecolor=blue}
diff --git a/doc/lm3s/Doxyfile_latex b/doc/lm3s/Doxyfile_latex
index b4ffe3da..1cff5655 100644
--- a/doc/lm3s/Doxyfile_latex
+++ b/doc/lm3s/Doxyfile_latex
@@ -17,7 +17,6 @@ WARN_LOGFILE = doxygen_lm3s_latex.log
INPUT = ../../include/libopencm3/docmain.dox \
../../include/libopencm3/license.dox \
- ../../include/libopencm3/cm3/ \
../../include/libopencm3/lm3s \
../../lib/lm3s
diff --git a/doc/lm3s/DoxygenLayout_lm3s.xml b/doc/lm3s/DoxygenLayout_lm3s.xml
index 186acef7..f70a4c1c 100644
--- a/doc/lm3s/DoxygenLayout_lm3s.xml
+++ b/doc/lm3s/DoxygenLayout_lm3s.xml
@@ -5,14 +5,18 @@
-
+
+
+
+
+
diff --git a/doc/lpc13xx/Doxyfile_latex b/doc/lpc13xx/Doxyfile_latex
index 0bbcb5a2..140e9085 100644
--- a/doc/lpc13xx/Doxyfile_latex
+++ b/doc/lpc13xx/Doxyfile_latex
@@ -17,7 +17,6 @@ WARN_LOGFILE = doxygen_lpc13xx_latex.log
INPUT = ../../include/libopencm3/docmain.dox \
../../include/libopencm3/license.dox \
- ../../include/libopencm3/cm3/ \
../../include/libopencm3/lpc13xx/ \
../../lib/lpc13xx
diff --git a/doc/lpc13xx/DoxygenLayout_lpc13xx.xml b/doc/lpc13xx/DoxygenLayout_lpc13xx.xml
index b6aacce5..adb366ce 100644
--- a/doc/lpc13xx/DoxygenLayout_lpc13xx.xml
+++ b/doc/lpc13xx/DoxygenLayout_lpc13xx.xml
@@ -5,14 +5,18 @@
-
+
+
+
+
+
diff --git a/doc/lpc17xx/Doxyfile_latex b/doc/lpc17xx/Doxyfile_latex
index d1f46508..8d3202cc 100644
--- a/doc/lpc17xx/Doxyfile_latex
+++ b/doc/lpc17xx/Doxyfile_latex
@@ -17,7 +17,6 @@ WARN_LOGFILE = doxygen_lpc17xx_latex.log
INPUT = ../../include/libopencm3/docmain.dox \
../../include/libopencm3/license.dox \
- ../../include/libopencm3/cm3/ \
../../include/libopencm3/lpc17xx/ \
../../lib/lpc17xx
diff --git a/doc/lpc17xx/DoxygenLayout_lpc17xx.xml b/doc/lpc17xx/DoxygenLayout_lpc17xx.xml
index 809a24c0..b1c6d346 100644
--- a/doc/lpc17xx/DoxygenLayout_lpc17xx.xml
+++ b/doc/lpc17xx/DoxygenLayout_lpc17xx.xml
@@ -5,14 +5,18 @@
-
+
+
+
+
+
diff --git a/doc/lpc43xx/Doxyfile_latex b/doc/lpc43xx/Doxyfile_latex
index 691de351..567ddc26 100644
--- a/doc/lpc43xx/Doxyfile_latex
+++ b/doc/lpc43xx/Doxyfile_latex
@@ -17,7 +17,6 @@ WARN_LOGFILE = doxygen_lpc43xx_latex.log
INPUT = ../../include/libopencm3/docmain.dox \
../../include/libopencm3/license.dox \
- ../../include/libopencm3/cm3/ \
../../include/libopencm3/lpc43xx/ \
../../lib/lpc43xx
diff --git a/doc/lpc43xx/DoxygenLayout_lpc43xx.xml b/doc/lpc43xx/DoxygenLayout_lpc43xx.xml
index 3cd37f0c..197a488e 100644
--- a/doc/lpc43xx/DoxygenLayout_lpc43xx.xml
+++ b/doc/lpc43xx/DoxygenLayout_lpc43xx.xml
@@ -5,14 +5,18 @@
-
+
+
+
+
+
diff --git a/doc/stm32/Doxyfile b/doc/stm32/Doxyfile
deleted file mode 100644
index e39e0986..00000000
--- a/doc/stm32/Doxyfile
+++ /dev/null
@@ -1,30 +0,0 @@
-# HTML Documentation for STM32 code level
-
-# 14 September 2012
-# (C) Ken Sarkies
-
-#---------------------------------------------------------------------------
-# Common Include File
-#---------------------------------------------------------------------------
-
-@INCLUDE = ../Doxyfile_common
-
-#---------------------------------------------------------------------------
-# Local settings
-#---------------------------------------------------------------------------
-
-WARN_LOGFILE = doxygen_stm32.log
-
-INPUT = ../../include/libopencm3/license.dox \
- ../../include/libopencm3/stm32/ \
- ../../include/libopencm3/stm32/f1/nvic_f1.h \
- ../../include/libopencm3/stm32/f2/nvic_f2.h \
- ../../include/libopencm3/stm32/f4/nvic_f4.h \
- ../../lib/stm32/
-
-LAYOUT_FILE = DoxygenLayout_stm32.xml
-
-TAGFILES = ../cm3/cm3.tag=../../cm3/html
-
-GENERATE_TAGFILE = stm32.tag
-
diff --git a/doc/stm32f1/Doxyfile b/doc/stm32f1/Doxyfile
index f99e9f0b..b84096ad 100644
--- a/doc/stm32f1/Doxyfile
+++ b/doc/stm32f1/Doxyfile
@@ -17,16 +17,19 @@ WARN_LOGFILE = doxygen_stm32f1.log
INPUT = ../../include/libopencm3/license.dox \
../../include/libopencm3/stm32/f1 \
- ../../lib/stm32/f1
+ ../../include/libopencm3/stm32/common \
+ ../../lib/stm32/f1 \
+ ../../lib/stm32/common
EXCLUDE = ../../include/libopencm3/stm32/f1/usb.h \
../../include/libopencm3/stm32/f1/usb_desc.h \
../../include/libopencm3/stm32/f1/nvic_f1.h
+EXCLUDE_PATTERNS = *_common_f24.h *_common_f24.c
+
LAYOUT_FILE = DoxygenLayout_stm32f1.xml
TAGFILES = ../cm3/cm3.tag=../../cm3/html \
- ../stm32/stm32.tag=../../stm32/html
GENERATE_TAGFILE = stm32f1.tag
diff --git a/doc/stm32f1/Doxyfile_latex b/doc/stm32f1/Doxyfile_latex
index 83d29693..217b6f9b 100644
--- a/doc/stm32f1/Doxyfile_latex
+++ b/doc/stm32f1/Doxyfile_latex
@@ -17,16 +17,17 @@ WARN_LOGFILE = doxygen_stm32f1_latex.log
INPUT = ../../include/libopencm3/docmain.dox \
../../include/libopencm3/license.dox \
- ../../include/libopencm3/cm3/ \
- ../../include/libopencm3/stm32/ \
../../include/libopencm3/stm32/f1 \
- ../../lib/stm32/ \
- ../../lib/stm32/f1
+ ../../include/libopencm3/stm32/common \
+ ../../lib/stm32/f1 \
+ ../../lib/stm32/common
EXCLUDE = ../../include/libopencm3/stm32/f1/doc-stm32f1.h \
- ../../include/libopencm3/stm32/doc-stm32f.h \
../../include/libopencm3/stm32/f1/usb.h \
../../include/libopencm3/stm32/f1/usb_desc.h \
+ ../../include/libopencm3/stm32/f1/nvic_f1.h
+
+EXCLUDE_PATTERNS = *_common_f24.h *_common_f24.c
LAYOUT_FILE = DoxygenLayout_stm32f1.xml
diff --git a/doc/stm32f1/DoxygenLayout_stm32f1.xml b/doc/stm32f1/DoxygenLayout_stm32f1.xml
index 6ed9bbad..4f63cebe 100644
--- a/doc/stm32f1/DoxygenLayout_stm32f1.xml
+++ b/doc/stm32f1/DoxygenLayout_stm32f1.xml
@@ -5,14 +5,18 @@
-
-
+
+
+
+
+
+
diff --git a/doc/stm32f2/Doxyfile b/doc/stm32f2/Doxyfile
index 8378e4fe..80be33c8 100644
--- a/doc/stm32f2/Doxyfile
+++ b/doc/stm32f2/Doxyfile
@@ -17,14 +17,15 @@ WARN_LOGFILE = doxygen_stm32f2.log
INPUT = ../../include/libopencm3/license.dox \
../../include/libopencm3/stm32/f2 \
- ../../lib/stm32/f2
+ ../../include/libopencm3/stm32/common \
+ ../../lib/stm32/f2 \
+ ../../lib/stm32/common
-EXCLUDE = ../../include/libopencm3/stm32/f2/nvic_f2.h
+EXCLUDE =
LAYOUT_FILE = DoxygenLayout_stm32f2.xml
TAGFILES = ../cm3/cm3.tag=../../cm3/html \
- ../stm32/stm32.tag=../../stm32/html
GENERATE_TAGFILE = stm32f2.tag
diff --git a/doc/stm32f2/Doxyfile_latex b/doc/stm32f2/Doxyfile_latex
index 42881405..29bdc95b 100644
--- a/doc/stm32f2/Doxyfile_latex
+++ b/doc/stm32f2/Doxyfile_latex
@@ -16,15 +16,13 @@
WARN_LOGFILE = doxygen_stm32f2_latex.log
INPUT = ../../include/libopencm3/docmain.dox \
- ../../include/libopencm3/license.dox \
- ../../include/libopencm3/cm3/ \
- ../../include/libopencm3/stm32/ \
+ ../../include/libopencm3/license.dox \
../../include/libopencm3/stm32/f2 \
- ../../lib/stm32/ \
- ../../lib/stm32/f2
+ ../../include/libopencm3/stm32/common \
+ ../../lib/stm32/f2 \
+ ../../lib/stm32/common
-EXCLUDE = ../../include/libopencm3/stm32/f2/doc-stm32f2.h \
- ../../include/libopencm3/stm32/doc-stm32f.h
+EXCLUDE = ../../include/libopencm3/stm32/f2/doc-stm32f2.h
LAYOUT_FILE = DoxygenLayout_stm32f2.xml
diff --git a/doc/stm32f2/DoxygenLayout_stm32f2.xml b/doc/stm32f2/DoxygenLayout_stm32f2.xml
index 19bfd0ae..7c43e915 100644
--- a/doc/stm32f2/DoxygenLayout_stm32f2.xml
+++ b/doc/stm32f2/DoxygenLayout_stm32f2.xml
@@ -5,14 +5,18 @@
-
+
+
+
+
+
diff --git a/doc/stm32f4/Doxyfile b/doc/stm32f4/Doxyfile
index f86895b2..3a8f11f4 100644
--- a/doc/stm32f4/Doxyfile
+++ b/doc/stm32f4/Doxyfile
@@ -17,14 +17,15 @@ WARN_LOGFILE = doxygen_stm32f4.log
INPUT = ../../include/libopencm3/license.dox \
../../include/libopencm3/stm32/f4 \
- ../../lib/stm32/f4
+ ../../include/libopencm3/stm32/common \
+ ../../lib/stm32/f4 \
+ ../../lib/stm32/common
-EXCLUDE = ../../include/libopencm3/stm32/f4/nvic_f4.h
+EXCLUDE =
LAYOUT_FILE = DoxygenLayout_stm32f4.xml
TAGFILES = ../cm3/cm3.tag=../../cm3/html \
- ../stm32/stm32.tag=../../stm32/html
GENERATE_TAGFILE = stm32f4.tag
diff --git a/doc/stm32f4/Doxyfile_latex b/doc/stm32f4/Doxyfile_latex
index 3c7da2e1..6f62b216 100644
--- a/doc/stm32f4/Doxyfile_latex
+++ b/doc/stm32f4/Doxyfile_latex
@@ -16,15 +16,13 @@
WARN_LOGFILE = doxygen_stm32f4_latex.log
INPUT = ../../include/libopencm3/docmain.dox \
- ../../include/libopencm3/license.dox \
- ../../include/libopencm3/cm3/ \
- ../../include/libopencm3/stm32/ \
+ ../../include/libopencm3/license.dox \
../../include/libopencm3/stm32/f4 \
- ../../lib/stm32/ \
- ../../lib/stm32/f4
+ ../../include/libopencm3/stm32/common \
+ ../../lib/stm32/f4 \
+ ../../lib/stm32/common
-EXCLUDE = ../../include/libopencm3/stm32/f4/doc-stm32f4.h \
- ../../include/libopencm3/stm32/doc-stm32f.h
+EXCLUDE = ../../include/libopencm3/stm32/f4/doc-stm32f4.h
LAYOUT_FILE = DoxygenLayout_stm32f4.xml
diff --git a/doc/stm32f4/DoxygenLayout_stm32f4.xml b/doc/stm32f4/DoxygenLayout_stm32f4.xml
index 214320a7..d8fdc8be 100644
--- a/doc/stm32f4/DoxygenLayout_stm32f4.xml
+++ b/doc/stm32f4/DoxygenLayout_stm32f4.xml
@@ -5,14 +5,18 @@
-
+
+
+
+
+
diff --git a/doc/stm32f4/header_stm32f4.tex b/doc/stm32f4/header_stm32f4.tex
index e634ef2b..97cc35ff 100644
--- a/doc/stm32f4/header_stm32f4.tex
+++ b/doc/stm32f4/header_stm32f4.tex
@@ -50,7 +50,7 @@
\begin{titlepage}
\vspace*{7cm}
\begin{center}
-{\Huge libopencm3: API Reference\\ STM STM32F4 ARM Cortex M3 Series}\\
+{\Huge libopencm3: API Reference\\ STM STM32F4 ARM Cortex M4 Series}\\
\vspace*{1cm}
{\large Generated by Doxygen 1.8.2}\\
\vspace*{0.5cm}
diff --git a/doc/stm32l1/Doxyfile b/doc/stm32l1/Doxyfile
new file mode 100644
index 00000000..deca18b4
--- /dev/null
+++ b/doc/stm32l1/Doxyfile
@@ -0,0 +1,33 @@
+# HTML Documentation for STM32F1 code level
+
+# 14 September 2012
+# (C) Ken Sarkies
+
+#---------------------------------------------------------------------------
+# Common Include File
+#---------------------------------------------------------------------------
+
+@INCLUDE = ../Doxyfile_common
+
+#---------------------------------------------------------------------------
+# Local settings
+#---------------------------------------------------------------------------
+
+WARN_LOGFILE = doxygen_stm32l1.log
+
+INPUT = ../../include/libopencm3/license.dox \
+ ../../include/libopencm3/stm32/l1 \
+ ../../include/libopencm3/stm32/common \
+ ../../lib/stm32/l1 \
+ ../../lib/stm32/common
+
+EXCLUDE =
+
+EXCLUDE_PATTERNS = *_common_f24.h
+
+LAYOUT_FILE = DoxygenLayout_stm32l1.xml
+
+TAGFILES = ../cm3/cm3.tag=../../cm3/html \
+
+GENERATE_TAGFILE = stm32l1.tag
+
diff --git a/doc/stm32l1/Doxyfile_latex b/doc/stm32l1/Doxyfile_latex
new file mode 100644
index 00000000..80b56005
--- /dev/null
+++ b/doc/stm32l1/Doxyfile_latex
@@ -0,0 +1,36 @@
+# LaTeX Documentation for STM32L1 code level
+
+# 14 September 2012
+# (C) Ken Sarkies
+
+#---------------------------------------------------------------------------
+# Common Include File
+#---------------------------------------------------------------------------
+
+@INCLUDE = ../Doxyfile_common
+
+#---------------------------------------------------------------------------
+# Local settings
+#---------------------------------------------------------------------------
+
+WARN_LOGFILE = doxygen_stm32l1_latex.log
+
+INPUT = ../../include/libopencm3/docmain.dox \
+ ../../include/libopencm3/license.dox \
+ ../../include/libopencm3/stm32/l1 \
+ ../../include/libopencm3/stm32/common \
+ ../../lib/stm32/l1 \
+ ../../lib/stm32/common
+
+EXCLUDE = ../../include/libopencm3/stm32/l1/doc-stm32l1.h
+
+EXCLUDE_PATTERNS = *_common_f24.h
+
+LAYOUT_FILE = DoxygenLayout_stm32l1.xml
+
+GENERATE_HTML = NO
+
+GENERATE_LATEX = YES
+
+LATEX_HEADER = header_stm32l1.tex
+
diff --git a/doc/stm32l1/DoxygenLayout_stm32l1.xml b/doc/stm32l1/DoxygenLayout_stm32l1.xml
new file mode 100644
index 00000000..5d288e6b
--- /dev/null
+++ b/doc/stm32l1/DoxygenLayout_stm32l1.xml
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/stm32l1/header_stm32l1.tex b/doc/stm32l1/header_stm32l1.tex
new file mode 100644
index 00000000..edf6907e
--- /dev/null
+++ b/doc/stm32l1/header_stm32l1.tex
@@ -0,0 +1,61 @@
+\documentclass{book}
+\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
+\usepackage{makeidx}
+\usepackage{natbib}
+\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{float}
+\usepackage{listings}
+\usepackage{color}
+\usepackage{ifthen}
+\usepackage[table]{xcolor}
+\usepackage{textcomp}
+\usepackage{alltt}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage[pdftex,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\else
+\usepackage[ps2pdf,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\usepackage{pspicture}
+\fi
+\usepackage[utf8]{inputenc}
+\usepackage{mathptmx}
+\usepackage[scaled=.90]{helvet}
+\usepackage{courier}
+\usepackage{sectsty}
+\usepackage{amssymb}
+\usepackage[titles]{tocloft}
+\usepackage{doxygen}
+\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
+\makeindex
+\setcounter{tocdepth}{3}
+\renewcommand{\footrulewidth}{0.4pt}
+\renewcommand{\familydefault}{\sfdefault}
+\hfuzz=15pt
+\setlength{\emergencystretch}{15pt}
+\hbadness=750
+\tolerance=750
+\begin{document}
+\hypersetup{pageanchor=false,citecolor=blue}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}
+{\Huge libopencm3: API Reference\\ STM STM32L1 ARM Cortex M3 Series}\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.8.2}\\
+\vspace*{0.5cm}
+{\small Thu Sep 13 2012 23:26:45}\\
+\end{center}
+\end{titlepage}
+\pagenumbering{arabic}
+\hypersetup{pageanchor=true,citecolor=blue}
diff --git a/include/libopencm3/cm3/nvic.h b/include/libopencm3/cm3/nvic.h
index 3f832856..b8c6535a 100644
--- a/include/libopencm3/cm3/nvic.h
+++ b/include/libopencm3/cm3/nvic.h
@@ -122,4 +122,6 @@ void nvic_generate_software_interrupt(u16 irqn);
END_DECLS
+/**@}*/
+
#endif
diff --git a/include/libopencm3/efm32/efm32g/doc-efm32g.h b/include/libopencm3/efm32/efm32g/doc-efm32g.h
new file mode 100644
index 00000000..747cb514
--- /dev/null
+++ b/include/libopencm3/efm32/efm32g/doc-efm32g.h
@@ -0,0 +1,32 @@
+/** @mainpage libopencm3 EFM32 Gecko
+
+@version 1.0.0
+
+@date 11 November 2012
+
+API documentation for Energy Micro EFM32 Gecko Cortex M3 series.
+
+LGPL License Terms @ref lgpl_license
+*/
+
+/** @defgroup EFM32G EFM32 Gecko
+Libraries for Energy Micro EFM32 Gecko series.
+
+@version 1.0.0
+
+@date 11 November 2012
+
+LGPL License Terms @ref lgpl_license
+*/
+
+/** @defgroup EFM32G_defines EFM32 Gecko Defines
+
+@brief Defined Constants and Types for the Energy Micro EFM32 Gecko series
+
+@version 1.0.0
+
+@date 11 November 2012
+
+LGPL License Terms @ref lgpl_license
+*/
+
diff --git a/include/libopencm3/efm32/efm32gg/doc-efm32gg.h b/include/libopencm3/efm32/efm32gg/doc-efm32gg.h
new file mode 100644
index 00000000..aacb17bc
--- /dev/null
+++ b/include/libopencm3/efm32/efm32gg/doc-efm32gg.h
@@ -0,0 +1,32 @@
+/** @mainpage libopencm3 EFM32 Giant Gecko
+
+@version 1.0.0
+
+@date 11 November 2012
+
+API documentation for Energy Micro EFM32 Giant Gecko Cortex M3 series.
+
+LGPL License Terms @ref lgpl_license
+*/
+
+/** @defgroup EFM32GG EFM32 Giant Gecko
+Libraries for Energy Micro EFM32 Giant Gecko series.
+
+@version 1.0.0
+
+@date 11 November 2012
+
+LGPL License Terms @ref lgpl_license
+*/
+
+/** @defgroup EFM32GG_defines EFM32 Giant Gecko Defines
+
+@brief Defined Constants and Types for the Energy Micro EFM32 Giant Gecko series
+
+@version 1.0.0
+
+@date 11 November 2012
+
+LGPL License Terms @ref lgpl_license
+*/
+
diff --git a/include/libopencm3/stm32/l1/doc-stm32l1.h b/include/libopencm3/stm32/l1/doc-stm32l1.h
new file mode 100644
index 00000000..96bea000
--- /dev/null
+++ b/include/libopencm3/stm32/l1/doc-stm32l1.h
@@ -0,0 +1,32 @@
+/** @mainpage libopencm3 STM32L1
+
+@version 1.0.0
+
+@date 12 November 2012
+
+API documentation for ST Microelectronics STM32L1 Cortex M3 series.
+
+LGPL License Terms @ref lgpl_license
+*/
+
+/** @defgroup STM32L1xx STM32L1xx
+Libraries for ST Microelectronics STM32L1xx series.
+
+@version 1.0.0
+
+@date 12 November 2012
+
+LGPL License Terms @ref lgpl_license
+*/
+
+/** @defgroup STM32L1xx_defines STM32L1xx Defines
+
+@brief Defined Constants and Types for the STM32L1xx series
+
+@version 1.0.0
+
+@date 12 November 2012
+
+LGPL License Terms @ref lgpl_license
+*/
+
diff --git a/include/libopencm3/stm32/l1/rcc.h b/include/libopencm3/stm32/l1/rcc.h
index 209d24f6..d888d7ca 100644
--- a/include/libopencm3/stm32/l1/rcc.h
+++ b/include/libopencm3/stm32/l1/rcc.h
@@ -1,6 +1,6 @@
-/** @file
+/** @defgroup STM32L1xx_rcc_defines RCC Defines
-@ingroup STM32L1xx
+@ingroup STM32L1xx_defines
@brief libopencm3 STM32L1xx Reset and Clock Control
@@ -10,19 +10,11 @@
@author @htmlonly © @endhtmlonly 2009 Uwe Hermann
@author @htmlonly © @endhtmlonly 2012 Karl Palsson
-@date 18 May 2012
+@date 11 November 2012
LGPL License Terms @ref lgpl_license
*/
-/** @defgroup STM32L1xx_rcc_defines
-@brief Defined Constants and Types for the STM32L1xx Reset and Clock Control
-
-@ingroup STM32L1xx_defines
-
-LGPL License Terms @ref lgpl_license
-
- */
/*
* This file is part of the libopencm3 project.
*
@@ -47,6 +39,8 @@ LGPL License Terms @ref lgpl_license
* TODO: very incomplete still!
*/
+/**@{*/
+
#ifndef LIBOPENCM3_RCC_H
#define LIBOPENCM3_RCC_H
@@ -405,4 +399,6 @@ void rcc_clock_setup_in_hse_12mhz_out_72mhz(void);
void rcc_clock_setup_in_hse_16mhz_out_72mhz(void);
void rcc_backupdomain_reset(void);
+/**@}*/
+
#endif
diff --git a/include/libopencm3/stm32/pwr.h b/include/libopencm3/stm32/pwr.h
index e709f3d6..34b24078 100644
--- a/include/libopencm3/stm32/pwr.h
+++ b/include/libopencm3/stm32/pwr.h
@@ -1,4 +1,4 @@
-/** @defgroup STM32F1xx_pwr_defines PWR Defines
+/** @defgroup STM32F_pwr_defines PWR Defines
@ingroup STM32F_defines
diff --git a/lib/stm32/f1/dma.c b/lib/stm32/f1/dma.c
index c26020af..fa7fb720 100644
--- a/lib/stm32/f1/dma.c
+++ b/lib/stm32/f1/dma.c
@@ -80,7 +80,7 @@ The interrupt flag for the channel is cleared. More than one interrupt for the
same channel may be cleared by using the logical OR of the interrupt flags.
@param[in] dma unsigned int32. DMA controller base address: DMA1 or DMA2
-@param[in] channel unsigned int8. Channel number: @ref dma_st_number
+@param[in] channel unsigned int8. Channel number: @ref dma_ch
@param[in] interrupts unsigned int32. Logical OR of interrupt numbers: @ref dma_if_offset
*/
@@ -97,8 +97,8 @@ void dma_clear_interrupt_flags(u32 dma, u8 channel, u32 interrupts)
The interrupt flag for the channel is returned.
@param[in] dma unsigned int32. DMA controller base address: DMA1 or DMA2
-@param[in] channel unsigned int8. Channel number: @ref dma_st_number
-@param[in] interrupt unsigned int32. Interrupt number: @ref dma_st_number
+@param[in] channel unsigned int8. Channel number: @ref dma_ch
+@param[in] interrupt unsigned int32. Interrupt number: @ref dma_ch
@returns bool interrupt flag is set.
*/