mirror of
https://github.com/apache/nuttx.git
synced 2026-05-09 23:12:17 +08:00
arch/risc-v: Support the ethernet driver on ESP32-P4
This commit enables the ethernet driver support on ESP32-P4 based on a common-source implementation. This required a set of changes regargind the event handler for the Wi-Fi driver (which is now shared with the ethernet driver). Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
This commit is contained in:
committed by
Xiang Xiao
parent
4b4ba522cb
commit
5c4c60f9d2
@@ -164,6 +164,10 @@ if(CONFIG_ESP_MCPWM)
|
||||
list(APPEND SRCS esp_mcpwm.c)
|
||||
endif()
|
||||
|
||||
if(CONFIG_ESPRESSIF_EMAC)
|
||||
list(APPEND SRCS esp_emac.c)
|
||||
endif()
|
||||
|
||||
if(CONFIG_SYSTEM_NXDIAG_ESPRESSIF_CHIP_WO_TOOL)
|
||||
list(APPEND SRCS esp_nxdiag.c)
|
||||
endif()
|
||||
@@ -209,7 +213,7 @@ if(DEFINED ENV{ESP_HAL_3RDPARTY_VERSION})
|
||||
CACHE STRING "ESP HAL 3rdparty version")
|
||||
else()
|
||||
set(ESP_HAL_3RDPARTY_VERSION
|
||||
8630b6b82cb84838f86332e00f39ab72a64cf186
|
||||
c32f1ad13f4ce8312de494e8b79c88fda10fe9ed
|
||||
CACHE STRING "ESP HAL 3rdparty version")
|
||||
endif()
|
||||
|
||||
|
||||
@@ -1995,6 +1995,17 @@ config ESPRESSIF_BLE
|
||||
---help---
|
||||
Enable BLE support
|
||||
|
||||
config ESPRESSIF_EMAC
|
||||
bool "Ethernet MAC"
|
||||
depends on ARCH_CHIP_ESP32P4
|
||||
default n
|
||||
select NET
|
||||
select ARCH_PHY_INTERRUPT
|
||||
select ESPRESSIF_HR_TIMER
|
||||
select SCHED_LPWORK
|
||||
---help---
|
||||
Enable Ethernet MAC support.
|
||||
|
||||
config ESP_COEX_SW_COEXIST_ENABLE
|
||||
bool "Software WiFi/Bluetooth/IEEE 802.15.4 coexistence"
|
||||
depends on (ESPRESSIF_WIFI && ESPRESSIF_BLE) || \
|
||||
@@ -2462,6 +2473,157 @@ endif # ESPRESSIF_ADC_2
|
||||
|
||||
endmenu # ADC Configuration
|
||||
|
||||
menu "Ethernet Configuration"
|
||||
depends on ESPRESSIF_EMAC
|
||||
|
||||
config ESPRESSIF_ETH_NRXDESC
|
||||
int "RX descriptor number"
|
||||
default 20
|
||||
---help---
|
||||
Number of DMA receive descriptors/buffers used by the EMAC.
|
||||
Each buffer is CONFIG_ESPRESSIF_ETH_DMA_BUFFER_SIZE bytes.
|
||||
The default of 20 provides headroom for TCP-style ACK bursts
|
||||
that arrive while the upper layer is busy submitting a TX burst
|
||||
(otherwise the EMAC asserts RX_BUFF_UNAVAILABLE and silently
|
||||
drops incoming frames, forcing TCP retransmissions).
|
||||
|
||||
config ESPRESSIF_ETH_NTXDESC
|
||||
int "TX descriptor number"
|
||||
default 20
|
||||
---help---
|
||||
Number of DMA transmit descriptors/buffers used by the EMAC.
|
||||
With CONFIG_ESPRESSIF_ETH_DMA_BUFFER_SIZE=1600, each descriptor
|
||||
holds one Ethernet frame. TCP send() bursts up to ~12 segments
|
||||
back-to-back; 20 descriptors gives ample headroom so that
|
||||
esp_eth_transmit() never returns ESP_ERR_NO_MEM mid-burst.
|
||||
If the ring is exhausted, frames are silently dropped and
|
||||
retransmissions happen via fast-retransmit/RTO, drastically
|
||||
degrading throughput.
|
||||
|
||||
config ESPRESSIF_ETH_DMA_BUFFER_SIZE
|
||||
int "DMA buffer size (bytes)"
|
||||
default 1600
|
||||
range 256 1600
|
||||
---help---
|
||||
Size of each DMA buffer used by the EMAC (must match esp_eth's
|
||||
CONFIG_ETH_DMA_BUFFER_SIZE). At the maximum 1600 bytes one
|
||||
buffer holds an entire 1518-byte Ethernet frame, so a typical
|
||||
TX uses exactly one descriptor. Lower values cause the MAC DMA
|
||||
to chain multiple descriptors per frame, reducing the effective
|
||||
number of frames the ring can hold.
|
||||
|
||||
config ESPRESSIF_ETH_TX_MAX_RETRIES
|
||||
int "TX submit retry budget"
|
||||
default 32
|
||||
range 1 256
|
||||
---help---
|
||||
Number of times emac_transmit() retries esp_eth_transmit() when
|
||||
the DMA TX descriptor ring is fully owned by hardware
|
||||
(ESP_ERR_NO_MEM). Between attempts the driver yields the CPU
|
||||
via sched_yield() so that the RX worker (and any other peer at
|
||||
the same priority) can run while the EMAC DMA drains its TX
|
||||
descriptors in the background. The default of 32 covers a
|
||||
full ring rotation under sustained TCP bursts while remaining
|
||||
bounded; increase if the network has very high latency between
|
||||
TX submissions and DMA descriptor recycling.
|
||||
|
||||
config ESPRESSIF_ETH_PHY_ADDR
|
||||
int "PHY address"
|
||||
default 1
|
||||
range 0 31
|
||||
---help---
|
||||
Address of the external Ethernet PHY on the SMI (MDC/MDIO) bus.
|
||||
|
||||
config ESPRESSIF_ETH_MDC_GPIO
|
||||
int "MDC GPIO"
|
||||
default 31 if ARCH_CHIP_ESP32P4
|
||||
default -1
|
||||
---help---
|
||||
GPIO number connected to the PHY MDC pin. The shipped default
|
||||
corresponds to the ESP32-P4 Function EV Board V1.5.2; override
|
||||
for other boards/SoCs.
|
||||
|
||||
config ESPRESSIF_ETH_MDIO_GPIO
|
||||
int "MDIO GPIO"
|
||||
default 52 if ARCH_CHIP_ESP32P4
|
||||
default -1
|
||||
---help---
|
||||
GPIO number connected to the PHY MDIO pin. The shipped default
|
||||
corresponds to the ESP32-P4 Function EV Board V1.5.2; override
|
||||
for other boards/SoCs.
|
||||
|
||||
config ESPRESSIF_ETH_RMII_CLK_GPIO
|
||||
int "RMII REF_CLK GPIO"
|
||||
default 50 if ARCH_CHIP_ESP32P4
|
||||
default -1
|
||||
---help---
|
||||
GPIO number for the RMII 50MHz reference clock (input). The
|
||||
shipped default corresponds to the ESP32-P4 Function EV Board
|
||||
V1.5.2; override for other boards/SoCs.
|
||||
|
||||
config ESPRESSIF_ETH_RMII_TX_EN_GPIO
|
||||
int "RMII TX_EN GPIO"
|
||||
default 49 if ARCH_CHIP_ESP32P4
|
||||
default -1
|
||||
---help---
|
||||
GPIO number connected to the RMII TX_EN pin. Default is for the
|
||||
ESP32-P4 Function EV Board V1.5.2.
|
||||
|
||||
config ESPRESSIF_ETH_RMII_TXD0_GPIO
|
||||
int "RMII TXD0 GPIO"
|
||||
default 34 if ARCH_CHIP_ESP32P4
|
||||
default -1
|
||||
---help---
|
||||
GPIO number connected to the RMII TXD0 pin. Default is for the
|
||||
ESP32-P4 Function EV Board V1.5.2.
|
||||
|
||||
config ESPRESSIF_ETH_RMII_TXD1_GPIO
|
||||
int "RMII TXD1 GPIO"
|
||||
default 35 if ARCH_CHIP_ESP32P4
|
||||
default -1
|
||||
---help---
|
||||
GPIO number connected to the RMII TXD1 pin. Default is for the
|
||||
ESP32-P4 Function EV Board V1.5.2.
|
||||
|
||||
config ESPRESSIF_ETH_RMII_CRS_DV_GPIO
|
||||
int "RMII CRS_DV GPIO"
|
||||
default 28 if ARCH_CHIP_ESP32P4
|
||||
default -1
|
||||
---help---
|
||||
GPIO number connected to the RMII CRS_DV pin. Default is for
|
||||
the ESP32-P4 Function EV Board V1.5.2.
|
||||
|
||||
config ESPRESSIF_ETH_RMII_RXD0_GPIO
|
||||
int "RMII RXD0 GPIO"
|
||||
default 29 if ARCH_CHIP_ESP32P4
|
||||
default -1
|
||||
---help---
|
||||
GPIO number connected to the RMII RXD0 pin. Default is for the
|
||||
ESP32-P4 Function EV Board V1.5.2.
|
||||
|
||||
config ESPRESSIF_ETH_RMII_RXD1_GPIO
|
||||
int "RMII RXD1 GPIO"
|
||||
default 30 if ARCH_CHIP_ESP32P4
|
||||
default -1
|
||||
---help---
|
||||
GPIO number connected to the RMII RXD1 pin. Default is for the
|
||||
ESP32-P4 Function EV Board V1.5.2.
|
||||
|
||||
config ESPRESSIF_ETH_ENABLE_PHY_RSTPIN
|
||||
bool "Enable PHY reset pin"
|
||||
default y
|
||||
|
||||
config ESPRESSIF_ETH_PHY_RST_GPIO
|
||||
int "PHY reset GPIO"
|
||||
default 51 if ARCH_CHIP_ESP32P4
|
||||
default -1
|
||||
depends on ESPRESSIF_ETH_ENABLE_PHY_RSTPIN
|
||||
---help---
|
||||
GPIO number connected to the PHY reset pin. Default is for the
|
||||
ESP32-P4 Function EV Board V1.5.2.
|
||||
|
||||
endmenu # Ethernet Configuration
|
||||
|
||||
menu "Wi-Fi Configuration"
|
||||
depends on ESPRESSIF_WIFI
|
||||
|
||||
|
||||
@@ -169,6 +169,10 @@ ifeq ($(CONFIG_ESP_MCPWM),y)
|
||||
CHIP_CSRCS += esp_mcpwm.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ESPRESSIF_EMAC),y)
|
||||
CHIP_CSRCS += esp_emac.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SYSTEM_NXDIAG_ESPRESSIF_CHIP_WO_TOOL),y)
|
||||
CHIP_CSRCS += esp_nxdiag.c
|
||||
endif
|
||||
@@ -217,7 +221,7 @@ endif
|
||||
|
||||
ESP_HAL_3RDPARTY_REPO = esp-hal-3rdparty
|
||||
ifndef ESP_HAL_3RDPARTY_VERSION
|
||||
ESP_HAL_3RDPARTY_VERSION = 8630b6b82cb84838f86332e00f39ab72a64cf186
|
||||
ESP_HAL_3RDPARTY_VERSION = c32f1ad13f4ce8312de494e8b79c88fda10fe9ed
|
||||
endif
|
||||
|
||||
ifndef ESP_HAL_3RDPARTY_URL
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,62 @@
|
||||
/****************************************************************************
|
||||
* arch/risc-v/src/common/espressif/esp_emac.h
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership. The
|
||||
* ASF licenses this file to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance with the
|
||||
* License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __ARCH_RISCV_SRC_COMMON_ESPRESSIF_ESP_EMAC_H
|
||||
#define __ARCH_RISCV_SRC_COMMON_ESPRESSIF_ESP_EMAC_H
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Public Function Prototypes
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: esp_emac_init
|
||||
*
|
||||
* Description:
|
||||
* Initialize the Ethernet driver and register it with the NuttX network
|
||||
* stack.
|
||||
*
|
||||
* Input Parameters:
|
||||
* None
|
||||
*
|
||||
* Returned Value:
|
||||
* OK on success; a negated errno value on failure.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int esp_emac_init(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __ARCH_RISCV_SRC_COMMON_ESPRESSIF_ESP_EMAC_H */
|
||||
@@ -115,6 +115,7 @@ int esp_wifi_api_adapter_init(void)
|
||||
esp_wifi_lock(true);
|
||||
|
||||
esp_evt_work_init();
|
||||
esp_wifi_evt_work_init();
|
||||
|
||||
wifi_cfg.nvs_enable = 0;
|
||||
|
||||
|
||||
@@ -27,9 +27,10 @@
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <nuttx/debug.h>
|
||||
#include <nuttx/spinlock.h>
|
||||
#include <nuttx/signal.h>
|
||||
#include <nuttx/wqueue.h>
|
||||
|
||||
#include "esp_event.h"
|
||||
#include "esp_wifi.h"
|
||||
|
||||
#include "esp_wifi_utils.h"
|
||||
@@ -69,23 +70,13 @@ struct wifi_notify
|
||||
struct sigwork_s work; /* Signal work private data */
|
||||
};
|
||||
|
||||
/* Wi-Fi event private data */
|
||||
|
||||
struct evt_adpt
|
||||
{
|
||||
sq_entry_t entry; /* Sequence entry */
|
||||
wifi_event_t id; /* Event ID */
|
||||
uint8_t buf[0]; /* Event private data */
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
* Private Data
|
||||
****************************************************************************/
|
||||
|
||||
static struct wifi_notify g_wifi_notify[WIFI_EVENT_MAX];
|
||||
static struct work_s g_wifi_evt_work;
|
||||
static sq_queue_t g_wifi_evt_queue;
|
||||
static spinlock_t g_lock;
|
||||
static struct work_s g_wifi_reconnect_work;
|
||||
static bool g_wifi_handler_registered;
|
||||
|
||||
/****************************************************************************
|
||||
* Private Functions
|
||||
@@ -102,7 +93,7 @@ static spinlock_t g_lock;
|
||||
* asked to disconnect from the AP.
|
||||
*
|
||||
* Input Parameters:
|
||||
* None.
|
||||
* arg - Unused work queue argument.
|
||||
*
|
||||
* Returned Value:
|
||||
* None.
|
||||
@@ -130,146 +121,157 @@ static void esp_reconnect_work_cb(void *arg)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: esp_evt_work_cb
|
||||
* Name: esp_wifi_event_handler
|
||||
*
|
||||
* Description:
|
||||
* Process Wi-Fi events.
|
||||
* Handler registered against WIFI_EVENT / ESP_EVENT_ANY_ID with the
|
||||
* generic esp_event dispatcher (see esp_event.c). Translates Wi-Fi
|
||||
* driver events into NuttX-visible actions (link-layer hooks and the
|
||||
* optional sigevent notification subsystem).
|
||||
*
|
||||
* Input Parameters:
|
||||
* arg - Not used.
|
||||
* arg - Handler-specific argument registered with the event
|
||||
* dispatcher (unused).
|
||||
* event_base - Event base identifier; always WIFI_EVENT here (unused).
|
||||
* event_id - Wi-Fi event ID as defined by the ESP-IDF wifi_event_t
|
||||
* enumeration.
|
||||
* event_data - Pointer to the event-specific payload, whose concrete
|
||||
* type depends on event_id.
|
||||
*
|
||||
* Returned Value:
|
||||
* None.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
static void esp_evt_work_cb(void *arg)
|
||||
static void esp_wifi_event_handler(void *arg, esp_event_base_t event_base,
|
||||
int32_t event_id, void *event_data)
|
||||
{
|
||||
int ret;
|
||||
irqstate_t flags;
|
||||
struct evt_adpt *evt_adpt;
|
||||
struct wifi_notify *notify;
|
||||
wifi_ps_type_t ps_type = DEFAULT_PS_MODE;
|
||||
|
||||
while (1)
|
||||
UNUSED(arg);
|
||||
UNUSED(event_base);
|
||||
|
||||
/* Some of the following logic (eg. esp_wlan_sta_set_linkstatus)
|
||||
* can take net_lock(). To maintain the consistent locking order,
|
||||
* we take net_lock() here before taking esp_wifi_lock. Note that
|
||||
* net_lock() is a recursive lock.
|
||||
*/
|
||||
|
||||
net_lock();
|
||||
esp_wifi_lock(true);
|
||||
|
||||
switch (event_id)
|
||||
{
|
||||
flags = spin_lock_irqsave(&g_lock);
|
||||
evt_adpt = (struct evt_adpt *)sq_remfirst(&g_wifi_evt_queue);
|
||||
spin_unlock_irqrestore(&g_lock, flags);
|
||||
if (!evt_adpt)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
/* Some of the following logic (eg. esp_wlan_sta_set_linkstatus)
|
||||
* can take net_lock(). To maintain the consistent locking order,
|
||||
* we take net_lock() here before taking esp_wifi_lock. Note that
|
||||
* net_lock() is a recursive lock.
|
||||
*/
|
||||
|
||||
net_lock();
|
||||
esp_wifi_lock(true);
|
||||
|
||||
switch (evt_adpt->id)
|
||||
{
|
||||
#ifdef ESP_WLAN_DEVS
|
||||
case WIFI_EVENT_SCAN_DONE:
|
||||
esp_wifi_scan_event_parse();
|
||||
break;
|
||||
case WIFI_EVENT_SCAN_DONE:
|
||||
esp_wifi_scan_event_parse();
|
||||
break;
|
||||
#endif
|
||||
case WIFI_EVENT_HOME_CHANNEL_CHANGE:
|
||||
wlinfo("Wi-Fi home channel change\n");
|
||||
break;
|
||||
case WIFI_EVENT_HOME_CHANNEL_CHANGE:
|
||||
wlinfo("Wi-Fi home channel change\n");
|
||||
break;
|
||||
|
||||
#ifdef ESP_WLAN_HAS_STA
|
||||
case WIFI_EVENT_STA_START:
|
||||
wlinfo("Wi-Fi sta start\n");
|
||||
case WIFI_EVENT_STA_START:
|
||||
{
|
||||
wlinfo("Wi-Fi sta start\n");
|
||||
|
||||
ret = esp_wifi_set_ps(ps_type);
|
||||
if (ret)
|
||||
{
|
||||
wlerr("Failed to set power save type\n");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
ret = esp_wifi_set_ps(ps_type);
|
||||
if (ret)
|
||||
{
|
||||
wlerr("Failed to set power save type\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case WIFI_EVENT_STA_STOP:
|
||||
wlinfo("Wi-Fi station stopped\n");
|
||||
break;
|
||||
case WIFI_EVENT_STA_STOP:
|
||||
wlinfo("Wi-Fi station stopped\n");
|
||||
break;
|
||||
|
||||
case WIFI_EVENT_STA_CONNECTED:
|
||||
wlinfo("Wi-Fi station connected\n");
|
||||
esp_wlan_sta_connect_success_hook();
|
||||
break;
|
||||
case WIFI_EVENT_STA_CONNECTED:
|
||||
{
|
||||
wlinfo("Wi-Fi station connected\n");
|
||||
esp_wlan_sta_connect_success_hook();
|
||||
}
|
||||
break;
|
||||
|
||||
case WIFI_EVENT_STA_DISCONNECTED:
|
||||
wifi_event_sta_disconnected_t *event =
|
||||
(wifi_event_sta_disconnected_t *)evt_adpt->buf;
|
||||
wifi_err_reason_t reason = event->reason;
|
||||
case WIFI_EVENT_STA_DISCONNECTED:
|
||||
{
|
||||
wifi_event_sta_disconnected_t *event =
|
||||
(wifi_event_sta_disconnected_t *)event_data;
|
||||
wifi_err_reason_t reason = event->reason;
|
||||
|
||||
wlinfo("Wi-Fi station disconnected, reason: %u\n", reason);
|
||||
esp_wlan_sta_disconnect_hook();
|
||||
if (reason == WIFI_REASON_ASSOC_LEAVE)
|
||||
{
|
||||
work_queue(LPWORK, &g_wifi_evt_work, esp_reconnect_work_cb,
|
||||
NULL, 0);
|
||||
}
|
||||
wlinfo("Wi-Fi station disconnected, reason: %u\n", reason);
|
||||
esp_wlan_sta_disconnect_hook();
|
||||
if (reason == WIFI_REASON_ASSOC_LEAVE)
|
||||
{
|
||||
work_queue(LPWORK, &g_wifi_reconnect_work,
|
||||
esp_reconnect_work_cb, NULL, 0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
break;
|
||||
|
||||
case WIFI_EVENT_STA_AUTHMODE_CHANGE:
|
||||
wlinfo("Wi-Fi station auth mode change\n");
|
||||
break;
|
||||
case WIFI_EVENT_STA_AUTHMODE_CHANGE:
|
||||
wlinfo("Wi-Fi station auth mode change\n");
|
||||
break;
|
||||
#endif /* ESP_WLAN_HAS_STA */
|
||||
|
||||
#ifdef ESP_WLAN_HAS_SOFTAP
|
||||
case WIFI_EVENT_AP_START:
|
||||
wlinfo("INFO: Wi-Fi softap start\n");
|
||||
esp_wlan_softap_connect_success_hook();
|
||||
ret = esp_wifi_set_ps(ps_type);
|
||||
if (ret)
|
||||
{
|
||||
wlerr("Failed to set power save type\n");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WIFI_EVENT_AP_STOP:
|
||||
wlinfo("Wi-Fi softap stop\n");
|
||||
esp_wlan_softap_disconnect_hook();
|
||||
break;
|
||||
|
||||
case WIFI_EVENT_AP_STACONNECTED:
|
||||
wlinfo("Wi-Fi station joined AP\n");
|
||||
break;
|
||||
|
||||
case WIFI_EVENT_AP_STADISCONNECTED:
|
||||
wlinfo("Wi-Fi station left AP\n");
|
||||
break;
|
||||
#endif /* ESP_WLAN_HAS_SOFTAP */
|
||||
default:
|
||||
break;
|
||||
case WIFI_EVENT_AP_START:
|
||||
{
|
||||
wlinfo("INFO: Wi-Fi softap start\n");
|
||||
esp_wlan_softap_connect_success_hook();
|
||||
ret = esp_wifi_set_ps(ps_type);
|
||||
if (ret)
|
||||
{
|
||||
wlerr("Failed to set power save type\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
notify = &g_wifi_notify[evt_adpt->id];
|
||||
case WIFI_EVENT_AP_STOP:
|
||||
{
|
||||
wlinfo("Wi-Fi softap stop\n");
|
||||
esp_wlan_softap_disconnect_hook();
|
||||
}
|
||||
break;
|
||||
|
||||
case WIFI_EVENT_AP_STACONNECTED:
|
||||
wlinfo("Wi-Fi station joined AP\n");
|
||||
break;
|
||||
|
||||
case WIFI_EVENT_AP_STADISCONNECTED:
|
||||
wlinfo("Wi-Fi station left AP\n");
|
||||
break;
|
||||
#endif /* ESP_WLAN_HAS_SOFTAP */
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (event_id >= 0 && event_id < WIFI_EVENT_MAX)
|
||||
{
|
||||
notify = &g_wifi_notify[event_id];
|
||||
if (notify->assigned)
|
||||
{
|
||||
notify->event.sigev_value.sival_ptr = evt_adpt->buf;
|
||||
notify->event.sigev_value.sival_ptr = event_data;
|
||||
|
||||
ret = nxsig_notification(notify->pid, ¬ify->event,
|
||||
SI_QUEUE, ¬ify->work);
|
||||
if (ret < 0)
|
||||
{
|
||||
wlwarn("nxsig_notification event ID=%d failed: %d\n",
|
||||
evt_adpt->id, ret);
|
||||
(int)event_id, ret);
|
||||
}
|
||||
}
|
||||
|
||||
esp_wifi_lock(false);
|
||||
net_unlock();
|
||||
|
||||
kmm_free(evt_adpt);
|
||||
}
|
||||
|
||||
esp_wifi_lock(false);
|
||||
net_unlock();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -277,81 +279,30 @@ static void esp_evt_work_cb(void *arg)
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: esp_event_post
|
||||
* Name: esp_wifi_evt_work_init
|
||||
*
|
||||
* Description:
|
||||
* Posts an event to the event loop system. The event is queued in a FIFO
|
||||
* and processed asynchronously in the low-priority work queue.
|
||||
* Register the Wi-Fi event handler against the generic esp_event loop.
|
||||
* Kept under the original name so existing callers (esp_wifi_api.c)
|
||||
* continue to compile unchanged. Idempotent: subsequent calls after the
|
||||
* first successful registration are silently ignored.
|
||||
*
|
||||
* Input Parameters:
|
||||
* event_base - Identifier for the event category (e.g. WIFI_EVENT)
|
||||
* event_id - Event ID within the event base category
|
||||
* event_data - Pointer to event data structure
|
||||
* event_data_size - Size of event data structure
|
||||
* ticks - Number of ticks to wait (currently unused)
|
||||
* None.
|
||||
*
|
||||
* Returned Value:
|
||||
* 0 on success
|
||||
* -1 on failure with following error conditions:
|
||||
* - Invalid event ID
|
||||
* - Memory allocation failure
|
||||
*
|
||||
* Assumptions/Limitations:
|
||||
* - Event data is copied into a new buffer, so the original can be freed
|
||||
* - Events are processed in FIFO order in the low priority work queue
|
||||
* - The function is thread-safe and can be called from interrupt context
|
||||
* None.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int esp_event_post(const char *event_base,
|
||||
int32_t event_id,
|
||||
void *event_data,
|
||||
size_t event_data_size,
|
||||
uint32_t ticks)
|
||||
void esp_wifi_evt_work_init(void)
|
||||
{
|
||||
size_t size;
|
||||
int32_t id;
|
||||
irqstate_t flags;
|
||||
struct evt_adpt *evt_adpt;
|
||||
|
||||
wlinfo("Event: base=%s id=%ld data=%p data_size=%u ticks=%lu\n",
|
||||
event_base, event_id, event_data, event_data_size, ticks);
|
||||
|
||||
size = event_data_size + sizeof(struct evt_adpt);
|
||||
evt_adpt = kmm_malloc(size);
|
||||
if (!evt_adpt)
|
||||
if (g_wifi_handler_registered)
|
||||
{
|
||||
wlerr("ERROR: Failed to alloc %d memory\n", size);
|
||||
return -1;
|
||||
return;
|
||||
}
|
||||
|
||||
evt_adpt->id = event_id;
|
||||
memcpy(evt_adpt->buf, event_data, event_data_size);
|
||||
|
||||
flags = enter_critical_section();
|
||||
sq_addlast(&evt_adpt->entry, &g_wifi_evt_queue);
|
||||
leave_critical_section(flags);
|
||||
|
||||
work_queue(LPWORK, &g_wifi_evt_work, esp_evt_work_cb, NULL, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: esp_evt_work_init
|
||||
*
|
||||
* Description:
|
||||
* Initialize the event work queue
|
||||
*
|
||||
* Input Parameters:
|
||||
* None.
|
||||
*
|
||||
* Returned Value:
|
||||
* None.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void esp_evt_work_init(void)
|
||||
{
|
||||
sq_init(&g_wifi_evt_queue);
|
||||
esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID,
|
||||
esp_wifi_event_handler, NULL);
|
||||
g_wifi_handler_registered = true;
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ int esp_freq_to_channel(uint16_t freq);
|
||||
* Name: esp_evt_work_init
|
||||
*
|
||||
* Description:
|
||||
* Initialize the event work queue
|
||||
* Initialize the generic esp_event backend queue.
|
||||
*
|
||||
* Input Parameters:
|
||||
* None
|
||||
@@ -111,6 +111,22 @@ int esp_freq_to_channel(uint16_t freq);
|
||||
|
||||
void esp_evt_work_init(void);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: esp_wifi_evt_work_init
|
||||
*
|
||||
* Description:
|
||||
* Initialize the event work queue
|
||||
*
|
||||
* Input Parameters:
|
||||
* None
|
||||
*
|
||||
* Returned Value:
|
||||
* None
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void esp_wifi_evt_work_init(void);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: esp_wifi_start_scan
|
||||
*
|
||||
@@ -212,39 +228,6 @@ wifi_mode_t esp_wifi_mode_translate(uint32_t wireless_mode);
|
||||
|
||||
int esp_wifi_lock(bool lock);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: esp_event_post
|
||||
*
|
||||
* Description:
|
||||
* Posts an event to the event loop system. The event is queued in a FIFO
|
||||
* and processed asynchronously in the low-priority work queue.
|
||||
*
|
||||
* Input Parameters:
|
||||
* event_base - Identifier for the event category (e.g. WIFI_EVENT)
|
||||
* event_id - Event ID within the event base category
|
||||
* event_data - Pointer to event data structure
|
||||
* event_data_size - Size of event data structure
|
||||
* ticks - Number of ticks to wait (currently unused)
|
||||
*
|
||||
* Returned Value:
|
||||
* 0 on success
|
||||
* -1 on failure with following error conditions:
|
||||
* - Invalid event ID
|
||||
* - Memory allocation failure
|
||||
*
|
||||
* Assumptions/Limitations:
|
||||
* - Event data is copied into a new buffer, so the original can be freed
|
||||
* - Events are processed in FIFO order in the low priority work queue
|
||||
* - The function is thread-safe and can be called from interrupt context
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int esp_event_post(const char *event_base,
|
||||
int32_t event_id,
|
||||
void *event_data,
|
||||
size_t event_data_size,
|
||||
uint32_t ticks);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -507,6 +507,10 @@ list(
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/upper_hal_rmt/src/rmt_tx.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/upper_hal_uart/src/uart_wakeup.c)
|
||||
|
||||
if(CONFIG_ESPRESSIF_WIFI OR CONFIG_ESPRESSIF_EMAC)
|
||||
list(APPEND HAL_SRCS ${ESP_HAL_3RDPARTY_REPO}/nuttx/src/esp_event.c)
|
||||
endif()
|
||||
|
||||
# Bootloader flash encrypt source
|
||||
list(APPEND HAL_SRCS
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/bootloader_support/src/flash_encrypt.c)
|
||||
|
||||
@@ -338,6 +338,10 @@ CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)platform$(DELIM)os.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)heap_caps.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)components$(DELIM)newlib$(DELIM)newlib$(DELIM)libc$(DELIM)misc$(DELIM)init.c
|
||||
|
||||
ifneq ($(CONFIG_ESPRESSIF_WIFI)$(CONFIG_ESPRESSIF_EMAC),)
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)esp_event.c
|
||||
endif
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)upper_hal_gpio$(DELIM)src$(DELIM)gpio.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)upper_hal_gpio$(DELIM)src$(DELIM)rtc_io.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)upper_hal_rmt$(DELIM)src$(DELIM)rmt_common.c
|
||||
|
||||
@@ -533,6 +533,10 @@ list(
|
||||
${ESP_HAL_3RDPARTY_REPO}/nuttx/src/heap_caps.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/nuttx/src/components/newlib/newlib/libc/misc/init.c)
|
||||
|
||||
if(CONFIG_ESPRESSIF_WIFI OR CONFIG_ESPRESSIF_EMAC)
|
||||
list(APPEND HAL_SRCS ${ESP_HAL_3RDPARTY_REPO}/nuttx/src/esp_event.c)
|
||||
endif()
|
||||
|
||||
# Bootloader flash encrypt
|
||||
list(APPEND HAL_SRCS
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/bootloader_support/src/flash_encrypt.c)
|
||||
|
||||
@@ -382,6 +382,10 @@ CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELI
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)heap_caps.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)components$(DELIM)newlib$(DELIM)newlib$(DELIM)libc$(DELIM)misc$(DELIM)init.c
|
||||
|
||||
ifneq ($(CONFIG_ESPRESSIF_WIFI)$(CONFIG_ESPRESSIF_EMAC),)
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)esp_event.c
|
||||
endif
|
||||
|
||||
# Bootloader files
|
||||
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)bootloader_support$(DELIM)src$(DELIM)flash_encrypt.c
|
||||
|
||||
@@ -51,6 +51,7 @@ target_include_directories(
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_adc/${CHIP_SERIES}/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_blockdev/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_common/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_event/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_hal_ana_conv/${CHIP_SERIES}/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_hal_ana_conv/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_hal_clock/${CHIP_SERIES}/include
|
||||
@@ -492,6 +493,10 @@ list(
|
||||
${ESP_HAL_3RDPARTY_REPO}/nuttx/src/heap_caps.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/nuttx/src/components/newlib/newlib/libc/misc/init.c)
|
||||
|
||||
if(CONFIG_ESPRESSIF_WIFI OR CONFIG_ESPRESSIF_EMAC)
|
||||
list(APPEND HAL_SRCS ${ESP_HAL_3RDPARTY_REPO}/nuttx/src/esp_event.c)
|
||||
endif()
|
||||
|
||||
# Bootloader flash encrypt
|
||||
list(APPEND HAL_SRCS
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/bootloader_support/src/flash_encrypt.c)
|
||||
|
||||
@@ -38,6 +38,7 @@ INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_adc$(DELIM)$(CHIP_SERIES)$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_blockdev$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_common$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_event$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hal_ana_conv$(DELIM)$(CHIP_SERIES)$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hal_ana_conv$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hal_dma$(DELIM)$(CHIP_SERIES)$(DELIM)include
|
||||
@@ -358,6 +359,10 @@ CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)uppe
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)upper_hal_gpio$(DELIM)src$(DELIM)rtc_io.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)components$(DELIM)newlib$(DELIM)newlib$(DELIM)libc$(DELIM)misc$(DELIM)init.c
|
||||
|
||||
ifneq ($(CONFIG_ESPRESSIF_WIFI)$(CONFIG_ESPRESSIF_EMAC),)
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)esp_event.c
|
||||
endif
|
||||
|
||||
CHIP_ASRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)lowpower$(DELIM)port$(DELIM)$(CHIP_SERIES)$(DELIM)sleep_cpu_asm.S
|
||||
|
||||
# Bootloader files
|
||||
|
||||
@@ -49,6 +49,7 @@ set(ESP32P4_INCLUDES
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_app_format/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_blockdev/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_common/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_event/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_hal_ana_conv/${CHIP_SERIES}/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_hal_ana_conv/include
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_hal_cam/${CHIP_SERIES}/include
|
||||
@@ -436,6 +437,31 @@ list(
|
||||
${ESP_HAL_3RDPARTY_REPO}/nuttx/src/heap_caps.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/nuttx/src/platform/os.c)
|
||||
|
||||
if(CONFIG_ESPRESSIF_WIFI OR CONFIG_ESPRESSIF_EMAC)
|
||||
list(APPEND HAL_SRCS ${ESP_HAL_3RDPARTY_REPO}/nuttx/src/esp_event.c)
|
||||
endif()
|
||||
|
||||
if(CONFIG_ESPRESSIF_EMAC)
|
||||
list(
|
||||
APPEND
|
||||
HAL_SRCS
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_hal_emac/emac_hal.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_hal_emac/${CHIP_SERIES}/emac_periph.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_eth/src/esp_eth.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_eth/src/mac/esp_eth_mac_esp.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_eth/src/mac/esp_eth_mac_esp_dma.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_eth/src/mac/esp_eth_mac_esp_gpio.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_eth/src/phy/esp_eth_phy_802_3.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/esp_eth/src/phy/esp_eth_phy_generic.c
|
||||
# log_buffers.c provides ESP_LOG_BUFFER_HEXDUMP used by esp_eth_mac_esp.c
|
||||
# for its dump_hal_registers diagnostic helper; util.c supplies the hex
|
||||
# conversion helper consumed by log_buffers.c.
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/log/src/util.c
|
||||
${ESP_HAL_3RDPARTY_REPO}/components/log/src/buffer/log_buffers.c)
|
||||
target_include_directories(
|
||||
arch PRIVATE ${ESP_HAL_3RDPARTY_REPO}/components/esp_eth/include)
|
||||
endif()
|
||||
|
||||
# Bootloader common
|
||||
list(
|
||||
APPEND HAL_SRCS
|
||||
|
||||
@@ -39,6 +39,7 @@ INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_app_format$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_blockdev$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_common$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_event$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hal_ana_conv$(DELIM)$(CHIP_SERIES)$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hal_ana_conv$(DELIM)include
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hal_cam$(DELIM)$(CHIP_SERIES)$(DELIM)include
|
||||
@@ -359,6 +360,8 @@ CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)efuse_hal.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)hal_utils.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)mmu_hal.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)src$(DELIM)util.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)src$(DELIM)buffer$(DELIM)log_buffers.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)src$(DELIM)log_level$(DELIM)log_level.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)src$(DELIM)log_level$(DELIM)tag_log_level$(DELIM)linked_list$(DELIM)log_linked_list.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)src$(DELIM)log_level$(DELIM)tag_log_level$(DELIM)tag_log_level.c
|
||||
@@ -410,6 +413,23 @@ CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELI
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)heap_caps.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)platform$(DELIM)os.c
|
||||
|
||||
ifneq ($(CONFIG_ESPRESSIF_WIFI)$(CONFIG_ESPRESSIF_EMAC),)
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)src$(DELIM)esp_event.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ESPRESSIF_EMAC),y)
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hal_emac$(DELIM)emac_hal.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hal_emac$(DELIM)$(CHIP_SERIES)$(DELIM)emac_periph.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_eth$(DELIM)src$(DELIM)esp_eth.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_eth$(DELIM)src$(DELIM)mac$(DELIM)esp_eth_mac_esp.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_eth$(DELIM)src$(DELIM)mac$(DELIM)esp_eth_mac_esp_dma.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_eth$(DELIM)src$(DELIM)mac$(DELIM)esp_eth_mac_esp_gpio.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_eth$(DELIM)src$(DELIM)phy$(DELIM)esp_eth_phy_802_3.c
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_eth$(DELIM)src$(DELIM)phy$(DELIM)esp_eth_phy_generic.c
|
||||
|
||||
INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_eth$(DELIM)include
|
||||
endif
|
||||
|
||||
# Bootloader files
|
||||
|
||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)bootloader_support$(DELIM)src$(DELIM)bootloader_mem.c
|
||||
|
||||
Reference in New Issue
Block a user