blob: 152d1161f9f435e1d9b7c4b542a4ef3f6012ba7f [file] [log] [blame]
#
# Copyright (c) 2024 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.
#
rsource "../../zephyr/Kconfig"
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.
# See config/zephyr/Kconfig for full definition
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_MALLOC_SYS_HEAP
default y if !ARCH_POSIX
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"
default n
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.
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.
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.
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.
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.
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
# See config/zephyr/Kconfig for full definition
config CHIP_FACTORY_RESET_ERASE_NVS
bool
default y
endif
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_IPV4
bool "IPv4 support for Matter"
default n
depends on NET_IPV4
help
If disabled, it allows to build NXP SDK application
with IPv4 support independently of the Matter stack still
running over IPv6.
config CHIP_OTA_REQUESTOR
bool
select BOOTLOADER_MCUBOOT
config BOOTLOADER_MCUBOOT
bool
select IMG_MANAGER
select STREAM_FLASH
select STREAM_FLASH_ERASE
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