Skip to content

Commit

Permalink
soc: esp32_net - update kconfig
Browse files Browse the repository at this point in the history
Update the esp32_net Kconfig

Signed-off-by: Marek Matej <marek.matej@espressif.com>
  • Loading branch information
Marek Matej committed Jun 21, 2023
1 parent 04bde43 commit 7412a3c
Show file tree
Hide file tree
Showing 4 changed files with 106 additions and 91 deletions.
20 changes: 1 addition & 19 deletions soc/xtensa/espressif_esp32/esp32_net/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -1,22 +1,4 @@
# Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd.
# SPDX-License-Identifier: Apache-2.0

if SOC_ESP32_NET

config SOC
default "esp32_net"

config SOC_TOOLCHAIN_NAME
string
default "espressif_esp32"

config MINIMAL_LIBC_OPTIMIZE_STRING_FOR_SIZE
default n

config SYS_CLOCK_HW_CYCLES_PER_SEC
default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency)

config XTENSA_CCOUNT_HZ
default SYS_CLOCK_HW_CYCLES_PER_SEC

endif
# nothing here
84 changes: 84 additions & 0 deletions soc/xtensa/espressif_esp32/esp32_net/Kconfig.defconfig.series
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Copyright (c) 2023 Espressif Systems (Shanghai) Co., Ltd.
# SPDX-License-Identifier: Apache-2.0

if SOC_SERIES_ESP32_NET

config SOC_SERIES
default "esp32_net"

config SOC_TOOLCHAIN_NAME
string
default "espressif_esp32"

config MINIMAL_LIBC_OPTIMIZE_STRING_FOR_SIZE
default n

config SYS_CLOCK_HW_CYCLES_PER_SEC
default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency)

config XTENSA_CCOUNT_HZ
default SYS_CLOCK_HW_CYCLES_PER_SEC

config IDF_TARGET_ESP32
bool "ESP32 as target board"
default y

config ESPTOOLPY_FLASHFREQ_80M
bool
default y

config ESP32_BT_RESERVE_DRAM
hex "Bluetooth controller reserved RAM region"
default 0xdb5c if BT
default 0

choice ESP32_UNIVERSAL_MAC_ADDRESSES
bool "Number of universally administered (by IEEE) MAC address"
default ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR
help
Configure the number of universally administered (by IEEE) MAC addresses.
During initialization, MAC addresses for each network interface are generated or
derived from a single base MAC address. If the number of universal MAC addresses is four,
all four interfaces (WiFi station, WiFi softap, Bluetooth and Ethernet) receive a universally
administered MAC address. These are generated sequentially by adding 0, 1, 2 and 3 (respectively)
to the final octet of the base MAC address. If the number of universal MAC addresses is two,
only two interfaces (WiFi station and Bluetooth) receive a universally administered MAC address.
These are generated sequentially by adding 0 and 1 (respectively) to the base MAC address.
The remaining two interfaces (WiFi softap and Ethernet) receive local MAC addresses.
These are derived from the universal WiFi station and Bluetooth MAC addresses, respectively.
When using the default (Espressif-assigned) base MAC address, either setting can be used.
When using a custom universal MAC address range, the correct setting will depend on the
allocation of MAC addresses in this range (either 2 or 4 per device.)

config ESP32_UNIVERSAL_MAC_ADDRESSES_TWO
bool "Two"
select ESP_MAC_ADDR_UNIVERSE_WIFI_STA
select ESP_MAC_ADDR_UNIVERSE_BT

config ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR
bool "Four"
select ESP_MAC_ADDR_UNIVERSE_WIFI_STA
select ESP_MAC_ADDR_UNIVERSE_WIFI_AP
select ESP_MAC_ADDR_UNIVERSE_BT
select ESP_MAC_ADDR_UNIVERSE_ETH

endchoice # ESP32_UNIVERSAL_MAC_ADDRESSES

config ESP_MAC_ADDR_UNIVERSE_WIFI_AP
bool

config ESP_MAC_ADDR_UNIVERSE_WIFI_STA
bool

config ESP_MAC_ADDR_UNIVERSE_BT
bool

