diff --git a/os/hal/hal.dox b/os/hal/hal.dox
index 77dc49a46..fc5514594 100644
--- a/os/hal/hal.dox
+++ b/os/hal/hal.dox
@@ -52,7 +52,6 @@
* - @ref ADC.
* - @ref CAN.
* - @ref MAC.
- * - @ref MII.
* - @ref MMC_SPI.
* - @ref SPI.
* .
@@ -310,27 +309,6 @@
* @ingroup MAC
*/
-/**
- * @defgroup MII MII Driver
- * @brief Generic MII driver.
- * @details This module implements a generic interface for MII (Media
- * Independent Interface) drivers.
- * The MII/RMII/GMII/RGMII/SGMII buses are standard interfaces meant
- * to connect a MAC block to a PHY transceiver.
- * A @ref MII is usually used from within a @ref MAC and is not
- * meant to be used directly from the application code.
- *
- * @ingroup IO
- */
-
-/**
- * @defgroup MII_LLD MII Low Level Driver
- * @brief @ref MII low level driver template.
- * @details This file is a template for a MII low level driver.
- *
- * @ingroup MII
- */
-
/**
* @defgroup MMC_SPI MMC over SPI Driver
* @brief Generic MMC driver.
diff --git a/os/hal/include/mii.h b/os/hal/include/mii.h
index c72a5f96d..91f31e185 100644
--- a/os/hal/include/mii.h
+++ b/os/hal/include/mii.h
@@ -22,7 +22,7 @@
* Copyright (C) 1996, 1999, 2001 David S. Miller (davem@redhat.com)
*/
-/**
+/*-*
* @file mii.h
* @brief MII Driver macros and structures.
* @addtogroup MII
@@ -185,4 +185,4 @@
#endif /* _MII_H_ */
-/** @} */
+/*-* @} */
diff --git a/os/hal/platforms/AT91SAM7/platform.dox b/os/hal/platforms/AT91SAM7/platform.dox
index 60940201d..2b87f64bd 100644
--- a/os/hal/platforms/AT91SAM7/platform.dox
+++ b/os/hal/platforms/AT91SAM7/platform.dox
@@ -25,10 +25,18 @@
* - EMAC driver with MII support.
* - A demo supporting the kernel test suite.
* - A Web server demo using the uIP TCP/IP stack.
+ * - A Web server demo using the lwIP TCP/IP stack.
* .
* @ingroup ARM7
*/
+/**
+ * @defgroup AT91SAM7_HAL AT91SAM7 HAL Support
+ * @brief HAL support.
+ *
+ * @ingroup AT91SAM7
+ */
+
/**
* @defgroup AT91SAM7_PAL AT91SAM7 I/O Ports Support
* @brief I/O Ports peripherals support.
@@ -76,10 +84,10 @@
/**
* @defgroup AT91SAM7_MII AT91SAM7 MII Support
- * @brief EMAC peripheral support.
- * @details the @ref MII supports the AT91SAM7 EMAC peripheral communicating
+ * @brief EMAC+PHY peripheral support.
+ * @details This driver supports the AT91SAM7 EMAC peripheral communicating
* with an external PHY transceiver. The driver currently supports
- * only the Micrel KS8721 PHY module.
+ * the Micrel KS8721 PHY and the Davicom DV9161 modules.
*
* @ingroup AT91SAM7
*/
diff --git a/os/hal/platforms/STM32/platform.dox b/os/hal/platforms/STM32/platform.dox
index 1ffad7616..e26a72620 100644
--- a/os/hal/platforms/STM32/platform.dox
+++ b/os/hal/platforms/STM32/platform.dox
@@ -31,6 +31,13 @@
* @ingroup ARMCM3
*/
+/**
+ * @defgroup STM32_HAL STM32 HAL Support
+ * @brief HAL support.
+ *
+ * @ingroup STM32
+ */
+
/**
* @defgroup STM32_PAL STM32 I/O Ports Support
* @brief I/O Ports peripherals support.
@@ -83,15 +90,6 @@
* @ingroup STM32
*/
-/**
- * @defgroup STM32_SPI STM32 SPI Support
- * @brief SPI peripherals support.
- * @details The serial driver supports the STM32 SPIs using DMA channels for
- * improved performance.
- *
- * @ingroup STM32
- */
-
/**
* @defgroup STM32_ADC STM32 ADC Support
* @brief ADC peripherals support.
@@ -100,4 +98,21 @@
*
* @ingroup STM32
*/
+
+/**
+ * @defgroup STM32_CAN STM32 CAN Support
+ * @brief CAN peripheral support.
+ * @details The CAN driver supports the STM32 bxCAN unit.
+ *
+ * @ingroup STM32
+ */
+
+/**
+ * @defgroup STM32_SPI STM32 SPI Support
+ * @brief SPI peripherals support.
+ * @details The serial driver supports the STM32 SPIs using DMA channels for
+ * improved performance.
+ *
+ * @ingroup STM32
+ */
\ No newline at end of file
diff --git a/os/hal/templates/mii_lld.c b/os/hal/templates/mii_lld.c
deleted file mode 100644
index 2381c4f1e..000000000
--- a/os/hal/templates/mii_lld.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-*/
-
-/**
- * @file templates/mii_lld.c
- * @brief MII Driver subsystem low level driver source template
- * @addtogroup MII_LLD
- * @{
- */
-
-#include "ch.h"
-#include "mac.h"
-#include "mii.h"
-
-/**
- * @brief Low level MII driver initialization.
- */
-void mii_lld_init(void) {
-
-}
-
-/**
- * Resets a PHY device.
- *
- * @param[in] macp pointer to the @p MACDriver object
- */
-void mii_lld_reset(MACDriver *macp) {
-
-}
-
-/**
- * @brief Reads a PHY register through the MII interface.
- *
- * @param[in] macp pointer to the @p MACDriver object
- * @param addr the register address
- * @return The register value.
- */
-phyreg_t mii_lld_get(MACDriver *macp, phyaddr_t addr) {
-
- return 0;
-}
-
-/**
- * @brief Writes a PHY register through the MII interface.
- *
- * @param[in] macp pointer to the @p MACDriver object
- * @param addr the register address
- * @param value the new register value
- */
-void mii_lld_put(MACDriver *macp, phyaddr_t addr, phyreg_t value) {
-
-}
-
-/** @} */
diff --git a/os/hal/templates/mii_lld.h b/os/hal/templates/mii_lld.h
deleted file mode 100644
index 974588363..000000000
--- a/os/hal/templates/mii_lld.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-*/
-
-/**
- * @file templates/mii_lld.h
- * @brief MII Driver subsystem low level driver header template
- * @addtogroup MII_LLD
- * @{
- */
-
-#ifndef _MII_LLD_H_
-#define _MII_LLD_H_
-
-/*===========================================================================*/
-/* Driver pre-compile time settings. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver data structures and types. */
-/*===========================================================================*/
-
-/**
- * @brief Type of a PHY register value.
- */
-typedef uint16_t phyreg_t;
-
-/**
- * @brief Type of a PHY register address.
- */
-typedef uint8_t phyaddr_t;
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void mii_lld_init(void);
- void mii_lld_reset(MACDriver *macp);
- phyreg_t mii_lld_get(MACDriver *macp, phyaddr_t addr);
- void mii_lld_put(MACDriver *macp, phyaddr_t addr, phyreg_t value);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MII_LLD_H_ */
-
-/** @} */
diff --git a/readme.txt b/readme.txt
index 9c0e9301b..86da352ef 100644
--- a/readme.txt
+++ b/readme.txt
@@ -4,6 +4,10 @@
*** 1.3.5 ***
- FIX: Fixed some problems in the MMC_SPI driver (bugs 2901084 and 2901172).
+- NEW: Unified the initialization of the various drivers from a single HAL
+ driver. The single drivers can be enabled or disabled from a HAL
+ configuration file halconf.h.
+- NEW: New CAN driver model.
- NEW: STM32 ADC driver implementation with DMA support.
- NEW: Added AT91SAM7S support and support for all the memory sizes in
both AT91SAM7S and AT91SAM7X families.