blob: 6586c24876b5277b36076cff0112f2886ca41c14 [file] [log] [blame]
#
# Copyright (c) 2024-2025 Project CHIP Authors
#
# Licensed 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.
#
if CHIP
config CHIP_NXP_PLATFORM
bool
default y
help
States that the configuration uses Matter NXP platform,
what can be used to conditionally deviate from Zephyr generic configuration
for NXP platform related purposes.
config CHIP_DEVICE_VENDOR_NAME
default "NXP Semiconductors"
config CHIP_EXAMPLE_DEVICE_INFO_PROVIDER
bool "Include default device information provider build"
default y
config CHIP_DEBUG_SYMBOLS
bool "Generate debug symbols"
default y
help
Enables building the application with debug symbols.
config CHIP_STRIP_SYMBOLS
bool "Strip symbols"
help
Remove all symbol table and relocation information from the binary.
config CHIP_FACTORY_DATA
bool "Factory data provider"
help
Enables the default NXP factory data provider implementation that
supports reading the factory data encoded in the KLV format from the
flash memory partition. This option requires a fixed partition named
"factory_partition" declared on the device tree. Factory data partition
can be generated during build process, see CHIP_FACTORY_DATA_BUILD Kconfig.
config CHIP_FACTORY_DATA_CUSTOM_BACKEND
bool "Custom factory data provider"
depends on !CHIP_FACTORY_DATA
help
Enables user's custom factory data provider implementation. This option
cannot be used with the CHIP_FACTORY_DATA, which enables the default NXP
factory data provider implementation.
config CHIP_FACTORY_DATA_BUILD
bool "Generate factory data contents"
imply CHIP_FACTORY_DATA
help
Enables generation of the factory data contents during the building. This
option requires a fixed partition named "factory_partition" declared on the
device tree.
config CHIP_FACTORY_DATA_VERSION
int
default 1
help
Provides the version of the generated factory data parameter set. This is
a hidden configuration option that the user cannot change. You can use
this value in the factory data provider implementation to verify that the
factory data saved in the flash memory has the expected version.
config CHIP_FACTORY_DATA_ROTATING_DEVICE_UID_MAX_LEN
int "Maximum length of rotating device ID unique ID in bytes"
default 16
depends on CHIP_FACTORY_DATA
help
Maximum acceptable length of rotating device ID unique ID in bytes.
config CHIP_DEVICE_USE_TEST_PAIRING_CODE
string "Use a default pairing code"
default "CHIPUS"
depends on !CHIP_PLAT_LOAD_REAL_FACTORY_DATA
help
Use a default pairing code if one hasn't been provisioned in flash.
(Macro value is in quotes.)
if CHIP_FACTORY_DATA
config CHIP_ENCRYPTED_FACTORY_DATA_AES128_KEY
string "AES128 key used to encrypt factory data."
default "2B7E151628AED2A6ABF7158809CF4F3C"
help
AES128 key used to encrypt factory data.
(Macro value is in quotes.)
config CHIP_ENCRYPTED_FACTORY_DATA
bool "Encrypt factory data with AES128 ECB."
default y
help
If enabled, the factory data partition will be encrypted with AES128 ECB.
config CHIP_DEVICE_PRODUCT_URL
string "Product URL"
help
Provides the URL to the product page. The URL is exposed as an attribute
of the Basic Information cluster.
(Macro value is in quotes.)
config CHIP_DEVICE_PRODUCT_LABEL
string "Product label"
help
Provides the product label. The label is exposed as an attribute
of the Basic Information cluster.
(Macro value is in quotes.)
config CHIP_DEVICE_PART_NUMBER
string "Part number"
help
Provides the part number. The part number is exposed as an attribute
of the Basic Information cluster.
(Macro value is in quotes.)
config CHIP_PLAT_LOAD_REAL_FACTORY_DATA
bool "Load real factory data"
default y
help
Allows to load the factory data provisioned in flash.
config CHIP_ENABLE_EL2GO_FACTORY_DATA
bool "Secure DAC private key storage using El2Go provisioning"
help
Enable DAC private key storage using El2Go provisioning.
config CHIP_ENABLE_SECURE_WHOLE_FACTORY_DATA
bool "Secure whole factory data"
help
This mode allows to protect the matter factory dataset with a AES key protected in the secure element.
endif
if CHIP_FACTORY_DATA_BUILD
# Factory data definitions
config CHIP_FACTORY_DATA_GENERATE_ONBOARDING_CODES
bool "Generate onboarding codes during the generation of a factory data set"
help
Enables generation of onboarding codes (manual pairing code and QR code)
during the generation of a factory data set. You can provide the
onboarding codes a Matter controller to commission a device to a Matter
network.
# Select source of the certificates
choice CHIP_FACTORY_DATA_CERT_SOURCE
prompt "Attestation certificate file source"
default CHIP_FACTORY_DATA_USE_DEFAULT_CERTS
config CHIP_FACTORY_DATA_USE_DEFAULT_CERTS
bool "Use pre-generated development certificates"
help
Uses pre-generated certificate files from the
credentials/development/attestation/ directory that match the
configured Product ID. This can be used for development purpose.
config CHIP_FACTORY_DATA_CERT_SOURCE_GENERATED
bool "Auto-generate certificates"
help
Generates new certificates instead of using pre-generated ones. The
certificates are generated on every build.
config CHIP_FACTORY_DATA_CERT_SOURCE_USER
bool "Use user-provided certificate files"
help
Uses user-provided certificate files. The user needs to specify the
absolute paths to all necessary files.
endchoice
if CHIP_FACTORY_DATA_CERT_SOURCE_USER
config CHIP_FACTORY_DATA_USER_CERTS_CD_CERT
string "Path to the CD certificate (DER format)"
help
Provides the absolute path to the CD certificate file in the DER format.
config CHIP_FACTORY_DATA_USER_CERTS_DAC_CERT
string "Path to the DAC certificate (DER format)"
help
Provides the absolute path to the DAC certificate file in the DER format.
config CHIP_FACTORY_DATA_USER_CERTS_DAC_KEY
string "Path to the DAC private key (DER format)"
help
Provides the absolute path to the DAC keypair file in the DER format. Both
public and private keys must be present (the private key will be extracted
automatically).
config CHIP_FACTORY_DATA_USER_CERTS_PAI_CERT
string "Path to the PAI certificate (DER format)"
help
Provides the absolute path to the PAI certificate in the DER format.
endif
# Configs for SPAKE2+ generation
config CHIP_FACTORY_DATA_GENERATE_SPAKE2_VERIFIER
bool "Generate SPAKE2+ verifier"
help
Enables the generation of the SPAKE2+ verifier for the configured SPAKE2+
passcode, iteration count and salt.
config CHIP_DEVICE_GENERATE_ROTATING_DEVICE_UID
bool "Generate Rotating device ID unique ID"
default y
help
Enables the generation of a random Rotating device ID unique ID.
endif #CHIP_FACTORY_DATA_BUILD
config CHIP_FACTORY_RESET_ERASE_NVS
bool
default y
config CHIP_LOG_SIZE_OPTIMIZATION
bool "Disable some detailed logs to decrease flash usage"
help
Disables some log levels for specific Matter log modules that provide
information that is too detailed to be used in most cases. You can find
full configuration enabled by this option in the
platform/nxp/CHIPPlatformConfig.h file.
config CHIP_OTA_REQUESTOR_BUFFER_SIZE
int "OTA Requestor image buffer size"
default 256
depends on CHIP_OTA_REQUESTOR
help
Configures the size of the buffer used by OTA Requestor when downloading
and writing a new firmware image to flash.
config CHIP_OTA_REQUESTOR_REBOOT_ON_APPLY
bool "Auto-reboot when firmware update is applied"
default y
depends on CHIP_OTA_REQUESTOR
imply REBOOT
help
Reboots the device automatically after downloading a new firmware update
to swap the old and the new firmware images. The reboot happens only when
a user consents to apply the firmware update.
choice CHIP_OTA_REQUEST_UPGRADE_TYPE
prompt "Type of the upgrade to apply on new images"
default CHIP_OTA_REQUEST_UPGRADE_TEST
depends on CHIP_OTA_REQUESTOR
config CHIP_OTA_REQUEST_UPGRADE_PERMANENT
bool "Mark the image as permanent"
help
The upgrade will be permanent on the next reboot.
No coming back to the old image.
config CHIP_OTA_REQUEST_UPGRADE_TEST
bool "Mark the image as a test"
help
The upgrade will be marked as a test.
Image will be run on the next reboot, if confirmed it
becomes permanent, otherwise the new image is reverted.
endchoice
config CHIP_NXP_MULTIPLE_BLE_CONNECTIONS
bool "Use Multiple BLE connections after commissioning"
depends on CHIP_NXP_PLATFORM_MCXW71 || CHIP_NXP_PLATFORM_MCXW72
help
Enable app usage of Multiple BLE connections after commissioning.
config CHIP_NXP_BLE_PAIRING
bool "Enable BLE Pairing"
default y if CHIP_NXP_MULTIPLE_BLE_CONNECTIONS
help
Enable BLE Pairing for Multiple BLE connections after commissioning.
config CHIP_NXP_BLE_BONDING
bool "Enable BLE Bonding"
default y if CHIP_NXP_MULTIPLE_BLE_CONNECTIONS
help
Enable BLE Bonding for Multiple BLE connections after commissioning.
config NXP_USE_SMU2_STATIC
bool "Use SMU2"
depends on CHIP_NXP_PLATFORM_MCXW71 || CHIP_NXP_PLATFORM_MCXW72
help
Enable app usage of SMU2.
config NXP_USE_SMU2_DYNAMIC
bool "Use SMU2"
depends on CHIP_NXP_PLATFORM_MCXW71 || CHIP_NXP_PLATFORM_MCXW72
help
Enable app usage of extra SMU2 after commissioning.
config NXP_USE_LOW_POWER
bool "Enable low power support"
help
Enables low power support
config NXP_USE_PLAIN_DAC_KEY
bool "Store DAC private key in plaintext"
help
Store DAC private key in plaintext.
config CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_TIMEOUT
int "Timeout (ms) for switching from fast to slow advertising"
default 30000
help
The amount of time in miliseconds after which BLE should change its advertisements
from fast interval to slow interval.
config CHIP_DEVICE_CONFIG_BLE_ADVERTISING_TIMEOUT
int "BLE advertising timeout"
default 900000
help
The amount of time in miliseconds after which BLE advertisement should be disabled, counting
from the moment of slow advertisement commencement.
config CHIP_DEVICE_CONFIG_ENABLE_SED
bool "SED"
help
Enable Sleepy End Device configuration.
if NET_L2_OPENTHREAD
config CHIP_SECONDARY_NETWORK_IF
bool "Secondary Network Interface"
help
Enable a secondary network commissioning interface.
config CHIP_THREAD_NETWORK_ENDPOINT_ID
int "Thread Network Endpoint ID"
default 2 if CHIP_SECONDARY_NETWORK_IF
default 0
help
Specify the endpoint ID of the Thread network.
endif # NET_L2_OPENTHREAD
endif # CHIP