config ESP_MAC_ADDR_UNIVERSE_ETH
bool

config ESP32_UNIVERSAL_MAC_ADDRESSES
int
default 2 if ESP32_UNIVERSAL_MAC_ADDRESSES_TWO
default 4 if ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR

endif # SOC_ESP32
12 changes: 12 additions & 0 deletions soc/xtensa/espressif_esp32/esp32_net/Kconfig.series
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright (c) 2023 Espressif Systems (Shanghai) Co., Ltd.
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_ESP32_NET
bool "ESP32-NET Series"
select XTENSA
select SOC_FAMILY_ESP32
select CLOCK_CONTROL
select DYNAMIC_INTERRUPTS
select HAS_ESPRESSIF_HAL
help
Enable support for Espressif ESP32_NET
81 changes: 9 additions & 72 deletions soc/xtensa/espressif_esp32/esp32_net/Kconfig.soc
Original file line number Diff line number Diff line change
@@ -1,75 +1,12 @@
# Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd.
# SPDX-License-Identifier: Apache-2.0

config SOC_ESP32_NET
bool "ESP32_NET"
select XTENSA
select CLOCK_CONTROL
select DYNAMIC_INTERRUPTS
select HAS_ESPRESSIF_HAL

if SOC_ESP32_NET

config IDF_TARGET_ESP32
bool "ESP32 as target board"
default y

config ESPTOOLPY_FLASHFREQ_80M
bool
default y

config ESP32_BT_RESERVE_DRAM
hex "Bluetooth controller reserved RAM region"
default 0xdb5c if BT
default 0

choice ESP32_UNIVERSAL_MAC_ADDRESSES
bool "Number of universally administered (by IEEE) MAC address"
default ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR
help
Configure the number of universally administered (by IEEE) MAC addresses.
During initialization, MAC addresses for each network interface are generated or
derived from a single base MAC address. If the number of universal MAC addresses is four,
all four interfaces (WiFi station, WiFi softap, Bluetooth and Ethernet) receive a universally
administered MAC address. These are generated sequentially by adding 0, 1, 2 and 3 (respectively)
to the final octet of the base MAC address. If the number of universal MAC addresses is two,
only two interfaces (WiFi station and Bluetooth) receive a universally administered MAC address.
These are generated sequentially by adding 0 and 1 (respectively) to the base MAC address.
The remaining two interfaces (WiFi softap and Ethernet) receive local MAC addresses.
These are derived from the universal WiFi station and Bluetooth MAC addresses, respectively.
When using the default (Espressif-assigned) base MAC address, either setting can be used.
When using a custom universal MAC address range, the correct setting will depend on the
allocation of MAC addresses in this range (either 2 or 4 per device.)

config ESP32_UNIVERSAL_MAC_ADDRESSES_TWO
bool "Two"
select ESP_MAC_ADDR_UNIVERSE_WIFI_STA
select ESP_MAC_ADDR_UNIVERSE_BT

config ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR
bool "Four"
select ESP_MAC_ADDR_UNIVERSE_WIFI_STA
select ESP_MAC_ADDR_UNIVERSE_WIFI_AP
select ESP_MAC_ADDR_UNIVERSE_BT
select ESP_MAC_ADDR_UNIVERSE_ETH

endchoice # ESP32_UNIVERSAL_MAC_ADDRESSES

config ESP_MAC_ADDR_UNIVERSE_WIFI_AP
bool

config ESP_MAC_ADDR_UNIVERSE_WIFI_STA
bool

config ESP_MAC_ADDR_UNIVERSE_BT
bool

config ESP_MAC_ADDR_UNIVERSE_ETH
bool

config ESP32_UNIVERSAL_MAC_ADDRESSES
int
default 2 if ESP32_UNIVERSAL_MAC_ADDRESSES_TWO
default 4 if ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR

endif # SOC_ESP32
choice SOC_PART_NUMBER
prompt "ESP32-NET SOC Selection"
depends on SOC_SERIES_ESP32_NET

# SoC with/without embedded flash
config SOC_ESP32_NET
bool "ESP32_NET"

endchoice # SOC_PART_NUMBER

0 comments on commit 7412a3c

Please sign in to comment.