circuitpython/ports/espressif/mpconfigport.mk

105 lines
2.6 KiB
Makefile
Raw Normal View History

# Use internal flash for CIRCUITPY drive
INTERNAL_FLASH_FILESYSTEM = 1
# Internal math library is substantially smaller than toolchain one
INTERNAL_LIBM = 1
# Longints can be implemented as mpz, as longlong, or not
LONGINT_IMPL = MPZ
2022-10-21 07:43:19 -04:00
# Enable more features
CIRCUITPY_FULL_BUILD ?= 1
2022-10-21 07:43:19 -04:00
# These modules are implemented in ports/<port>/common-hal:
CIRCUITPY_ALARM ?= 1
CIRCUITPY_AUDIOBUSIO ?= 1
CIRCUITPY_AUDIOBUSIO_I2SOUT ?= 1
2022-10-21 07:43:19 -04:00
CIRCUITPY_AUDIOBUSIO_PDMIN ?= 0
CIRCUITPY_AUDIOCORE ?= 1
CIRCUITPY_AUDIOIO ?= 0
CIRCUITPY_AUDIOMIXER ?= 1
2022-10-21 07:43:19 -04:00
CIRCUITPY_AUDIOMP3 ?= 0
CIRCUITPY_BLEIO ?= 1
CIRCUITPY_BLEIO_HCI = 0
CIRCUITPY_CANIO ?= 1
2022-10-21 07:43:19 -04:00
CIRCUITPY_COUNTIO ?= 1
CIRCUITPY_DUALBANK ?= 1
2022-10-28 04:25:33 -04:00
CIRCUITPY_ESP32_CAMERA ?= 1
2022-10-21 07:43:19 -04:00
CIRCUITPY_ESPIDF ?= 1
CIRCUITPY_FRAMEBUFFERIO ?= 1
CIRCUITPY_FREQUENCYIO ?= 1
2022-06-29 19:31:55 -04:00
CIRCUITPY_HASHLIB ?= 1
CIRCUITPY_I2CTARGET ?= 1
2022-10-21 07:43:19 -04:00
CIRCUITPY_IMAGECAPTURE = 0
CIRCUITPY_NVM ?= 1
CIRCUITPY_PS2IO ?= 1
2022-10-21 07:43:19 -04:00
CIRCUITPY_RGBMATRIX ?= 1
CIRCUITPY_ROTARYIO ?= 1
CIRCUITPY_TOUCHIO_USE_NATIVE ?= 1
2020-11-10 06:02:46 -05:00
CIRCUITPY_WATCHDOG ?= 1
2022-10-21 07:43:19 -04:00
CIRCUITPY_WIFI ?= 1
2020-11-18 02:04:56 -05:00
2022-10-21 07:43:19 -04:00
# Conditionally turn off modules/features
2022-06-23 15:59:06 -04:00
ifeq ($(IDF_TARGET),esp32)
2022-10-21 07:43:19 -04:00
# Modules
2022-06-23 15:59:06 -04:00
CIRCUITPY_BLEIO = 0
2022-06-26 17:45:35 -04:00
CIRCUITPY_PARALLELDISPLAY = 0
CIRCUITPY_RGBMATRIX = 0
2022-10-21 07:43:19 -04:00
# Features
2022-06-23 15:59:06 -04:00
CIRCUITPY_USB = 0
else ifeq ($(IDF_TARGET),esp32c3)
2022-10-21 07:43:19 -04:00
# Modules
2021-09-25 14:30:00 -04:00
CIRCUITPY_ALARM = 0
2022-03-18 15:05:54 -04:00
CIRCUITPY_AUDIOBUSIO = 0
2022-10-21 07:43:19 -04:00
CIRCUITPY_COUNTIO = 0
CIRCUITPY_ESP32_CAMERA = 0
2021-09-25 14:30:00 -04:00
CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_PARALLELDISPLAY = 0
2022-03-18 15:05:54 -04:00
CIRCUITPY_ROTARYIO = 0
2021-09-25 14:30:00 -04:00
CIRCUITPY_TOUCHIO ?= 1
CIRCUITPY_TOUCHIO_USE_NATIVE = 0
2022-10-21 07:43:19 -04:00
# Features
2022-03-18 15:05:54 -04:00
CIRCUITPY_USB = 0
2022-10-21 07:43:19 -04:00
else ifeq ($(IDF_TARGET),esp32s2)
# Modules
CIRCUITPY_BLEIO = 0
CIRCUITPY_ESPULP = 1
CIRCUITPY_MEMORYMAP = 1
2022-06-23 15:59:06 -04:00
else ifeq ($(IDF_TARGET),esp32s3)
2022-10-21 07:43:19 -04:00
# Modules
CIRCUITPY_PARALLELDISPLAY = 0
CIRCUITPY_ESPULP = 1
CIRCUITPY_MEMORYMAP = 1
2022-10-21 07:43:19 -04:00
endif
2022-06-23 15:59:06 -04:00
2022-10-21 07:43:19 -04:00
# No room for dualbank on boards with 2MB flash
ifeq ($(CIRCUITPY_ESP_FLASH_SIZE),2MB)
CIRCUITPY_DUALBANK = 0
endif
# Modules dependent on other modules
CIRCUITPY_GIFIO ?= $(CIRCUITPY_ESP32_CAMERA)
CIRCUITPY_QRIO ?= $(CIRCUITPY_ESP32_CAMERA)
# Features dependent on other features
ifneq ($(CIRCUITPY_USB),0)
CIRCUITPY_BUILD_EXTENSIONS ?= bin,uf2
2022-10-21 07:43:19 -04:00
else
CIRCUITPY_BUILD_EXTENSIONS ?= bin
endif
# From ESP32-S2/S3 Technical Reference Manual:
#
# Endpoint number 0 always present (bi-directional, consisting of EP0 IN and EP0 OUT)
# Six additional endpoints (endpoint numbers 1 to 6), configurable as IN or OUT
# Maximum of five IN endpoints concurrently active at any time (including EP0 IN)
#
# Due to the limited number of endpoints, some USB devices will be off by default.
# For instance MIDI is available, but the device is turned off. It can be turned on
# only if something else is turned off, such as HID.
USB_NUM_ENDPOINT_PAIRS = 7
USB_NUM_IN_ENDPOINTS = 5