1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

boards/esp32: add ESP32-Ethernet-Kit v1.2 board

This commit is contained in:
Erik Ekman 2020-08-07 18:50:23 +02:00
parent f586548d9c
commit 064f58e7aa
8 changed files with 121 additions and 0 deletions

View File

@ -35,6 +35,7 @@ Furthermore, some GPIOs are broken out for extension. The USB bridge based on FD
There are different revisions of the board:
- \ref boards_esp32_esp-ethernet-kit-v1_0
- \ref boards_esp32_esp-ethernet-kit-v1_1
- \ref boards_esp32_esp-ethernet-kit-v1_2
## <a name="hardware"> Hardware </a> &nbsp;&nbsp; [[TOC](#toc)]

View File

@ -0,0 +1,22 @@
# Copyright (c) 2020 HAW Hamburg
# Copyright (c) 2020 Google LLC
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
config BOARD
default "esp32-ethernet-kit-v1_2" if BOARD_ESP32_ETHERNET_KIT_V1_2
config BOARD_ESP32_ETHERNET_KIT_V1_2
bool
default y
select BOARD_COMMON_ESP32
select CPU_MODEL_ESP32_WROVER_E
select HAS_ESP_SPI_RAM
select HAS_PERIPH_ADC
select HAS_PERIPH_ETH
select HAS_PERIPH_I2C
select HAS_PERIPH_PWM
source "$(RIOTBOARD)/common/esp32/Kconfig"

View File

@ -0,0 +1,2 @@
DIRS = $(RIOTBOARD)/esp32-ethernet-kit-v1_0
include $(RIOTBASE)/Makefile.base

View File

@ -0,0 +1 @@
include $(RIOTBOARD)/esp32-ethernet-kit-v1_0/Makefile.dep

View File

@ -0,0 +1 @@
include $(RIOTBOARD)/esp32-ethernet-kit-v1_0/Makefile.features

View File

@ -0,0 +1,3 @@
INCLUDES += -I$(RIOTBOARD)/esp32-ethernet-kit-v1_0/include
include $(RIOTBOARD)/esp32-ethernet-kit-v1_0/Makefile.include

View File

@ -0,0 +1,87 @@
/*
* Copyright (C) 2018 Gunar Schorcht
* Copyright (C) 2020 Google LLC
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @defgroup boards_esp32_esp-ethernet-kit-v1_2 v1.2 Board
* @ingroup boards_esp32_esp-ethernet-kit
* @brief Support for for Espressif ESP32-Ethernet-Kit v1.2
* @author Gunar Schorcht <gunar@schorcht.net>
* @author Erik Ekman <eekman@google.com>
## <a name="toc"> Table of Contents </a>
1. [Overview](#overview)
2. [Hardware](#hardware)
1. [Board Configuration](#board_configuration)
2. [Board Pinout](#pinout)
3. [Other Documentation Resources](#other-resources)
## <a name="overview"> Overview </a> &nbsp;&nbsp; [[TOC](#toc)]
The Espressif [ESP32-Ethernet-Kit](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit.html) is a development board that uses the ESP32-WROVER-E module. Most important features of the board are
- 100 Mbps Ethernet via IP101G PHY
- USB bridge with JTAG interface
Furthermore, some GPIOs are broken out for extension. The USB bridge based on FDI FT2232HL provides a JTAG interface for OCD debugging through the USB interface.
For flashing and debugging the board, see \ref boards_esp32_esp-ethernet-kit common board documentation.
## <a name="hardware"> Hardware </a> &nbsp;&nbsp; [[TOC](#toc)]
This section describes
- the default [board configuration](#board_configuration),
- the [board pinout](#pinout).
### <a name="board_configuration"> Board Configuration </a> &nbsp;&nbsp; [[TOC](#toc)]
ESP32-Ethernet-Kit v1.2 has the following on-board components
- 100 Mbps Ethernet via IP101G PHY
- USB bridge with JTAG interface
For detailed information about the configuration of ESP32 boards, see
section Peripherals in \ref esp32_riot.
@note
Only a few GPIOs are broken out and available for external hardware on ESP32-Ethernet-Kit boards. Which GPIOs are available as peripherals depends on used modules.
<center>
\anchor esp32_ethernet_kit_v1_2_table_board_configuration
Function | GPIOs | Remarks |Configuration
:---------------|:-------|:--------|:----------------------------------
BTN0 | GPIO0 | not available if `esp_eth` is used | |
ADC | GPIO34, GPIO35, GPIO36, GPIO39 | | \ref esp32_adc_channels "ADC Channels"
DAC | - | | \ref esp32_dac_channels "DAC Channels"
PWM_DEV(0) | GPIO2, GPIO4 | | \ref esp32_pwm_channels "PWM Channels"
I2C_DEV(0):SDA | GPIO32 | | \ref esp32_i2c_interfaces "I2C Interfaces"
I2C_DEV(0):SCL | GPIO33 | | \ref esp32_i2c_interfaces "I2C Interfaces"
SPI_DEV(0):CLK | GPIO14 | HSPI is used | \ref esp32_spi_interfaces "SPI Interfaces"
SPI_DEV(0):MISO | GPIO12 | HSPI is used | \ref esp32_spi_interfaces "SPI Interfaces"
SPI_DEV(0):MOSI | GPIO13 | HSPI is used | \ref esp32_spi_interfaces "SPI Interfaces"
SPI_DEV(0):CS0 | GPIO15 | HSPI is used | \ref esp32_spi_interfaces "SPI Interfaces"
UART_DEV(0):TxD | GPIO1 | Console (configuration is fixed) | \ref esp32_uart_interfaces "UART interfaces"
UART_DEV(0):RxD | GPIO3 | Console (configuration is fixed) | \ref esp32_uart_interfaces "UART interfaces"
</center>
@note
- SPI_DEV(0) is not available if module `esp_jtag` is used. For the SPI_DEV(0) pins to work properly, the function switches (DIP switches) for the JTAG signals must be set to OFF.
### <a name="pinout"> Board Pinout </a> &nbsp;&nbsp; [[TOC](#toc)]
The board schematic can be found [here](https://dl.espressif.com/dl/schematics/SCH_ESP32-Ethernet-Kit_A_V1.2_20200528.pdf).
By default, only 4 bidirectional GPIO pins are unused: GPIO2, GPIO4, GPIO32, GPIO33. The suggested configuration is for PWM
and I2C, but they can also be used for SPI or another serial port. By disabling the JTAG interface on the board,
another 4 GPIOs can be made available (GPIO12, GPIO13, GPIO14, GPIO15).
## <a name="other-resources"> Other Documentation Resources </a> &nbsp;&nbsp; [[TOC](#toc)]
There is a comprehensive [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit.html) for the ESP32-Ethernet-Kit with a lot information about hardware configuration.
*/

View File

@ -32,6 +32,10 @@ config CPU_MODEL_ESP32_WROVER_B
bool
select CPU_FAM_ESP32
config CPU_MODEL_ESP32_WROVER_E
bool
select CPU_FAM_ESP32
config CPU_MODEL_ESP32_D0WD
bool
select CPU_FAM_ESP32