Hi,
We have an existing nRF91 (nRF9151) project (NCS 2.9.0) that already includes multiple modules such as ECG, external flash, RTC, modem, etc.
Now we want to integrate AWS IoT MQTT functionality directly into our main application.
Since our original project did not have a prj.conf for AWS IoT, we manually merged the Kconfig and options from the aws_iot_mqtt sample into our existing configuration.
The project builds until TF-M, but after merging AWS configs, the build fails with a FLASH overflow inside TF-MEMPTY_0:
address: 0xc000
end_address: 0x10000
placement:
before:
- mcuboot_pad
region: flash_primary
size: 0x4000
EMPTY_1:
address: 0xfe000
end_address: 0x100000
placement:
after:
- nvs_storage
region: flash_primary
size: 0x2000
EMPTY_2:
address: 0xf0000
end_address: 0xf8000
placement:
after:
- mcuboot_secondary
region: flash_primary
size: 0x8000
app:
address: 0x18000
end_address: 0x80000
region: flash_primary
size: 0x68000
mcuboot:
address: 0x0
end_address: 0xc000
placement:
align:
end: 0x1000
before:
- mcuboot_primary
region: flash_primary
size: 0xc000
mcuboot_pad:
address: 0x10000
end_address: 0x10200
placement:
align:
start: 0x8000
before:
- mcuboot_primary_app
region: flash_primary
size: 0x200
mcuboot_primary:
address: 0x10000
end_address: 0x80000
orig_span: &id001
- mcuboot_pad
- app
- tfm
region: flash_primary
sharers: 0x1
size: 0x70000
span: *id001
mcuboot_primary_app:
address: 0x10200
end_address: 0x80000
orig_span: &id002
- app
- tfm
region: flash_primary
size: 0x6fe00
span: *id002
mcuboot_secondary:
address: 0x80000
end_address: 0xf0000
placement:
after:
- mcuboot_primary
align:
start: 0x8000
region: flash_primary
share_size:
- mcuboot_primary
size: 0x70000
mcuboot_sram:
address: 0x20000000
end_address: 0x20008000
orig_span: &id003
- tfm_sram
region: sram_primary
size: 0x8000
span: *id003
nonsecure_storage:
address: 0xf8000
end_address: 0xfe000
orig_span: &id004
- nvs_storage
region: flash_primary
size: 0x6000
span: *id004
nrf_modem_lib_ctrl:
address: 0x20008000
end_address: 0x200084e8
inside:
- sram_nonsecure
placement:
after:
- tfm_sram
- start
region: sram_primary
size: 0x4e8
nrf_modem_lib_rx:
address: 0x2000a568
end_address: 0x2000c568
inside:
- sram_nonsecure
placement:
after:
- nrf_modem_lib_tx
region: sram_primary
size: 0x2000
nrf_modem_lib_sram:
address: 0x20008000
end_address: 0x2000c568
orig_span: &id005
- nrf_modem_lib_ctrl
- nrf_modem_lib_tx
- nrf_modem_lib_rx
region: sram_primary
size: 0x4568
span: *id005
nrf_modem_lib_tx:
address: 0x200084e8
end_address: 0x2000a568
inside:
- sram_nonsecure
placement:
after:
- nrf_modem_lib_ctrl
region: sram_primary
size: 0x2080
nvs_storage:
address: 0xf8000
end_address: 0xfe000
inside:
- nonsecure_storage
placement:
align:
start: 0x8000
before:
- end
region: flash_primary
size: 0x6000
otp:
address: 0xff8108
end_address: 0xff83fc
region: otp
size: 0x2f4
sram_nonsecure:
address: 0x20008000
end_address: 0x20040000
orig_span: &id006
- sram_primary
- nrf_modem_lib_ctrl
- nrf_modem_lib_tx
- nrf_modem_lib_rx
region: sram_primary
size: 0x38000
span: *id006
sram_primary:
address: 0x2000c568
end_address: 0x20040000
region: sram_primary
size: 0x33a98
sram_secure:
address: 0x20000000
end_address: 0x20008000
orig_span: &id007
- tfm_sram
region: sram_primary
size: 0x8000
span: *id007
tfm:
address: 0x10200
end_address: 0x18000
inside:
- mcuboot_primary_app
placement:
before:
- app
region: flash_primary
size: 0x7e00
tfm_nonsecure:
address: 0x18000
end_address: 0x80000
orig_span: &id008
- app
region: flash_primary
size: 0x68000
span: *id008
tfm_secure:
address: 0x10000
end_address: 0x18000
orig_span: &id009
- mcuboot_pad
- tfm
region: flash_primary
size: 0x8000
span: *id009
tfm_sram:
address: 0x20000000
end_address: 0x20008000
inside:
- sram_secure
placement:
after:
- start
region: sram_primary
size: 0x8000
# log CONFIG_LOG=y CONFIG_LOG_MODE_DEFERRED=y # for non-bloking mode CONFIG_LOG_BUFFER_SIZE=4096 CONFIG_LOG_PROCESS_THREAD_SLEEP_MS=10 CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=2048 CONFIG_CBPRINTF_FP_SUPPORT=y # LOG ON RTT NOT UART0 CONFIG_CONSOLE=n #for wifi uart keep this n CONFIG_USE_SEGGER_RTT=y CONFIG_RTT_CONSOLE=y CONFIG_LOG_BACKEND_RTT=y CONFIG_LOG_BACKEND_UART=n CONFIG_UART_CONSOLE=n # stack_size # CONFIG_MAIN_STACK_SIZE=14336 CONFIG_MAIN_STACK_SIZE=6144 # by default 2048 CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_HEAP_MEM_POOL_SIZE=5120 # clock CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=n # configuration of i2c and spi CONFIG_I2C=y CONFIG_SPI=y CONFIG_SENSOR=y # tfm disable for use uart1 as spi1 CONFIG_TFM_SECURE_UART=n CONFIG_TFM_LOG_LEVEL_SILENCE=y # configuration for LIS2DW12 # CONFIG_LIS2DW12=y # CONFIG_LIS2DW12_TRIGGER_GLOBAL_THREAD=y # CONFIG_LIS2DW12_THRESHOLD=y CONFIG_LIS2DW12=y CONFIG_LIS2DW12_TAP=y CONFIG_LIS2DW12_TRIGGER_OWN_THREAD=y # configuration for hw id CONFIG_HW_ID_LIBRARY=y CONFIG_HW_ID_LIBRARY_SOURCE_DEVICE_ID=y # configuration for fuel gauge npm1300 CONFIG_REGULATOR=y CONFIG_NRF_FUEL_GAUGE=y CONFIG_LED=y # Date and time configuration CONFIG_DATE_TIME=y CONFIG_DATE_TIME_UPDATE_INTERVAL_SECONDS=0 CONFIG_DATE_TIME_TOO_OLD_SECONDS=0 CONFIG_DATE_TIME_NTP=y CONFIG_NETWORKING=y CONFIG_NET_SOCKETS=y # for nand flash CONFIG_DISK_ACCESS=y # systemoff CONFIG_PM_DEVICE=y CONFIG_POWEROFF=y CONFIG_DISABLE_FLASH_PATCH=y # json CONFIG_CJSON_LIB=y # siw917y uart CONFIG_SERIAL=y CONFIG_UART_ASYNC_API=y CONFIG_UART_0_INTERRUPT_DRIVEN=y CONFIG_UART_0_ASYNC=y CONFIG_NRFX_UARTE0=y # nvs CONFIG_NVS=y CONFIG_FLASH=y CONFIG_FLASH_MAP=y CONFIG_FLASH_PAGE_LAYOUT=y # Enable mcumgr DFU in application # Enable MCUMGR CONFIG_MCUMGR=y # Enable MCUMGR management for both OS and Images CONFIG_MCUMGR_GRP_OS=y CONFIG_MCUMGR_GRP_IMG=y # Configure MCUMGR transport to UART CONFIG_MCUMGR_TRANSPORT_UART=y # Dependencies # Configure dependencies for CONFIG_MCUMGR CONFIG_NET_BUF=y CONFIG_ZCBOR=y CONFIG_CRC=y # Configure dependencies for CONFIG_MCUMGR_GRP_IMG CONFIG_IMG_MANAGER=y # Configure dependencies for CONFIG_IMG_MANAGER CONFIG_STREAM_FLASH=y # Configure dependencies for CONFIG_MCUMGR_TRANSPORT_UART CONFIG_BASE64=y CONFIG_REBOOT=y CONFIG_DFU_TARGET=y CONFIG_DFU_TARGET_MCUBOOT=y #_________________cellular_part_started_______________________ CONFIG_AWS_IOT_LOG_LEVEL_DBG=y CONFIG_AWS_TEST_SUITE_DQP=n CONFIG_MAIN_STACK_SIZE=8192 CONFIG_ENTROPY_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_INIT_STACKS=y CONFIG_HW_STACK_PROTECTION=y CONFIG_REQUIRES_FULL_LIBC=y CONFIG_SNTP=y CONFIG_JSON_LIBRARY=y CONFIG_POSIX_API=y # DNS CONFIG_DNS_RESOLVER=y CONFIG_DNS_RESOLVER_ADDITIONAL_BUF_CTR=2 CONFIG_DNS_RESOLVER_MAX_SERVERS=1 CONFIG_DNS_SERVER_IP_ADDRESSES=y CONFIG_DNS_SERVER1="8.8.8.8" CONFIG_NET_SOCKETS_DNS_TIMEOUT=5000 CONFIG_DNS_RESOLVER_LOG_LEVEL_DBG=n # Generic networking options CONFIG_NETWORKING=y CONFIG_NET_UDP=y CONFIG_NET_TCP=y CONFIG_NET_IPV6=y CONFIG_NET_IPV4=y CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS_SOCKOPT_TLS=y # Logging CONFIG_LOG=y # Network buffers CONFIG_NET_PKT_RX_COUNT=32 CONFIG_NET_PKT_TX_COUNT=16 CONFIG_NET_BUF_RX_COUNT=64 CONFIG_NET_BUF_TX_COUNT=32 # MQTT CONFIG_MQTT_LIB=y CONFIG_MQTT_LIB_TLS=y CONFIG_MQTT_KEEPALIVE=600 CONFIG_MQTT_LIB_TLS_USE_ALPN=y # TLS CONFIG_NRF_SECURITY=y CONFIG_MBEDTLS_TLS_LIBRARY=y CONFIG_MBEDTLS_LEGACY_CRYPTO_C=y CONFIG_MBEDTLS_ENABLE_HEAP=y CONFIG_MBEDTLS_HEAP_SIZE=4096 CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=8192 CONFIG_MBEDTLS_PEM_CERTIFICATE_FORMAT=y CONFIG_MBEDTLS_SERVER_NAME_INDICATION=y CONFIG_MBEDTLS_AES_ROM_TABLES=y CONFIG_MBEDTLS_TLS_VERSION_1_2=y CONFIG_MBEDTLS_MEMORY_DEBUG=y CONFIG_MBEDTLS_HAVE_TIME_DATE=y CONFIG_MBEDTLS_SSL_ALPN=y CONFIG_MBEDTLS_SSL_CLI_C=y CONFIG_MBEDTLS_X509_CRT_PARSE_C=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED=y CONFIG_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED=y CONFIG_MBEDTLS_SSL_SRV_C=y CONFIG_MBEDTLS_SSL_CLI_C=y CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_ENABLED=y CONFIG_HEAP_MEM_POOL_SIZE=8192 CONFIG_MBEDTLS_CIPHER=y CONFIG_MBEDTLS_MD=y # Required mbedTLS dependencies CONFIG_MBEDTLS_PK_C=y CONFIG_MBEDTLS_PK_PARSE_C=y CONFIG_MBEDTLS_PK_WRITE_C=y CONFIG_MBEDTLS_RSA_C=y CONFIG_MBEDTLS_PKCS1_V15=y CONFIG_MBEDTLS_ECP_C=y CONFIG_MBEDTLS_ECDSA_C=y CONFIG_MBEDTLS_ECDH_C=y CONFIG_MBEDTLS_DHM_C=y CONFIG_MBEDTLS_GCM_C=y CONFIG_MBEDTLS_SHA256_C=y CONFIG_MBEDTLS_X509_USE_C=y CONFIG_MBEDTLS_X509_CRT_PARSE_C=y CONFIG_MBEDTLS_RSA_C=y CONFIG_MBEDTLS_DHM_C=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED=y CONFIG_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED=y CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION=y CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y # LOG ON RTT NOT UART0 CONFIG_CONSOLE=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=y CONFIG_RTT_CONSOLE=y CONFIG_LOG_BACKEND_RTT=y CONFIG_LOG_BACKEND_UART=n CONFIG_NRF_MODEM_LIB=y CONFIG_LTE_LINK_CONTROL=y # Let the modem handle sockets, DNS, and SNTP CONFIG_NET_NATIVE=n CONFIG_NET_SOCKETS_OFFLOAD=y CONFIG_SNTP_LOG_LEVEL_DBG=y CONFIG_MQTT_HELPER_SEC_TAG=212
# Copyright (c) 2023 Lucas Dietrich <[email protected]> # # SPDX-License-Identifier: Apache-2.0 # menu "AWS" mainmenu "AWS IoT Core MQTT sample application" config AWS_ENDPOINT string "AWS endpoint" default "" help Endpoint (hostname) of the AWS MQTT broker. Note that the endpoint is different when using AWS Device Advisor. config AWS_MQTT_PORT int "MQTT Port" default 8883 help Set port of AWS MQTT broker. config AWS_THING_NAME string "AWS Thing name" default "myThingName" help Set the AWS Thing name created on IoT Console config AWS_SUBSCRIBE_TOPIC string "MQTT subscribe topic" default "myThingName/downlink" help MQTT topic the client should subscribe to. config AWS_PUBLISH_TOPIC string "MQTT publish topic" default "myThingName/data" help MQTT topic the client should publish to. choice AWS_TEST_SUITE prompt "Device Advisor test suite" default AWS_TEST_SUITE_NONE help Select the AWS Device Advisor test suite to run. config AWS_TEST_SUITE_NONE bool "No test suite running" config AWS_TEST_SUITE_DQP bool "Device Qualification Program (DQP)" help Make sure your region supports AWS Device Advisor for DQP config AWS_TEST_SUITE_RECV_QOS1 bool "Test suite for receiving QoS 1 messages" help For single test case "MQTT Client Puack QoS1" endchoice config AWS_QOS int "MQTT QoS" default 0 if AWS_TEST_SUITE_DQP default 1 if AWS_TEST_SUITE_RECV_QOS1 default 0 range 0 1 help Quality of Service to use for publishing and subscribing to topics. Notes: - Use QoS 0 when passing DQP test suite - QoS 2 is not supported by AWS MQTT broker config AWS_EXPONENTIAL_BACKOFF bool "enable exponential backoff" default n if AWS_TEST_SUITE_DQP || AWS_TEST_SUITE_RECV_QOS1 default y help Enable AWS exponential backoff for reconnecting to AWS MQTT broker. endmenu source "Kconfig.zephyr"
/*
* Copyright (C) 2023 Nordic Semiconductor ASA
* SPDX-License-Identifier: Apache-2.0
*/
#include <dt-bindings/regulator/npm1300.h>
#include <zephyr/dt-bindings/input/input-event-codes.h>
&gpio0 {status = "okay";};
&i2c0 {status = "disabled";};
&i2c1 {status = "disabled";};
&spi0 {status = "disabled";};
&spi2 {status = "disabled";};
&pwm0 {status = "disabled";};
// &led1 {status = "disabled";};
// &led2 {status = "disabled";};
// &led3 {status = "disabled";};
&uart1 {status = "disabled";};
&button0 {status = "disabled";};
&button1 {status = "disabled";};
/{
chosen {
/delete-property/ zephyr,console;
zephyr,uart-mcumgr = &uart0;
};
leds {
compatible = "gpio-leds";
led2: led_2 {
gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
label = "Green LED 3";
};
led3: led_3 {
gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
label = "Green LED 4";
};
};
buttons {
button4: button_4 {
gpios = <&gpio0 2 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
};
button5: button_5 {
gpios = <&gpio0 5 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
};
sil23: sil_23 {
gpios = <&gpio0 23 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
};
sil24: sil_24 {
gpios = <&gpio0 24 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
};
fl_hld: fl_hld_1 {
gpios = <&gpio0 10 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
};
fl_wp: fl_wp_1 {
gpios = <&gpio0 7 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
};
// buck: buck_1 {
// gpios = <&gpio0 1 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
// };
};
aliases {
sw4 = &button4; //for rtc interrupt
sw5 = &button5; //for wifi interrupt
sw6 = &sil23; //for wifi
sw7 = &sil24; //for wifi interrupt
sw8 = &fl_hld; //for wifi interrupt
sw9 = &fl_wp; //for wifi interrupt
// sw10 = &buck; //for wifi interrupt
lis2dw12 = &lis2dw12;
max30001g = &max30001g;
};
};
&pinctrl {
uart0_default: uart0_default {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 27)>;
};
group2 {
psels = <NRF_PSEL(UART_RX, 0, 26)>;
bias-pull-up;
};
};
uart0_sleep: uart0_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 27)>,
<NRF_PSEL(UART_RX, 0, 26)>;
low-power-enable;
};
};
i2c2_default {
group1 {
/delete-property/ bias-pull-up;
};
};
spi1_default: spi1_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 16)>,
<NRF_PSEL(SPIM_MISO, 0, 29)>,
<NRF_PSEL(SPIM_MOSI, 0, 28)>;
nordic,drive-mode = <NRF_DRIVE_H0H1>;
};
};
spi1_sleep: spi1_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 16)>,
<NRF_PSEL(SPIM_MISO, 0, 29)>,
<NRF_PSEL(SPIM_MOSI, 0, 28)>;
low-power-enable;
};
};
};
&uart0 {
current-speed = <115200>;
};
&i2c2 {
status = "okay";
lis2dw12: lis2dw12@19 {
compatible = "st,lis2dw12";
reg = <0x19>;
label = "LIS2DW12";
irq-gpios = <&gpio0 8 (GPIO_ACTIVE_HIGH|GPIO_PULL_UP)>,
<&gpio0 9 (GPIO_ACTIVE_HIGH)>;
odr = <100>; /* Set Output Data Rate to 100Hz (adjust as needed) */
range = <2>; /* ±2g sensitivity */
power-mode = <4>; /* High-performance mode */
bw-filt = <0>; /* Set digital filter bandwidth to ODR/2 */
tap-mode = <1>; /* Enable both single and double tap detection */
tap-threshold = <12 12 12>; /* Set X, Y, Z tap threshold (adjust as needed) */
tap-shock = <1>; /* Tap shock duration */
tap-latency = <3>; /* Time between two taps for double tap detection */
tap-quiet = <1>; /* Quiet time after a tap */
wakeup-duration = <3>; /* Wakeup duration = 4 ODR cycles (adjust as needed) */
};
};
&i2c2 {
status = "okay";
max31341: max31341@69 {
compatible = "i2c-device";
reg = <0x69>;
};
};
&arduino_i2c {
npm1300_ek_pmic: pmic@6b {
compatible = "nordic,npm1300";
reg = <0x6b>;
npm1300_ek_gpio: gpio-controller {
compatible = "nordic,npm1300-gpio";
gpio-controller;
#gpio-cells = <2>;
ngpios = <5>;
};
npm1300_ek_regulators: regulators {
compatible = "nordic,npm1300-regulator";
npm1300_ek_buck1: BUCK1 {
// regulator-min-microvolt = <3300000>;
// regulator-max-microvolt = <3300000>;
// regulator-init-microvolt = <3300000>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-init-microvolt = <1800000>;
// regulator-always-on; // Optional: Keeps BUCK1 on
};
npm1300_ek_buck2: BUCK2 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3300000>;
regulator-init-microvolt = <3300000>;
// regulator-min-microvolt = <1800000>;
// regulator-max-microvolt = <1800000>;
// regulator-init-microvolt = <1800000>;
// regulator-always-on; // Optional: Keeps BUCK2 on
/delete-property/ enable-gpios;
/delete-property/ retention-gpios;
/delete-property/ pwm-gpios;
};
npm1300_ek_ldo1: LDO1 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-init-microvolt = <1800000>;
regulator-initial-mode = <NPM1300_LDSW_MODE_LDSW>;
/delete-property/ enable-gpios;
};
npm1300_ek_ldo2: LDO2 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-init-microvolt = <1800000>;
regulator-initial-mode = <NPM1300_LDSW_MODE_LDSW>;
/delete-property/ enable-gpios;
};
};
npm1300_ek_charger: charger {
compatible = "nordic,npm1300-charger";
term-microvolt = <3600000>;
term-warm-microvolt = <4000000>;
current-microamp = <150000>;
dischg-limit-microamp = <1000000>;
vbus-limit-microamp = <500000>;
thermistor-ohms = <10000>;
thermistor-beta = <3380>;
charging-enable;
};
npm1300_ek_buttons: buttons {
status = "disabled";
compatible = "gpio-keys";
pmic_button0: pmic_button_0 {
status = "disabled";
gpios = <&npm1300_ek_gpio 0 GPIO_ACTIVE_HIGH>;
label = "Pmic button switch 0";
zephyr,code = <INPUT_KEY_0>;
};
};
npm1300_ek_leds: leds {
compatible = "nordic,npm1300-led";
nordic,led0-mode = "charging";
nordic,led1-mode = "host";
nordic,led2-mode = "host";
};
};
};
&spi1 {
compatible = "nordic,nrf-spim";
clock-frequency = <DT_FREQ_M(12)>;
status = "okay";
cs-gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-names = "default", "sleep";
max30001g: max30001g@0 {
compatible = "maxim,max30001g";
status = "okay";
reg = <0x0>;
spi-max-frequency = <DT_FREQ_M(12)>;
ecg-enabled;
rtor-enabled;
ecg-dcloff-enable;
ecg-dcloff-current = <4>;
};
};
&spi3 {
status = "okay";
clock-frequency = <DT_FREQ_M(83)>;
/delete-property/ cs-gpios;
};so please guide us how we solve this issue
best regards