blob: d16a2c5611cd763eb370968e580fc269f44ecca7 [file] [log] [blame]
Sylvio Alvesad12a062024-03-06 23:51:25 -03001# Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
2# SPDX-License-Identifier: Apache-2.0
3
4if SOC_SERIES_ESP32C3
5
6choice ESP32C3_UNIVERSAL_MAC_ADDRESSES
7 bool "Number of universally administered (by IEEE) MAC address"
8 default ESP32C3_UNIVERSAL_MAC_ADDRESSES_FOUR
9 help
10 Configure the number of universally administered (by IEEE) MAC addresses.
11 During initialization, MAC addresses for each network interface are generated or derived from a
12 single base MAC address.
13 If the number of universal MAC addresses is four, all four interfaces (WiFi station, WiFi softap,
14 Bluetooth and Ethernet) receive a universally administered MAC address. These are generated
15 sequentially by adding 0, 1, 2 and 3 (respectively) to the final octet of the base MAC address.
16 If the number of universal MAC addresses is two, only two interfaces (WiFi station and Bluetooth)
17 receive a universally administered MAC address. These are generated sequentially by adding 0
18 and 1 (respectively) to the base MAC address. The remaining two interfaces (WiFi softap and Ethernet)
19 receive local MAC addresses. These are derived from the universal WiFi station and Bluetooth MAC
20 addresses, respectively.
21 When using the default (Espressif-assigned) base MAC address, either setting can be used. When using
22 a custom universal MAC address range, the correct setting will depend on the allocation of MAC
23 addresses in this range (either 2 or 4 per device.)
24 Note that ESP32-C3 has no integrated Ethernet MAC. Although it's possible to use the esp_read_mac()
25 API to return a MAC for Ethernet, this can only be used with an external MAC peripheral.
26
27config ESP32C3_UNIVERSAL_MAC_ADDRESSES_TWO
28 bool "Two"
29 select ESP_MAC_UNIVERSAL_MAC_ADDRESSES_TWO
30 select ESP_MAC_ADDR_UNIVERSE_WIFI_STA
31 select ESP_MAC_ADDR_UNIVERSE_BT
32
33config ESP32C3_UNIVERSAL_MAC_ADDRESSES_FOUR
34 bool "Four"
35 select ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR
36 select ESP_MAC_ADDR_UNIVERSE_WIFI_STA
37 select ESP_MAC_ADDR_UNIVERSE_WIFI_AP
38 select ESP_MAC_ADDR_UNIVERSE_BT
39 select ESP_MAC_ADDR_UNIVERSE_ETH
40
41endchoice # ESP32C3_UNIVERSAL_MAC_ADDRESSES
42
43config ESP32C3_UNIVERSAL_MAC_ADDRESSES
44 int
45 default 2 if ESP32C3_UNIVERSAL_MAC_ADDRESSES_TWO
46 default 4 if ESP32C3_UNIVERSAL_MAC_ADDRESSES_FOUR
47
48endif # SOC_SERIES_ESP32C3