From 37f287faeb7aa4aa0a0e4d5a435c73525e20a666 Mon Sep 17 00:00:00 2001 From: Declan Snyder Date: Wed, 30 Jul 2025 14:40:59 -0500 Subject: [PATCH 1/6] dts: bindings: spi-device: Add parameters for spi peripherals Add spi parameters for spi peripherals to spi-device.yaml. These properties and their names are mostly inspired by linux spi-peripheral-props.yaml. Signed-off-by: Declan Snyder --- dts/bindings/spi/spi-device.yaml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/dts/bindings/spi/spi-device.yaml b/dts/bindings/spi/spi-device.yaml index 6915b664890e8..d9b28a558eecc 100644 --- a/dts/bindings/spi/spi-device.yaml +++ b/dts/bindings/spi/spi-device.yaml @@ -50,6 +50,9 @@ properties: description: | SPI clock phase that indicates on which edge data is sampled. If it is used, data is sampled on the second edge; otherwise, on the first edge. + spi-lsb-first: + type: boolean + description: The device requires least significant bit first data mode. spi-hold-cs: type: boolean description: | @@ -58,3 +61,22 @@ properties: without releasing it. A typical use case is variable length SPI packets where the first spi transaction reads the length and the second spi transaction reads length bytes. + spi-cs-high: + type: boolean + description: The device requires the chip select to be active high. + spi-interframe-delay-ns: + type: int + default: 0 + description: | + Delay in nanoseconds between SPI words. + Default of 0 is special value which will assume to mean half of the SCK period. + spi-cs-setup-delay-ns: + type: int + description: | + Delay in nanoseconds to be introduced by the controller after CS is asserted. + Also known as enable lead time. + spi-cs-hold-delay-ns: + type: int + description: | + Delay in nanoseconds to be introduced by the controller before the CS is de-asserted. + Also known as enable lag time. From 58dcbdb44f43d42b1a05bd8ec5db8214a90b4c63 Mon Sep 17 00:00:00 2001 From: Declan Snyder Date: Wed, 10 Sep 2025 13:52:59 -0500 Subject: [PATCH 2/6] include: drivers: spi.h: Get CS delay parameters from DT The CS delay parameter did not make a distinction between the setup and hold time of the CS, and also did not specify very fine control which can be done usually by a native controller CS. So use the new nanosecond DT properties to get the delay values and make distinction. Add deprecation warning if consumer supplies the delay parameter and make it still work the old way in that case for backward compatibility following API lifecycle process. Update driver API version to 1.1.0 due to this change Signed-off-by: Declan Snyder --- doc/releases/migration-guide-4.3.rst | 11 +++ doc/releases/release-notes-4.3.rst | 4 + include/zephyr/drivers/mipi_dbi.h | 1 + include/zephyr/drivers/spi.h | 137 +++++++++++++++++---------- 4 files changed, 103 insertions(+), 50 deletions(-) diff --git a/doc/releases/migration-guide-4.3.rst b/doc/releases/migration-guide-4.3.rst index dd1d52fd25f8f..00a529067cda0 100644 --- a/doc/releases/migration-guide-4.3.rst +++ b/doc/releases/migration-guide-4.3.rst @@ -81,6 +81,17 @@ Phy clock-reference. The selection directly depends on the value on OTGHSSEL (OTG_HS PHY kernel clock source selection) located in the RCC_CCIPR2 register. +SPI +=== + +* The macros :c:macro:`SPI_CS_CONTROL_INIT` :c:macro:`SPI_CS_CONTROL_INIT_INST`, + :c:macro:`SPI_CONFIG_DT`, :c:macro:`SPI_CONFIG_DT_INST`, :c:macro:`SPI_DT_SPEC_GET`, + and :c:macro:`SPI_DT_SPEC_INST_GET` have been changed so that they do not need to be + provided a delay parameter anymore. This is because the timing parameters of a SPI peripheral + chip select should now be specified in DT with the + ``spi-cs-setup-delay-ns`` and ``spi-cs-hold-delay-ns`` properties. + (:github:`87427`). + Sensors ======= diff --git a/doc/releases/release-notes-4.3.rst b/doc/releases/release-notes-4.3.rst index 2e157b25d62f9..90bae2a48646b 100644 --- a/doc/releases/release-notes-4.3.rst +++ b/doc/releases/release-notes-4.3.rst @@ -62,6 +62,10 @@ Deprecated APIs and options =========================== * :dtcompatible:`maxim,ds3231` is deprecated in favor of :dtcompatible:`maxim,ds3231-rtc`. +* Providing a third agument to :c:macro:`SPI_CONFIG_DT`, :c:macro:`SPI_CONFIG_DT_INST`, + :c:macro:`SPI_DT_SPEC_GET`, :c:macro:`SPI_DT_SPEC_INST_GET` is deprecated. Providing a + second argument to :c:macro:`SPI_CS_CONTROL_INIT` is deprecated. Use new DT properties + ``spi-cs-setup-delay-ns`` and ``spi-cs-hold-delay-ns`` to specify delay instead. * :c:enum:`bt_hci_bus` was deprecated as it was not used. :c:macro:`BT_DT_HCI_BUS_GET` should be used instead. diff --git a/include/zephyr/drivers/mipi_dbi.h b/include/zephyr/drivers/mipi_dbi.h index 27a477cb8cf9f..61a46461eab49 100644 --- a/include/zephyr/drivers/mipi_dbi.h +++ b/include/zephyr/drivers/mipi_dbi.h @@ -67,6 +67,7 @@ extern "C" { DT_REG_ADDR_RAW(node_id), \ {}), \ .delay = (delay_), \ + .cs_is_gpio = true, \ }, \ } diff --git a/include/zephyr/drivers/spi.h b/include/zephyr/drivers/spi.h index aac753c31d7fc..a6c56c16c8fbb 100644 --- a/include/zephyr/drivers/spi.h +++ b/include/zephyr/drivers/spi.h @@ -18,7 +18,7 @@ * controllers. * @defgroup spi_interface SPI * @since 1.0 - * @version 1.0.0 + * @version 1.1.0 * @ingroup io_interfaces * @{ */ @@ -242,19 +242,38 @@ extern "C" { * */ struct spi_cs_control { - /** - * GPIO devicetree specification of CS GPIO. - * The device pointer can be set to NULL to fully inhibit CS control if - * necessary. The GPIO flags GPIO_ACTIVE_LOW/GPIO_ACTIVE_HIGH should be - * equivalent to SPI_CS_ACTIVE_HIGH/SPI_CS_ACTIVE_LOW options in struct - * spi_config. - */ - struct gpio_dt_spec gpio; - /** - * Delay in microseconds to wait before starting the - * transmission and before releasing the CS line. - */ - uint32_t delay; + union { + struct { + /** + * GPIO devicetree specification of CS GPIO. + * The device pointer can be set to NULL to fully inhibit CS control if + * necessary. The GPIO flags GPIO_ACTIVE_LOW/GPIO_ACTIVE_HIGH should be + * equivalent to SPI_CS_ACTIVE_HIGH/SPI_CS_ACTIVE_LOW options in struct + * spi_config. + */ + struct gpio_dt_spec gpio; + /** + * Delay in microseconds to wait before starting the + * transmission and before releasing the CS line. + */ + uint32_t delay; + }; + struct { + /** + * CS enable lead time, i.e. how long should the CS be asserted + * before the first clock. Specified in nanoseconds. + */ + uint32_t setup_ns; + /** + * CS enable lag time, i.e. how long should the CS be asserted + * after the last clock, before the CS de-asserts. + * Specified in nanoseconds. + */ + uint32_t hold_ns; + }; + }; + /* To keep track of which form of this struct is valid */ + bool cs_is_gpio; }; /** @@ -310,6 +329,26 @@ struct spi_cs_control { #define SPI_CS_GPIOS_DT_SPEC_INST_GET(inst) \ SPI_CS_GPIOS_DT_SPEC_GET(DT_DRV_INST(inst)) +/** @cond INTERNAL_HIDDEN */ +#define SPI_CS_CONTROL_MAX_DELAY(node_id) \ + MAX(DT_PROP_OR(node_id, spi_cs_setup_delay_ns, 0), \ + DT_PROP_OR(node_id, spi_cs_hold_delay_ns, 0)) + + +#define SPI_CS_CONTROL_INIT_GPIO(node_id, ...) \ + .gpio = SPI_CS_GPIOS_DT_SPEC_GET(node_id), \ + .delay = COND_CODE_1(IS_EMPTY(__VA_ARGS__), \ + (DIV_ROUND_UP(SPI_CS_CONTROL_MAX_DELAY(node_id), 1000)), \ + (__VA_ARGS__)) + +#define SPI_CS_CONTROL_INIT_NATIVE(node_id) \ + .setup_ns = DT_PROP_OR(node_id, spi_cs_setup_delay_ns, 0), \ + .hold_ns = DT_PROP_OR(node_id, spi_cs_hold_delay_ns, 0), + +#define SPI_DEPRECATE_DELAY_WARN \ + __WARN("Delay parameter in SPI DT macros is deprecated, use DT prop instead") +/** @endcond */ + /** * @brief Initialize and get a pointer to a @p spi_cs_control from a * devicetree node identifier @@ -332,27 +371,34 @@ struct spi_cs_control { * * @code{.c} * struct spi_cs_control ctrl = - * SPI_CS_CONTROL_INIT(DT_NODELABEL(spidev), 2); + * SPI_CS_CONTROL_INIT(DT_NODELABEL(spidev)); * @endcode * - * This example is equivalent to: + * This example is roughly equivalent to: * * @code{.c} * struct spi_cs_control ctrl = { * .gpio = SPI_CS_GPIOS_DT_SPEC_GET(DT_NODELABEL(spidev)), - * .delay = 2, + * .delay = DT_PROP(node_id, cs_delay_ns) / 1000, + * .cs_is_gpio = true, * }; * @endcode * + * For non-gpio CS, the idea is similar but the lead and lag fields of the cs struct + * will be populated instead. + * * @param node_id Devicetree node identifier for a device on a SPI bus - * @param delay_ The @p delay field to set in the @p spi_cs_control + * * @return a pointer to the @p spi_cs_control structure */ -#define SPI_CS_CONTROL_INIT(node_id, delay_) \ - { \ - .gpio = SPI_CS_GPIOS_DT_SPEC_GET(node_id), \ - .delay = (delay_), \ - } +#define SPI_CS_CONTROL_INIT(node_id, ...) \ +{ \ + COND_CODE_0(IS_EMPTY(__VA_ARGS__), (SPI_DEPRECATE_DELAY_WARN), ()) \ + .cs_is_gpio = DT_SPI_DEV_HAS_CS_GPIOS(node_id), \ + COND_CODE_1(DT_SPI_DEV_HAS_CS_GPIOS(node_id), \ + (SPI_CS_CONTROL_INIT_GPIO(node_id, __VA_ARGS__)), \ + (SPI_CS_CONTROL_INIT_NATIVE(node_id))) \ +} /** * @brief Get a pointer to a @p spi_cs_control from a devicetree node @@ -364,11 +410,11 @@ struct spi_cs_control { * this macro. * * @param inst Devicetree node instance number - * @param delay_ The @p delay field to set in the @p spi_cs_control + * * @return a pointer to the @p spi_cs_control structure */ -#define SPI_CS_CONTROL_INIT_INST(inst, delay_) \ - SPI_CS_CONTROL_INIT(DT_DRV_INST(inst), delay_) +#define SPI_CS_CONTROL_INIT_INST(inst) \ + SPI_CS_CONTROL_INIT(DT_DRV_INST(inst)) /** @} */ @@ -432,10 +478,8 @@ struct spi_config { * @param node_id Devicetree node identifier for the SPI device whose * struct spi_config to create an initializer for * @param operation_ the desired @p operation field in the struct spi_config - * @param delay_ the desired @p delay field in the struct spi_config's - * spi_cs_control, if there is one */ -#define SPI_CONFIG_DT(node_id, operation_, delay_) \ +#define SPI_CONFIG_DT(node_id, operation_, ...) \ { \ .frequency = DT_PROP(node_id, spi_max_frequency), \ .operation = (operation_) | \ @@ -445,22 +489,20 @@ struct spi_config { COND_CODE_1(DT_PROP(node_id, spi_cpha), SPI_MODE_CPHA, (0)) | \ COND_CODE_1(DT_PROP(node_id, spi_hold_cs), SPI_HOLD_ON_CS, (0)), \ .slave = DT_REG_ADDR(node_id), \ - .cs = SPI_CS_CONTROL_INIT(node_id, delay_), \ + .cs = SPI_CS_CONTROL_INIT(node_id, __VA_ARGS__), \ } /** * @brief Structure initializer for spi_config from devicetree instance * * This is equivalent to - * SPI_CONFIG_DT(DT_DRV_INST(inst), operation_, delay_). + * SPI_CONFIG_DT(DT_DRV_INST(inst), operation_). * * @param inst Devicetree instance number * @param operation_ the desired @p operation field in the struct spi_config - * @param delay_ the desired @p delay field in the struct spi_config's - * spi_cs_control, if there is one */ -#define SPI_CONFIG_DT_INST(inst, operation_, delay_) \ - SPI_CONFIG_DT(DT_DRV_INST(inst), operation_, delay_) +#define SPI_CONFIG_DT_INST(inst, operation_, ...) \ + SPI_CONFIG_DT(DT_DRV_INST(inst), operation_, __VA_ARGS__) /** * @brief Complete SPI DT information @@ -486,28 +528,24 @@ struct spi_dt_spec { * @param node_id Devicetree node identifier for the SPI device whose * struct spi_dt_spec to create an initializer for * @param operation_ the desired @p operation field in the struct spi_config - * @param delay_ the desired @p delay field in the struct spi_config's - * spi_cs_control, if there is one */ -#define SPI_DT_SPEC_GET(node_id, operation_, delay_) \ - { \ - .bus = DEVICE_DT_GET(DT_BUS(node_id)), \ - .config = SPI_CONFIG_DT(node_id, operation_, delay_) \ +#define SPI_DT_SPEC_GET(node_id, operation_, ...) \ + { \ + .bus = DEVICE_DT_GET(DT_BUS(node_id)), \ + .config = SPI_CONFIG_DT(node_id, operation_, __VA_ARGS__), \ } /** * @brief Structure initializer for spi_dt_spec from devicetree instance * * This is equivalent to - * SPI_DT_SPEC_GET(DT_DRV_INST(inst), operation_, delay_). + * SPI_DT_SPEC_GET(DT_DRV_INST(inst), operation_). * * @param inst Devicetree instance number * @param operation_ the desired @p operation field in the struct spi_config - * @param delay_ the desired @p delay field in the struct spi_config's - * spi_cs_control, if there is one */ -#define SPI_DT_SPEC_INST_GET(inst, operation_, delay_) \ - SPI_DT_SPEC_GET(DT_DRV_INST(inst), operation_, delay_) +#define SPI_DT_SPEC_INST_GET(inst, operation_, ...) \ + SPI_DT_SPEC_GET(DT_DRV_INST(inst), operation_, __VA_ARGS__) /** * @brief Value that will never compare true with any valid overrun character @@ -863,7 +901,7 @@ __subsystem struct spi_driver_api { */ static inline bool spi_cs_is_gpio(const struct spi_config *config) { - return config->cs.gpio.port != NULL; + return config->cs.cs_is_gpio; } /** @@ -1291,11 +1329,10 @@ extern const struct rtio_iodev_api spi_iodev_api; * @param name Symbolic name to use for defining the iodev * @param node_id Devicetree node identifier * @param operation_ SPI operational mode - * @param delay_ Chip select delay in microseconds */ -#define SPI_DT_IODEV_DEFINE(name, node_id, operation_, delay_) \ +#define SPI_DT_IODEV_DEFINE(name, node_id, operation_) \ const struct spi_dt_spec _spi_dt_spec_##name = \ - SPI_DT_SPEC_GET(node_id, operation_, delay_); \ + SPI_DT_SPEC_GET(node_id, operation_); \ RTIO_IODEV_DEFINE(name, &spi_iodev_api, (void *)&_spi_dt_spec_##name) /** From 4d799bbe64a8a663ab28474436ac353554157d48 Mon Sep 17 00:00:00 2001 From: Declan Snyder Date: Wed, 30 Jul 2025 16:01:47 -0500 Subject: [PATCH 3/6] drivers: Convert to use SPI macro without delay parameters Convert all drivers and other consumers to use SPI macros without the delay parameters. Signed-off-by: Declan Snyder --- drivers/adc/adc_ad405x.c | 4 ++-- drivers/adc/adc_ad4114.c | 2 +- drivers/adc/adc_ad4130.c | 3 +-- drivers/adc/adc_ad7124.c | 2 +- drivers/adc/adc_ads131m02.c | 2 +- drivers/adc/adc_ads1x4s0x.c | 2 +- drivers/adc/adc_ads7052.c | 2 +- drivers/adc/adc_lmp90xxx.c | 2 +- drivers/adc/adc_max11102_17.c | 2 +- drivers/adc/adc_max1125x.c | 3 +-- drivers/adc/adc_mcp320x.c | 2 +- drivers/adc/adc_mcp356xr.c | 3 +-- drivers/audio/pcm1681.c | 2 +- drivers/auxdisplay/auxdisplay_pt6314.c | 3 +-- drivers/bluetooth/hci/hci_ambiq.c | 3 +-- drivers/bluetooth/hci/hci_spi_st.c | 2 +- drivers/bluetooth/hci/spi.c | 3 +-- drivers/can/can_mcp2515.c | 2 +- drivers/can/can_mcp251xfd.c | 2 +- drivers/can/can_tcan4x5x.c | 2 +- drivers/dac/dac_ad56xx.c | 2 +- drivers/dac/dac_dac161s997.c | 2 +- drivers/dac/dac_dacx0508.c | 2 +- drivers/dac/dac_ltc166x.c | 2 +- drivers/display/display_max7219.c | 2 +- drivers/display/display_st7567.c | 2 +- drivers/display/ls0xx.c | 2 +- drivers/display/ssd1306.c | 2 +- drivers/eeprom/eeprom_at2x.c | 2 +- drivers/eeprom/eeprom_mb85rsxx.c | 2 +- drivers/entropy/entropy_maxq10xx.c | 2 +- drivers/ethernet/dsa/dsa_ksz8xxx.c | 3 +-- drivers/ethernet/eth_adin2111.c | 2 +- drivers/ethernet/eth_enc28j60.c | 2 +- drivers/ethernet/eth_enc424j600.c | 2 +- drivers/ethernet/eth_lan865x.c | 2 +- drivers/ethernet/eth_lan9250.c | 2 +- drivers/ethernet/eth_w5500.c | 2 +- drivers/flash/Kconfig.nor | 6 ------ drivers/flash/spi_flash_at25xv021a.c | 2 +- drivers/flash/spi_flash_at45.c | 2 +- drivers/flash/spi_nor.c | 2 +- drivers/fpga/fpga_ice40_common.h | 3 +-- drivers/gpio/gpio_max14906.c | 2 +- drivers/gpio/gpio_max14916.c | 2 +- drivers/gpio/gpio_max14917.c | 2 +- drivers/gpio/gpio_max2219x.c | 2 +- drivers/gpio/gpio_mcp23sxx.c | 2 +- drivers/gpio/gpio_sn74hc595.c | 2 +- drivers/hdlc_rcp_if/hdlc_rcp_if_spi.c | 3 +-- drivers/ieee802154/ieee802154_cc1200.c | 2 +- drivers/ieee802154/ieee802154_cc2520.c | 2 +- drivers/ieee802154/ieee802154_dw1000.c | 2 +- drivers/ieee802154/ieee802154_mcr20a.c | 2 +- drivers/ieee802154/ieee802154_rf2xx.c | 2 +- drivers/input/input_paw32xx.c | 2 +- drivers/input/input_pinnacle.c | 2 +- drivers/input/input_pmw3610.c | 2 +- drivers/input/input_xpt2046.c | 2 +- drivers/led_strip/apa102.c | 3 +-- drivers/led_strip/lpd880x.c | 2 +- drivers/led_strip/tlc5971.c | 2 +- drivers/led_strip/ws2812_spi.c | 2 +- drivers/lora/lora_basics_modem/lbm_sx126x.c | 2 +- drivers/lora/lora_basics_modem/lbm_sx127x.c | 2 +- drivers/lora/loramac_node/sx126x.c | 2 +- drivers/lora/loramac_node/sx127x.c | 2 +- drivers/mfd/mfd_ad559x.c | 2 +- drivers/mfd/mfd_bd8lb600fs.c | 2 +- drivers/mfd/mfd_max22017.c | 2 +- drivers/mfd/mfd_maxq10xx.c | 2 +- drivers/mfd/mfd_tle9104.c | 2 +- drivers/misc/ft8xx/ft8xx.c | 2 +- drivers/rtc/rtc_pcf2123.c | 2 +- drivers/sdhc/sdhc_spi.c | 3 +-- drivers/sensor/adi/ad2s1210/ad2s1210.c | 2 +- drivers/sensor/adi/adt7310/adt7310.c | 2 +- drivers/sensor/adi/adxl345/adxl345.c | 5 ++--- drivers/sensor/adi/adxl362/adxl362.c | 4 ++-- drivers/sensor/adi/adxl367/adxl367.c | 4 ++-- drivers/sensor/adi/adxl372/adxl372.c | 6 +++--- drivers/sensor/bosch/bma4xx/bma4xx.c | 2 +- drivers/sensor/bosch/bme280/bme280.c | 2 +- drivers/sensor/bosch/bme680/bme680.c | 2 +- drivers/sensor/bosch/bmi08x/bmi08x_accel.c | 2 +- drivers/sensor/bosch/bmi08x/bmi08x_gyro.c | 2 +- drivers/sensor/bosch/bmi160/bmi160.c | 2 +- drivers/sensor/bosch/bmi270/bmi270.c | 2 +- drivers/sensor/bosch/bmi323/bmi323_spi.h | 2 +- drivers/sensor/bosch/bmm150/bmm150.c | 2 +- drivers/sensor/bosch/bmp388/bmp388.c | 2 +- drivers/sensor/broadcom/afbr_s50/afbr_s50.c | 3 +-- drivers/sensor/ens160/ens160.c | 2 +- drivers/sensor/maxim/max31855/max31855.c | 2 +- drivers/sensor/maxim/max31865/max31865.c | 2 +- drivers/sensor/maxim/max6675/max6675.c | 3 +-- drivers/sensor/meas/ms5607/ms5607.c | 3 +-- drivers/sensor/nxp/fxas21002/fxas21002.c | 2 +- drivers/sensor/nxp/fxls8974/fxls8974.c | 2 +- drivers/sensor/nxp/fxos8700/fxos8700.c | 2 +- drivers/sensor/pixart/paa3905/paa3905.c | 3 +-- drivers/sensor/pixart/pat9136/pat9136.c | 3 +-- drivers/sensor/st/hts221/hts221.c | 3 +-- drivers/sensor/st/i3g4250d/i3g4250d.c | 3 +-- drivers/sensor/st/iis2dh/iis2dh.c | 2 +- drivers/sensor/st/iis2dlpc/iis2dlpc.c | 3 +-- drivers/sensor/st/iis2iclx/iis2iclx.c | 3 +-- drivers/sensor/st/iis2mdc/iis2mdc.c | 2 +- drivers/sensor/st/iis328dq/iis328dq.c | 3 +-- drivers/sensor/st/iis3dhhc/iis3dhhc.c | 2 +- drivers/sensor/st/ism330dhcx/ism330dhcx.c | 2 +- drivers/sensor/st/lis2de12/lis2de12.c | 2 +- drivers/sensor/st/lis2dh/lis2dh.c | 3 +-- drivers/sensor/st/lis2ds12/lis2ds12.c | 3 +-- drivers/sensor/st/lis2du12/lis2du12.c | 3 +-- drivers/sensor/st/lis2dux12/lis2dux12.c | 4 ++-- drivers/sensor/st/lis2dw12/lis2dw12.c | 3 +-- drivers/sensor/st/lis2mdl/lis2mdl.c | 3 +-- drivers/sensor/st/lps22hh/lps22hh.c | 3 +-- drivers/sensor/st/lps2xdf/lps2xdf.c | 2 +- drivers/sensor/st/lsm6dsl/lsm6dsl.c | 2 +- drivers/sensor/st/lsm6dso/lsm6dso.c | 3 +-- drivers/sensor/st/lsm6dso16is/lsm6dso16is.c | 3 +-- drivers/sensor/st/lsm6dsv16x/lsm6dsv16x.c | 5 ++--- drivers/sensor/tdk/icm42605/icm42605.c | 3 +-- drivers/sensor/tdk/icm4268x/icm4268x.c | 4 ++-- drivers/sensor/tdk/icm42x70/icm42x70.c | 2 +- drivers/sensor/tdk/icm45686/icm45686.c | 3 +-- drivers/sensor/tdk/icp201xx/icp201xx_drv.c | 3 +-- drivers/sensor/ti/tmag5170/tmag5170.c | 3 +-- .../wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.c | 2 +- .../wsen/wsen_pads_2511020213301/wsen_pads_2511020213301.c | 2 +- drivers/stepper/adi_tmc/tmc50xx.c | 2 +- drivers/stepper/adi_tmc/tmc51xx/tmc51xx.c | 3 +-- drivers/usb/uhc/uhc_max3421e.c | 2 +- drivers/watchdog/wdt_nxp_fs26.c | 2 +- drivers/wifi/esp_hosted/esp_hosted_wifi.c | 2 +- drivers/wifi/eswifi/eswifi_bus_spi.c | 2 +- drivers/wifi/infineon/airoc_wifi.c | 2 +- drivers/wifi/winc1500/wifi_winc1500_nm_bsp.c | 2 +- dts/bindings/adc/adi,ad4130-adc.yaml | 4 ++++ dts/bindings/adc/maxim,max1125x-base.yaml | 4 ++++ dts/bindings/adc/microchip,mcp356xr.yaml | 4 ++++ dts/bindings/adc/ti,ads7052.yaml | 4 ++++ dts/bindings/bluetooth/zephyr,bt-hci-spi.yaml | 7 ------- dts/bindings/hdlc_rcp_if/spi,hdlc-rcp-if.yaml | 5 ----- dts/bindings/sensor/bosch,bmi08x-accel-spi.yaml | 6 ++++++ dts/bindings/sensor/bosch,bmi08x-gyro-spi.yaml | 6 ++++++ dts/bindings/wifi/espressif,esp-hosted.yaml | 5 +++++ dts/bindings/wifi/inventek,eswifi.yaml | 5 +++++ modules/nrf_wifi/bus/spi_if.c | 4 ++-- .../boards/nordic/spis_wakeup/wakeup_trigger/src/main.c | 2 +- samples/boards/st/power_mgmt/suspend_to_ram/src/main.c | 2 +- tests/drivers/spi/dt_spec/src/main.c | 4 ++-- tests/drivers/spi/spi_controller_peripheral/src/main.c | 2 +- tests/drivers/spi/spi_error_cases/src/main.c | 2 +- tests/drivers/spi/spi_loopback/src/spi.c | 4 ++-- tests/drivers/spi/spi_loopback/src/spi_rtio.c | 4 ++-- 158 files changed, 198 insertions(+), 214 deletions(-) diff --git a/drivers/adc/adc_ad405x.c b/drivers/adc/adc_ad405x.c index d311aebeaaf62..14852df6cc3d3 100644 --- a/drivers/adc/adc_ad405x.c +++ b/drivers/adc/adc_ad405x.c @@ -1328,7 +1328,7 @@ static DEVICE_API(adc, ad405x_api_funcs) = { #define AD405X_SPI_CFG SPI_WORD_SET(8) | SPI_TRANSFER_MSB #define AD405X_RTIO_DEFINE(inst) \ - SPI_DT_IODEV_DEFINE(ad405x_iodev_##inst, DT_DRV_INST(inst), AD405X_SPI_CFG, 0U); \ + SPI_DT_IODEV_DEFINE(ad405x_iodev_##inst, DT_DRV_INST(inst), AD405X_SPI_CFG); \ RTIO_DEFINE(ad405x_rtio_ctx_##inst, 16, 16); #define DT_INST_AD405X(inst, t) DT_INST(inst, adi_ad##t##_adc) @@ -1357,7 +1357,7 @@ static DEVICE_API(adc, ad405x_api_funcs) = { ()))) \ }; \ static const struct adc_ad405x_config ad##t##_config_##n = { \ - .bus = {.spi = SPI_DT_SPEC_GET(DT_INST_AD405X(n, t), AD405X_SPI_CFG, 0)}, \ + .bus = {.spi = SPI_DT_SPEC_GET(DT_INST_AD405X(n, t), AD405X_SPI_CFG)}, \ .conversion = GPIO_DT_SPEC_GET_BY_IDX(DT_INST_AD405X(n, t), \ conversion_gpios, 0), \ IF_ENABLED(CONFIG_AD405X_TRIGGER, (AD405X_GPIO(t, n))) \ diff --git a/drivers/adc/adc_ad4114.c b/drivers/adc/adc_ad4114.c index 7623b22761b14..4114f825f93b4 100644 --- a/drivers/adc/adc_ad4114.c +++ b/drivers/adc/adc_ad4114.c @@ -440,7 +440,7 @@ static DEVICE_API(adc, adc_ad4114_api) = { #define ADC_AD4114_DEVICE(inst) \ static struct adc_ad4114_data adc_ad4114_data_##inst; \ static const struct adc_ad4114_config adc_ad4114_config_##inst = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8), 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8)), \ .resolution = AD4114_ADC_RESOLUTION, \ .map_input = DT_INST_PROP(inst, map_inputs), \ }; \ diff --git a/drivers/adc/adc_ad4130.c b/drivers/adc/adc_ad4130.c index eef671d61f2b6..190b804b5d981 100644 --- a/drivers/adc/adc_ad4130.c +++ b/drivers/adc/adc_ad4130.c @@ -1051,8 +1051,7 @@ static DEVICE_API(adc, adc_ad4130_driver_api) = { #define AD4130_ADC_INIT(inst) \ static const struct ad4130_config ad4130_config_##inst = { \ .bus = SPI_DT_SPEC_GET(DT_INST(inst, adi_ad4130_adc), \ - SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_MSB, \ - 1), \ + SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_MSB), \ .resolution = AD4130_ADC_RESOLUTION, \ .bipolar = DT_INST_PROP_OR(inst, bipolar, 1), \ .int_ref = DT_INST_PROP_OR(inst, internal_reference_value, 0), \ diff --git a/drivers/adc/adc_ad7124.c b/drivers/adc/adc_ad7124.c index ed9304603ea18..c8ed66541e092 100644 --- a/drivers/adc/adc_ad7124.c +++ b/drivers/adc/adc_ad7124.c @@ -1437,7 +1437,7 @@ static DEVICE_API(adc, adc_ad7124_api) = { static const struct adc_ad7124_config adc_ad7124_config##inst = { \ .bus = SPI_DT_SPEC_INST_GET( \ inst, \ - SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8), 0), \ + SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8)), \ .resolution = AD7124_RESOLUTION, \ .filter_type_mask = DT_INST_PROP(inst, filter_type_mask), \ .bipolar_mask = DT_INST_PROP(inst, bipolar_mask), \ diff --git a/drivers/adc/adc_ads131m02.c b/drivers/adc/adc_ads131m02.c index cde5aedda3658..ec480b196543f 100644 --- a/drivers/adc/adc_ads131m02.c +++ b/drivers/adc/adc_ads131m02.c @@ -721,7 +721,7 @@ static int ads131m02_init(const struct device *dev) static const struct ads131m02_config config_##n = { \ .spi = SPI_DT_SPEC_INST_GET( \ n, SPI_OP_MODE_MASTER | SPI_MODE_CPHA | \ - SPI_WORD_SET(8), 0), \ + SPI_WORD_SET(8)), \ .gpio_drdy = GPIO_DT_SPEC_INST_GET(n, drdy_gpios), \ }; \ static struct ads131m02_data data_##n; \ diff --git a/drivers/adc/adc_ads1x4s0x.c b/drivers/adc/adc_ads1x4s0x.c index c5d15d072e31f..2b813583a3b91 100644 --- a/drivers/adc/adc_ads1x4s0x.c +++ b/drivers/adc/adc_ads1x4s0x.c @@ -1576,7 +1576,7 @@ BUILD_ASSERT(CONFIG_ADC_INIT_PRIORITY > CONFIG_SPI_INIT_PRIORITY, ) \ static const struct ads1x4s0x_config config_##name##_##n = { \ .bus = SPI_DT_SPEC_INST_GET( \ - n, SPI_OP_MODE_MASTER | SPI_MODE_CPHA | SPI_WORD_SET(8), 0), \ + n, SPI_OP_MODE_MASTER | SPI_MODE_CPHA | SPI_WORD_SET(8)), \ IF_ENABLED(CONFIG_ADC_ASYNC, (.stack = thread_stack_##name##_##n,)) \ .gpio_reset = GPIO_DT_SPEC_INST_GET_OR(n, reset_gpios, {0}), \ .gpio_data_ready = GPIO_DT_SPEC_INST_GET(n, drdy_gpios), \ diff --git a/drivers/adc/adc_ads7052.c b/drivers/adc/adc_ads7052.c index c86e2de8ea4f1..88517b3737580 100644 --- a/drivers/adc/adc_ads7052.c +++ b/drivers/adc/adc_ads7052.c @@ -298,7 +298,7 @@ static DEVICE_API(adc, ads7052_api) = { #define ADC_ADS7052_INIT(n) \ \ static const struct ads7052_config ads7052_cfg_##n = { \ - .bus = SPI_DT_SPEC_INST_GET(n, ADC_ADS7052_SPI_CFG, 1U), \ + .bus = SPI_DT_SPEC_INST_GET(n, ADC_ADS7052_SPI_CFG), \ .channels = 1, \ }; \ \ diff --git a/drivers/adc/adc_lmp90xxx.c b/drivers/adc/adc_lmp90xxx.c index e2531618a0391..7397118ee7a8b 100644 --- a/drivers/adc/adc_lmp90xxx.c +++ b/drivers/adc/adc_lmp90xxx.c @@ -1065,7 +1065,7 @@ static DEVICE_API(adc, lmp90xxx_adc_api) = { }; \ static const struct lmp90xxx_config lmp##t##_config_##n = { \ .bus = SPI_DT_SPEC_GET(DT_INST_LMP90XXX(n, t), SPI_OP_MODE_MASTER | \ - SPI_TRANSFER_MSB | SPI_WORD_SET(8), 0), \ + SPI_TRANSFER_MSB | SPI_WORD_SET(8)), \ .drdyb = GPIO_DT_SPEC_GET_OR(DT_INST_LMP90XXX(n, t), drdyb_gpios, {0}), \ .rtd_current = LMP90XXX_UAMPS_TO_RTD_CUR_SEL( \ DT_PROP_OR(DT_INST_LMP90XXX(n, t), rtd_current, 0)), \ diff --git a/drivers/adc/adc_max11102_17.c b/drivers/adc/adc_max11102_17.c index 45c95971eaad8..35d194ae5c0ef 100644 --- a/drivers/adc/adc_max11102_17.c +++ b/drivers/adc/adc_max11102_17.c @@ -405,7 +405,7 @@ BUILD_ASSERT(CONFIG_ADC_INIT_PRIORITY > CONFIG_SPI_INIT_PRIORITY, static const struct max11102_17_config config_##name##_##index = { \ .bus = SPI_DT_SPEC_INST_GET( \ index, \ - SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8), 0), \ + SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8)), \ .gpio_chsel = GPIO_DT_SPEC_INST_GET_OR(index, chsel_gpios, {0}), \ .resolution = res, \ .channel_count = channels, \ diff --git a/drivers/adc/adc_max1125x.c b/drivers/adc/adc_max1125x.c index fe037140e9121..581c2ee672e21 100644 --- a/drivers/adc/adc_max1125x.c +++ b/drivers/adc/adc_max1125x.c @@ -787,8 +787,7 @@ static DEVICE_API(adc, max1125x_api) = { #define MAX1125X_INIT(t, n, odr_delay_us, res, mux, pgab) \ static const struct max1125x_config max##t##_cfg_##n = { \ .bus = SPI_DT_SPEC_GET(DT_INST_MAX1125X(n, t), \ - SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_MSB, \ - 1), \ + SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_MSB), \ .odr_delay = odr_delay_us, \ .resolution = res, \ .multiplexer = mux, \ diff --git a/drivers/adc/adc_mcp320x.c b/drivers/adc/adc_mcp320x.c index 1722b78bfce5f..fe81d5e21f24f 100644 --- a/drivers/adc/adc_mcp320x.c +++ b/drivers/adc/adc_mcp320x.c @@ -316,7 +316,7 @@ static DEVICE_API(adc, mcp320x_adc_api) = { static const struct mcp320x_config mcp##t##_config_##n = { \ .bus = SPI_DT_SPEC_GET(INST_DT_MCP320X(n, t), \ SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | \ - SPI_WORD_SET(8), 0), \ + SPI_WORD_SET(8)), \ .channels = ch, \ }; \ DEVICE_DT_DEFINE(INST_DT_MCP320X(n, t), \ diff --git a/drivers/adc/adc_mcp356xr.c b/drivers/adc/adc_mcp356xr.c index 7a6af771f4a8b..cfdc7ba085ad8 100644 --- a/drivers/adc/adc_mcp356xr.c +++ b/drivers/adc/adc_mcp356xr.c @@ -1209,7 +1209,6 @@ static DEVICE_API(adc, adc_mcp356xr_api) = { .ref_internal = 2400, }; -#define MCP356XR_SPI_CS_DELAY (1) #define MCP356XR_SPI_OPERATION \ (SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8) | SPI_LINES_SINGLE) @@ -1285,7 +1284,7 @@ static DEVICE_API(adc, adc_mcp356xr_api) = { #define ADC_MCP356XR_INIT(index) \ static const struct adc_mcp356xr_config adc_mcp356xr_config_##index = { \ - .spi = SPI_DT_SPEC_INST_GET(index, MCP356XR_SPI_OPERATION, MCP356XR_SPI_CS_DELAY), \ + .spi = SPI_DT_SPEC_INST_GET(index, MCP356XR_SPI_OPERATION), \ .address = DT_INST_PROP(index, address), \ .vref_settle_time = K_MSEC(DT_INST_PROP_OR(index, vref_settle_time_ms, 0)), \ .init_reg_value = \ diff --git a/drivers/audio/pcm1681.c b/drivers/audio/pcm1681.c index b9e3f717aa5b6..d456f89588206 100644 --- a/drivers/audio/pcm1681.c +++ b/drivers/audio/pcm1681.c @@ -378,7 +378,7 @@ static int pcm1681_init(const struct device *dev) #define PCM1681_CONFIG_SPI(inst) \ .bus_spec = \ { \ - .spi = SPI_DT_SPEC_INST_GET(inst, SPI_OP_MODE_SLAVE | SPI_WORD_SET(8), 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, SPI_OP_MODE_SLAVE | SPI_WORD_SET(8)), \ }, \ .bus_io = { \ .is_ready = pcm1681_spi_is_ready, \ diff --git a/drivers/auxdisplay/auxdisplay_pt6314.c b/drivers/auxdisplay/auxdisplay_pt6314.c index 293337b25138d..02bd83a4ecb2b 100644 --- a/drivers/auxdisplay/auxdisplay_pt6314.c +++ b/drivers/auxdisplay/auxdisplay_pt6314.c @@ -313,8 +313,7 @@ static DEVICE_API(auxdisplay, auxdisplay_pt6314_auxdisplay_api) = { }, \ .bus = SPI_DT_SPEC_INST_GET(n, \ SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA | \ - SPI_TRANSFER_MSB | SPI_WORD_SET(8), \ - 0), \ + SPI_TRANSFER_MSB | SPI_WORD_SET(8)) \ }; \ \ static struct auxdisplay_pt6314_data auxdisplay_pt6314_data_##n = { \ diff --git a/drivers/bluetooth/hci/hci_ambiq.c b/drivers/bluetooth/hci/hci_ambiq.c index b870a50da21ce..b89d7946d3dd4 100644 --- a/drivers/bluetooth/hci/hci_ambiq.c +++ b/drivers/bluetooth/hci/hci_ambiq.c @@ -57,8 +57,7 @@ static uint8_t __noinit rxmsg[SPI_MAX_RX_MSG_LEN]; static struct spi_dt_spec spi_bus = SPI_DT_SPEC_INST_GET(0, SPI_OP_MODE_MASTER | SPI_HALF_DUPLEX | SPI_TRANSFER_MSB | - SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8), - 0); + SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8)); static K_KERNEL_STACK_DEFINE(spi_rx_stack, CONFIG_BT_DRV_RX_STACK_SIZE); static struct k_thread spi_rx_thread_data; diff --git a/drivers/bluetooth/hci/hci_spi_st.c b/drivers/bluetooth/hci/hci_spi_st.c index 8f6bf72c0edb2..2c272a6d293f4 100644 --- a/drivers/bluetooth/hci/hci_spi_st.c +++ b/drivers/bluetooth/hci/hci_spi_st.c @@ -95,7 +95,7 @@ struct bt_spi_data { }; static const struct spi_dt_spec bus = SPI_DT_SPEC_INST_GET( - 0, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8) | SPI_LOCK_ON, 0); + 0, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8) | SPI_LOCK_ON); static struct spi_buf spi_tx_buf; static struct spi_buf spi_rx_buf; diff --git a/drivers/bluetooth/hci/spi.c b/drivers/bluetooth/hci/spi.c index 4a685ac351b7e..64de69ae8c3da 100644 --- a/drivers/bluetooth/hci/spi.c +++ b/drivers/bluetooth/hci/spi.c @@ -86,8 +86,7 @@ static K_KERNEL_STACK_DEFINE(spi_rx_stack, CONFIG_BT_DRV_RX_STACK_SIZE); static struct k_thread spi_rx_thread_data; static const struct spi_dt_spec bus = SPI_DT_SPEC_INST_GET( - 0, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8), - DT_INST_PROP(0, controller_cs_delay_us)); + 0, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8)) static struct spi_buf spi_tx_buf; static struct spi_buf spi_rx_buf; diff --git a/drivers/can/can_mcp2515.c b/drivers/can/can_mcp2515.c index b64fb1b7c76c9..f12a79ccc0b33 100644 --- a/drivers/can/can_mcp2515.c +++ b/drivers/can/can_mcp2515.c @@ -1005,7 +1005,7 @@ static int mcp2515_init(const struct device *dev) \ static const struct mcp2515_config mcp2515_config_##inst = { \ .common = CAN_DT_DRIVER_CONFIG_INST_GET(inst, 0, 1000000), \ - .bus = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8), 0), \ + .bus = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8)), \ .int_gpio = GPIO_DT_SPEC_INST_GET(inst, int_gpios), \ .int_thread_stack_size = CONFIG_CAN_MCP2515_INT_THREAD_STACK_SIZE, \ .int_thread_priority = CONFIG_CAN_MCP2515_INT_THREAD_PRIO, \ diff --git a/drivers/can/can_mcp251xfd.c b/drivers/can/can_mcp251xfd.c index 3335eceb2765a..893ff63e980ec 100644 --- a/drivers/can/can_mcp251xfd.c +++ b/drivers/can/can_mcp251xfd.c @@ -1751,7 +1751,7 @@ static DEVICE_API(can, mcp251xfd_api_funcs) = { }; \ static const struct mcp251xfd_config mcp251xfd_config_##inst = { \ .common = CAN_DT_DRIVER_CONFIG_INST_GET(inst, 0, 8000000), \ - .bus = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8), 0), \ + .bus = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8)), \ .int_gpio_dt = GPIO_DT_SPEC_INST_GET(inst, int_gpios), \ \ .sof_on_clko = DT_INST_PROP(inst, sof_on_clko), \ diff --git a/drivers/can/can_tcan4x5x.c b/drivers/can/can_tcan4x5x.c index 2abd0467a5ee3..34721daa8e4df 100644 --- a/drivers/can/can_tcan4x5x.c +++ b/drivers/can/can_tcan4x5x.c @@ -778,7 +778,7 @@ static const struct can_mcan_ops tcan4x5x_ops = { CAN_MCAN_DT_INST_CALLBACKS_DEFINE(inst, tcan4x5x_cbs_##inst); \ \ static const struct tcan4x5x_config tcan4x5x_config_##inst = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8), 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8)), \ .int_gpio = GPIO_DT_SPEC_INST_GET(inst, int_gpios), \ .clk_freq = DT_INST_PROP(inst, clock_frequency), \ TCAN4X5X_RST_GPIO_INIT(inst) \ diff --git a/drivers/dac/dac_ad56xx.c b/drivers/dac/dac_ad56xx.c index afc09332b3b7d..b4411d58aff2a 100644 --- a/drivers/dac/dac_ad56xx.c +++ b/drivers/dac/dac_ad56xx.c @@ -171,7 +171,7 @@ BUILD_ASSERT(CONFIG_DAC_AD56XX_INIT_PRIORITY > CONFIG_SPI_INIT_PRIORITY, static struct ad56xx_data data_##name##_##index; \ static const struct ad56xx_config config_##name##_##index = { \ .bus = SPI_DT_SPEC_INST_GET( \ - index, SPI_OP_MODE_MASTER | SPI_MODE_CPHA | SPI_WORD_SET(8), 0), \ + index, SPI_OP_MODE_MASTER | SPI_MODE_CPHA | SPI_WORD_SET(8)), \ .resolution = res, \ .gpio_reset = GPIO_DT_SPEC_INST_GET_OR(index, reset_gpios, {0}), \ .channel_addresses = channels, \ diff --git a/drivers/dac/dac_dac161s997.c b/drivers/dac/dac_dac161s997.c index 283387268c690..b2b2936ee3391 100644 --- a/drivers/dac/dac_dac161s997.c +++ b/drivers/dac/dac_dac161s997.c @@ -296,7 +296,7 @@ static DEVICE_API(dac, dac161s997_driver_api) = { #define DAC_DAC161S997_INIT(n) \ static const struct dac161s997_config dac161s997_config_##n = { \ - .bus = SPI_DT_SPEC_INST_GET(n, SPI_TRANSFER_MSB | SPI_WORD_SET(8), 0), \ + .bus = SPI_DT_SPEC_INST_GET(n, SPI_TRANSFER_MSB | SPI_WORD_SET(8)), \ .gpio_errb = GPIO_DT_SPEC_INST_GET_OR(n, errb_gpios, {0}), \ }; \ \ diff --git a/drivers/dac/dac_dacx0508.c b/drivers/dac/dac_dacx0508.c index 6b5c48aa367b1..3caf824c0059a 100644 --- a/drivers/dac/dac_dacx0508.c +++ b/drivers/dac/dac_dacx0508.c @@ -373,7 +373,7 @@ static DEVICE_API(dac, dacx0508_driver_api) = { static const struct dacx0508_config dac##t##_config_##n = { \ .bus = SPI_DT_SPEC_GET(INST_DT_DACX0508(n, t), \ SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | \ - SPI_WORD_SET(8) | SPI_MODE_CPHA, 0), \ + SPI_WORD_SET(8) | SPI_MODE_CPHA), \ .resolution = res, \ .reference = DT_PROP(INST_DT_DACX0508(n, t), \ voltage_reference), \ diff --git a/drivers/dac/dac_ltc166x.c b/drivers/dac/dac_ltc166x.c index 2fc364dd25da8..d068d8e7ba117 100644 --- a/drivers/dac/dac_ltc166x.c +++ b/drivers/dac/dac_ltc166x.c @@ -115,7 +115,7 @@ static DEVICE_API(dac, ltc166x_driver_api) = { static const struct ltc166x_config ltc##t##_config_##n = { \ .bus = SPI_DT_SPEC_GET(INST_DT_LTC166X(n, t), \ SPI_OP_MODE_MASTER | \ - SPI_WORD_SET(8), 0), \ + SPI_WORD_SET(8)), \ .resolution = res, \ .nchannels = nchan, \ }; \ diff --git a/drivers/display/display_max7219.c b/drivers/display/display_max7219.c index 9430cf3c5d080..a04b92394f899 100644 --- a/drivers/display/display_max7219.c +++ b/drivers/display/display_max7219.c @@ -332,7 +332,7 @@ static int max7219_init(const struct device *dev) }; \ static const struct max7219_config max7219_config_##n = { \ .spi = SPI_DT_SPEC_INST_GET( \ - n, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U), 0U), \ + n, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U)), \ .num_cascading = DT_INST_PROP(n, num_cascading), \ .intensity = DT_INST_PROP(n, intensity), \ .scan_limit = DT_INST_PROP(n, scan_limit), \ diff --git a/drivers/display/display_st7567.c b/drivers/display/display_st7567.c index 20d860af25d38..5f4b7070dbaf4 100644 --- a/drivers/display/display_st7567.c +++ b/drivers/display/display_st7567.c @@ -462,7 +462,7 @@ static DEVICE_API(display, st7567_driver_api) = { #define ST7567_CONFIG_SPI(node_id) \ .bus = {.spi = SPI_DT_SPEC_GET( \ - node_id, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8), 0)}, \ + node_id, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8))}, \ .bus_ready = st7567_bus_ready_spi, .write_bus = st7567_write_bus_spi, \ .bus_name = st7567_bus_name_spi, .data_cmd = GPIO_DT_SPEC_GET(node_id, data_cmd_gpios), diff --git a/drivers/display/ls0xx.c b/drivers/display/ls0xx.c index 3e2adf07b9a6e..f940d801d8018 100644 --- a/drivers/display/ls0xx.c +++ b/drivers/display/ls0xx.c @@ -269,7 +269,7 @@ static const struct ls0xx_config ls0xx_config = { .bus = SPI_DT_SPEC_INST_GET( 0, SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_LSB | SPI_CS_ACTIVE_HIGH | - SPI_HOLD_ON_CS | SPI_LOCK_ON, 0), + SPI_HOLD_ON_CS | SPI_LOCK_ON), #if DT_INST_NODE_HAS_PROP(0, disp_en_gpios) .disp_en_gpio = GPIO_DT_SPEC_INST_GET(0, disp_en_gpios), #endif diff --git a/drivers/display/ssd1306.c b/drivers/display/ssd1306.c index abcf820bbc1e6..f1ed5d73a33e4 100644 --- a/drivers/display/ssd1306.c +++ b/drivers/display/ssd1306.c @@ -532,7 +532,7 @@ static DEVICE_API(display, ssd1306_driver_api) = { #define SSD1306_CONFIG_SPI(node_id) \ .bus = {.spi = SPI_DT_SPEC_GET( \ - node_id, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8), 0)}, \ + node_id, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8))}, \ .bus_ready = ssd1306_bus_ready_spi, \ .write_bus = ssd1306_write_bus_spi, \ .bus_name = ssd1306_bus_name_spi, \ diff --git a/drivers/eeprom/eeprom_at2x.c b/drivers/eeprom/eeprom_at2x.c index 0061ee9c26c02..38319d511375a 100644 --- a/drivers/eeprom/eeprom_at2x.c +++ b/drivers/eeprom/eeprom_at2x.c @@ -621,7 +621,7 @@ static DEVICE_API(eeprom, eeprom_at2x_api) = { #define EEPROM_AT25_BUS(n, t) \ { .spi = SPI_DT_SPEC_GET(INST_DT_AT2X(n, t), \ SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | \ - SPI_WORD_SET(8), 0) } + SPI_WORD_SET(8)) } #define EEPROM_AT2X_WP_GPIOS(id) \ IF_ENABLED(DT_NODE_HAS_PROP(id, wp_gpios), \ diff --git a/drivers/eeprom/eeprom_mb85rsxx.c b/drivers/eeprom/eeprom_mb85rsxx.c index 10d7577af324d..baf8f38e02cfe 100644 --- a/drivers/eeprom/eeprom_mb85rsxx.c +++ b/drivers/eeprom/eeprom_mb85rsxx.c @@ -306,7 +306,7 @@ static DEVICE_API(eeprom, mb85rsxx_driver_api) = { \ static const struct eeprom_mb85rsxx_config eeprom_mb85rsxx_config_##inst = { \ .spi = SPI_DT_SPEC_INST_GET( \ - inst, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8), 0), \ + inst, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8)), \ .size = DT_INST_PROP(inst, size), \ .readonly = DT_INST_PROP(inst, read_only), \ }; \ diff --git a/drivers/entropy/entropy_maxq10xx.c b/drivers/entropy/entropy_maxq10xx.c index d20e798330a6e..7d3f76481cc43 100644 --- a/drivers/entropy/entropy_maxq10xx.c +++ b/drivers/entropy/entropy_maxq10xx.c @@ -214,7 +214,7 @@ static DEVICE_API(entropy, entropy_maxq10xx_api) = { #define DEFINE_MAXQ10XX_ENTROPY(_num) \ static const struct entropy_maxq10xx_config entropy_maxq10xx_config##_num = { \ - .spi = SPI_DT_SPEC_GET(DT_INST_PARENT(_num), SPI_WORD_SET(8), 0), \ + .spi = SPI_DT_SPEC_GET(DT_INST_PARENT(_num), SPI_WORD_SET(8)), \ .parent = DEVICE_DT_GET(DT_INST_PARENT(_num)), \ }; \ DEVICE_DT_INST_DEFINE(_num, NULL, NULL, NULL, \ diff --git a/drivers/ethernet/dsa/dsa_ksz8xxx.c b/drivers/ethernet/dsa/dsa_ksz8xxx.c index 2c9a9b6337dd0..34df8c77541ff 100644 --- a/drivers/ethernet/dsa/dsa_ksz8xxx.c +++ b/drivers/ethernet/dsa/dsa_ksz8xxx.c @@ -1190,8 +1190,7 @@ static struct dsa_api dsa_api_f = { #if defined(CONFIG_DSA_SPI) #define DSA_SPI_BUS_CONFIGURATION(n) \ .spi = SPI_DT_SPEC_INST_GET(n, \ - SPI_WORD_SET(8), \ - 0U) + SPI_WORD_SET(8)) #else #define DSA_SPI_BUS_CONFIGURATION(n) #endif diff --git a/drivers/ethernet/eth_adin2111.c b/drivers/ethernet/eth_adin2111.c index 62b4b21f8f43c..687ef6e5553a0 100644 --- a/drivers/ethernet/eth_adin2111.c +++ b/drivers/ethernet/eth_adin2111.c @@ -1555,7 +1555,7 @@ static const struct ethernet_api adin2111_port_api = { ), ()) \ static const struct adin2111_config name##_config_##inst = { \ .id = dev_id, \ - .spi = SPI_DT_SPEC_INST_GET(inst, ADIN2111_SPI_OPERATION, 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, ADIN2111_SPI_OPERATION), \ .interrupt = GPIO_DT_SPEC_INST_GET(inst, int_gpios), \ .reset = GPIO_DT_SPEC_INST_GET_OR(inst, reset_gpios, { 0 }), \ }; \ diff --git a/drivers/ethernet/eth_enc28j60.c b/drivers/ethernet/eth_enc28j60.c index e19e4201b67df..0c4cbbf464829 100644 --- a/drivers/ethernet/eth_enc28j60.c +++ b/drivers/ethernet/eth_enc28j60.c @@ -914,7 +914,7 @@ static int eth_enc28j60_init(const struct device *dev) }; \ \ static const struct eth_enc28j60_config eth_enc28j60_config_##inst = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8), 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8)), \ .interrupt = GPIO_DT_SPEC_INST_GET(inst, int_gpios), \ .full_duplex = DT_INST_PROP(0, full_duplex), \ .timeout = CONFIG_ETH_ENC28J60_TIMEOUT, \ diff --git a/drivers/ethernet/eth_enc424j600.c b/drivers/ethernet/eth_enc424j600.c index 9574d6f36f97f..c5584a3b36511 100644 --- a/drivers/ethernet/eth_enc424j600.c +++ b/drivers/ethernet/eth_enc424j600.c @@ -778,7 +778,7 @@ static struct enc424j600_runtime enc424j600_0_runtime = { }; static const struct enc424j600_config enc424j600_0_config = { - .spi = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8), 0), + .spi = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8)), .interrupt = GPIO_DT_SPEC_INST_GET(0, int_gpios), .timeout = CONFIG_ETH_ENC424J600_TIMEOUT, }; diff --git a/drivers/ethernet/eth_lan865x.c b/drivers/ethernet/eth_lan865x.c index 16250c8859fa8..603e44bf89a05 100644 --- a/drivers/ethernet/eth_lan865x.c +++ b/drivers/ethernet/eth_lan865x.c @@ -470,7 +470,7 @@ static const struct ethernet_api lan865x_api_func = { #define LAN865X_DEFINE(inst) \ static const struct lan865x_config lan865x_config_##inst = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8), 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8)), \ .interrupt = GPIO_DT_SPEC_INST_GET(inst, int_gpios), \ .reset = GPIO_DT_SPEC_INST_GET(inst, rst_gpios), \ .timeout = CONFIG_ETH_LAN865X_TIMEOUT, \ diff --git a/drivers/ethernet/eth_lan9250.c b/drivers/ethernet/eth_lan9250.c index 58616f258f04b..f1a4dfd77f486 100644 --- a/drivers/ethernet/eth_lan9250.c +++ b/drivers/ethernet/eth_lan9250.c @@ -708,7 +708,7 @@ static int lan9250_init(const struct device *dev) }; \ \ static const struct lan9250_config lan9250_##inst##_config = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8), 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8)), \ .interrupt = GPIO_DT_SPEC_INST_GET(inst, int_gpios), \ .timeout = CONFIG_ETH_LAN9250_BUF_ALLOC_TIMEOUT, \ }; \ diff --git a/drivers/ethernet/eth_w5500.c b/drivers/ethernet/eth_w5500.c index 61ed576e9c97a..512a6b74de77b 100644 --- a/drivers/ethernet/eth_w5500.c +++ b/drivers/ethernet/eth_w5500.c @@ -611,7 +611,7 @@ static struct w5500_runtime w5500_0_runtime = { }; static const struct w5500_config w5500_0_config = { - .spi = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8), 0), + .spi = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8)), .interrupt = GPIO_DT_SPEC_INST_GET(0, int_gpios), .reset = GPIO_DT_SPEC_INST_GET_OR(0, reset_gpios, { 0 }), .timeout = CONFIG_ETH_W5500_TIMEOUT, diff --git a/drivers/flash/Kconfig.nor b/drivers/flash/Kconfig.nor index ecf7a4e176a54..0abcff3d67da8 100644 --- a/drivers/flash/Kconfig.nor +++ b/drivers/flash/Kconfig.nor @@ -52,12 +52,6 @@ config SPI_NOR_INIT_PRIORITY Device is connected to SPI bus, it has to be initialized after SPI driver. -config SPI_NOR_CS_WAIT_DELAY - int "Delay time in us" - default 0 - help - This is the wait delay (in us) to allow for CS switching to take effect - config SPI_NOR_SLEEP_WHILE_WAITING_UNTIL_READY bool "Sleep while waiting for flash operations to complete" default y diff --git a/drivers/flash/spi_flash_at25xv021a.c b/drivers/flash/spi_flash_at25xv021a.c index 07b6da95e90b0..fc96af414d466 100644 --- a/drivers/flash/spi_flash_at25xv021a.c +++ b/drivers/flash/spi_flash_at25xv021a.c @@ -968,7 +968,7 @@ static DEVICE_API(flash, spi_flash_at25xv021a_api) = { ASSERT_TIMEOUTS(DT_INST_PROP(inst, timeout), DT_INST_PROP(inst, timeout_erase)); \ \ static const struct flash_at25xv021a_config flash_at25xv021a_config_##inst = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, SPI_OP, 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, SPI_OP), \ .jedec_id = DT_INST_PROP(inst, jedec_id), \ .size = DT_INST_PROP(inst, size), \ .timeout = K_MSEC(DT_INST_PROP(inst, timeout)), \ diff --git a/drivers/flash/spi_flash_at45.c b/drivers/flash/spi_flash_at45.c index c6806d700f073..5ca6a71845df8 100644 --- a/drivers/flash/spi_flash_at45.c +++ b/drivers/flash/spi_flash_at45.c @@ -696,7 +696,7 @@ static DEVICE_API(flash, spi_flash_at45_api) = { static const struct spi_flash_at45_config inst_##idx##_config = { \ .bus = SPI_DT_SPEC_INST_GET( \ idx, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | \ - SPI_WORD_SET(8), 0), \ + SPI_WORD_SET(8)), \ IF_ENABLED(INST_HAS_RESET_GPIO(idx), \ (.reset = &reset_##idx,)) \ IF_ENABLED(INST_HAS_WP_GPIO(idx), \ diff --git a/drivers/flash/spi_nor.c b/drivers/flash/spi_nor.c index 09c133be1a31d..c5ade5e07dd3d 100644 --- a/drivers/flash/spi_nor.c +++ b/drivers/flash/spi_nor.c @@ -1885,7 +1885,7 @@ static DEVICE_API(flash, spi_nor_api) = { #define GENERATE_CONFIG_STRUCT(idx) \ static const struct spi_nor_config spi_nor_##idx##_config = { \ - .spi = SPI_DT_SPEC_INST_GET(idx, SPI_WORD_SET(8), CONFIG_SPI_NOR_CS_WAIT_DELAY),\ + .spi = SPI_DT_SPEC_INST_GET(idx, SPI_WORD_SET(8)), \ .dpd_exist = DT_INST_PROP(idx, has_dpd), \ .dpd_wakeup_sequence_exist = DT_INST_NODE_HAS_PROP(idx, dpd_wakeup_sequence), \ .mxicy_mx25r_power_mode_exist = \ diff --git a/drivers/fpga/fpga_ice40_common.h b/drivers/fpga/fpga_ice40_common.h index 55faf0eef5654..3f437e3653687 100644 --- a/drivers/fpga/fpga_ice40_common.h +++ b/drivers/fpga/fpga_ice40_common.h @@ -42,8 +42,7 @@ static const struct fpga_ice40_config fpga_ice40_config_##inst = { \ .bus = SPI_DT_SPEC_INST_GET(inst, \ SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA | \ - SPI_WORD_SET(8) | SPI_TRANSFER_MSB, \ - 0), \ + SPI_WORD_SET(8) | SPI_TRANSFER_MSB), \ .creset = GPIO_DT_SPEC_INST_GET(inst, creset_gpios), \ .cdone = GPIO_DT_SPEC_INST_GET(inst, cdone_gpios), \ .config_delay_us = DT_INST_PROP(inst, config_delay_us), \ diff --git a/drivers/gpio/gpio_max14906.c b/drivers/gpio/gpio_max14906.c index be1a36991ba3d..0753e2a459e57 100644 --- a/drivers/gpio/gpio_max14906.c +++ b/drivers/gpio/gpio_max14906.c @@ -441,7 +441,7 @@ static DEVICE_API(gpio, gpio_max14906_api) = { #define GPIO_MAX14906_DEVICE(id) \ static const struct max14906_config max14906_##id##_cfg = { \ - .spi = SPI_DT_SPEC_INST_GET(id, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U), 0U), \ + .spi = SPI_DT_SPEC_INST_GET(id, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U)), \ .ready_gpio = GPIO_DT_SPEC_INST_GET(id, drdy_gpios), \ .fault_gpio = GPIO_DT_SPEC_INST_GET(id, fault_gpios), \ .sync_gpio = GPIO_DT_SPEC_INST_GET(id, sync_gpios), \ diff --git a/drivers/gpio/gpio_max14916.c b/drivers/gpio/gpio_max14916.c index b6b3942df4e84..3e32d454a53b4 100644 --- a/drivers/gpio/gpio_max14916.c +++ b/drivers/gpio/gpio_max14916.c @@ -367,7 +367,7 @@ static DEVICE_API(gpio, gpio_max14916_api) = { #define GPIO_MAX14906_DEVICE(id, model) \ static const struct max14916_config max##model##_##id##_cfg = { \ - .spi = SPI_DT_SPEC_INST_GET(id, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U), 0U), \ + .spi = SPI_DT_SPEC_INST_GET(id, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U)), \ .ready_gpio = GPIO_DT_SPEC_INST_GET(id, drdy_gpios), \ .fault_gpio = GPIO_DT_SPEC_INST_GET(id, fault_gpios), \ .sync_gpio = GPIO_DT_SPEC_INST_GET(id, sync_gpios), \ diff --git a/drivers/gpio/gpio_max14917.c b/drivers/gpio/gpio_max14917.c index 74c87f4568803..7537129385999 100644 --- a/drivers/gpio/gpio_max14917.c +++ b/drivers/gpio/gpio_max14917.c @@ -337,7 +337,7 @@ static DEVICE_API(gpio, gpio_max14917_api) = { #define GPIO_MAX14917_DEVICE(id) \ static const struct max14917_config max14917_##id##_cfg = { \ - .spi = SPI_DT_SPEC_INST_GET(id, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U), 0U), \ + .spi = SPI_DT_SPEC_INST_GET(id, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U)), \ .vddok_gpio = GPIO_DT_SPEC_INST_GET(id, vddok_gpios), \ .ready_gpio = GPIO_DT_SPEC_INST_GET(id, ready_gpios), \ .comerr_gpio = GPIO_DT_SPEC_INST_GET(id, comerr_gpios), \ diff --git a/drivers/gpio/gpio_max2219x.c b/drivers/gpio/gpio_max2219x.c index e68f187df8b78..e7c2590294454 100644 --- a/drivers/gpio/gpio_max2219x.c +++ b/drivers/gpio/gpio_max2219x.c @@ -657,7 +657,7 @@ static DEVICE_API(gpio, gpio_max22190_api) = { #define GPIO_MAX22190_DEVICE(id, model) \ static const struct max22190_config max##model##_##id##_cfg = { \ - .spi = SPI_DT_SPEC_INST_GET(id, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U), 0U), \ + .spi = SPI_DT_SPEC_INST_GET(id, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U)), \ .ready_gpio = GPIO_DT_SPEC_INST_GET(id, drdy_gpios), \ .fault_gpio = GPIO_DT_SPEC_INST_GET(id, fault_gpios), \ .latch_gpio = GPIO_DT_SPEC_INST_GET(id, latch_gpios), \ diff --git a/drivers/gpio/gpio_mcp23sxx.c b/drivers/gpio/gpio_mcp23sxx.c index 8d2749e50501a..822811cd2adbd 100644 --- a/drivers/gpio/gpio_mcp23sxx.c +++ b/drivers/gpio/gpio_mcp23sxx.c @@ -128,7 +128,7 @@ static int mcp23sxx_bus_is_ready(const struct device *dev) .bus = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ SPI_OP_MODE_MASTER | SPI_MODE_CPOL | \ - SPI_MODE_CPHA | SPI_WORD_SET(8), 0) \ + SPI_MODE_CPHA | SPI_WORD_SET(8)) \ }, \ .gpio_int = GPIO_DT_SPEC_INST_GET_OR(inst, int_gpios, {0}), \ .gpio_reset = GPIO_DT_SPEC_INST_GET_OR(inst, reset_gpios, {0}), \ diff --git a/drivers/gpio/gpio_sn74hc595.c b/drivers/gpio/gpio_sn74hc595.c index 80e3670305560..5c41a4f0505ef 100644 --- a/drivers/gpio/gpio_sn74hc595.c +++ b/drivers/gpio/gpio_sn74hc595.c @@ -225,7 +225,7 @@ static int gpio_sn74hc595_init(const struct device *dev) { \ .port_pin_mask = GPIO_PORT_PIN_MASK_FROM_DT_INST(n), \ }, \ - .bus = SPI_DT_SPEC_INST_GET(n, SN74HC595_SPI_OPERATION, 0), \ + .bus = SPI_DT_SPEC_INST_GET(n, SN74HC595_SPI_OPERATION), \ .reset_gpio = GPIO_DT_SPEC_INST_GET_OR(n, reset_gpio, {0}), \ .enable_gpio = GPIO_DT_SPEC_INST_GET_OR(n, enable_gpios, {0}), \ .num_registers = DT_INST_PROP(n, ngpios) / BITS_PER_BYTE, \ diff --git a/drivers/hdlc_rcp_if/hdlc_rcp_if_spi.c b/drivers/hdlc_rcp_if/hdlc_rcp_if_spi.c index 6459a255f193e..9ae959ab179b2 100644 --- a/drivers/hdlc_rcp_if/hdlc_rcp_if_spi.c +++ b/drivers/hdlc_rcp_if/hdlc_rcp_if_spi.c @@ -458,8 +458,7 @@ static const struct hdlc_api spi_hdlc_api = { #define MTU 1280 static const struct hdlc_rcp_if_spi_config ot_hdlc_rcp_cfg = { - .bus = SPI_DT_SPEC_INST_GET(0, SPI_OP_MODE_MASTER | SPI_WORD_SET(8), - DT_INST_PROP(0, cs_delay)), + .bus = SPI_DT_SPEC_INST_GET(0, SPI_OP_MODE_MASTER | SPI_WORD_SET(8)), .int_gpio = GPIO_DT_SPEC_INST_GET(0, int_gpios), .rst_gpio = GPIO_DT_SPEC_INST_GET_OR(0, reset_gpios, {}), .reset_time = DT_INST_PROP(0, reset_assert_time), diff --git a/drivers/ieee802154/ieee802154_cc1200.c b/drivers/ieee802154/ieee802154_cc1200.c index 50dad26faee89..b273c1f0acea0 100644 --- a/drivers/ieee802154/ieee802154_cc1200.c +++ b/drivers/ieee802154/ieee802154_cc1200.c @@ -805,7 +805,7 @@ static void cc1200_iface_init(struct net_if *iface) } static const struct cc1200_config cc1200_config = { - .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8), 0), + .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8)), .interrupt = GPIO_DT_SPEC_INST_GET(0, int_gpios) }; diff --git a/drivers/ieee802154/ieee802154_cc2520.c b/drivers/ieee802154/ieee802154_cc2520.c index 0ed4467dd3bb1..e81de86c099b5 100644 --- a/drivers/ieee802154/ieee802154_cc2520.c +++ b/drivers/ieee802154/ieee802154_cc2520.c @@ -1044,7 +1044,7 @@ static void cc2520_iface_init(struct net_if *iface) } static const struct cc2520_config cc2520_config = { - .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8), 0), + .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8)), .vreg_en = GPIO_DT_SPEC_INST_GET(0, vreg_en_gpios), .reset = GPIO_DT_SPEC_INST_GET(0, reset_gpios), .fifo = GPIO_DT_SPEC_INST_GET(0, fifo_gpios), diff --git a/drivers/ieee802154/ieee802154_dw1000.c b/drivers/ieee802154/ieee802154_dw1000.c index f8acaa928d470..1f5d01c498ac1 100644 --- a/drivers/ieee802154/ieee802154_dw1000.c +++ b/drivers/ieee802154/ieee802154_dw1000.c @@ -117,7 +117,7 @@ struct dwt_context { }; static const struct dwt_hi_cfg dw1000_0_config = { - .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8), 0), + .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8)), .irq_gpio = GPIO_DT_SPEC_INST_GET(0, int_gpios), .rst_gpio = GPIO_DT_SPEC_INST_GET(0, reset_gpios), }; diff --git a/drivers/ieee802154/ieee802154_mcr20a.c b/drivers/ieee802154/ieee802154_mcr20a.c index a57de53754ea7..2c82ca7566c5d 100644 --- a/drivers/ieee802154/ieee802154_mcr20a.c +++ b/drivers/ieee802154/ieee802154_mcr20a.c @@ -1442,7 +1442,7 @@ static void mcr20a_iface_init(struct net_if *iface) } static const struct mcr20a_config mcr20a_config = { - .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8), 0), + .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8)), .irq_gpio = GPIO_DT_SPEC_INST_GET(0, irqb_gpios), .reset_gpio = GPIO_DT_SPEC_INST_GET(0, reset_gpios), }; diff --git a/drivers/ieee802154/ieee802154_rf2xx.c b/drivers/ieee802154/ieee802154_rf2xx.c index 12c8106c08b18..79c2412547121 100644 --- a/drivers/ieee802154/ieee802154_rf2xx.c +++ b/drivers/ieee802154/ieee802154_rf2xx.c @@ -1129,7 +1129,7 @@ static const struct ieee802154_radio_api rf2xx_radio_api = { .dig2_gpio = GPIO_DT_SPEC_INST_GET_OR(n, dig2_gpios, {}), \ .clkm_gpio = GPIO_DT_SPEC_INST_GET_OR(n, clkm_gpios, {}), \ .spi = SPI_DT_SPEC_INST_GET(n, SPI_WORD_SET(8) | \ - SPI_TRANSFER_MSB, 0), \ + SPI_TRANSFER_MSB), \ \ .tx_pwr_min = DT_INST_PROP_OR(n, tx_pwr_min, 0), \ .tx_pwr_max = DT_INST_PROP_OR(n, tx_pwr_max, 0), \ diff --git a/drivers/input/input_paw32xx.c b/drivers/input/input_paw32xx.c index be9db7c33949f..7c1339452ca93 100644 --- a/drivers/input/input_paw32xx.c +++ b/drivers/input/input_paw32xx.c @@ -447,7 +447,7 @@ static int paw32xx_pm_action(const struct device *dev, RES_MIN, RES_MAX), "invalid res-cpi"); \ \ static const struct paw32xx_config paw32xx_cfg_##n = { \ - .spi = SPI_DT_SPEC_INST_GET(n, PAW32XX_SPI_MODE, 0), \ + .spi = SPI_DT_SPEC_INST_GET(n, PAW32XX_SPI_MODE), \ .motion_gpio = GPIO_DT_SPEC_INST_GET(n, motion_gpios), \ .axis_x = DT_INST_PROP(n, zephyr_axis_x), \ .axis_y = DT_INST_PROP(n, zephyr_axis_y), \ diff --git a/drivers/input/input_pinnacle.c b/drivers/input/input_pinnacle.c index c28fceeaeb3a2..2b27dcd3307d8 100644 --- a/drivers/input/input_pinnacle.c +++ b/drivers/input/input_pinnacle.c @@ -861,7 +861,7 @@ static int pinnacle_init(const struct device *dev) #define PINNACLE_SPI_OP (SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_MODE_CPHA | SPI_WORD_SET(8)) #define PINNACLE_CONFIG_BUS_SPI(inst) \ .bus = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, PINNACLE_SPI_OP, 0U), \ + .spi = SPI_DT_SPEC_INST_GET(inst, PINNACLE_SPI_OP), \ .is_ready = pinnacle_is_ready_spi, \ .write = pinnacle_write_spi, \ .seq_write = pinnacle_seq_write_spi, \ diff --git a/drivers/input/input_pmw3610.c b/drivers/input/input_pmw3610.c index f88e6b2b0e3ec..10189c43b2f51 100644 --- a/drivers/input/input_pmw3610.c +++ b/drivers/input/input_pmw3610.c @@ -569,7 +569,7 @@ static int pmw3610_pm_action(const struct device *dev, RES_MIN, RES_MAX), "invalid res-cpi"); \ \ static const struct pmw3610_config pmw3610_cfg_##n = { \ - .spi = SPI_DT_SPEC_INST_GET(n, PMW3610_SPI_MODE, 0), \ + .spi = SPI_DT_SPEC_INST_GET(n, PMW3610_SPI_MODE), \ .motion_gpio = GPIO_DT_SPEC_INST_GET(n, motion_gpios), \ .reset_gpio = GPIO_DT_SPEC_INST_GET_OR(n, reset_gpios, {}), \ .axis_x = DT_INST_PROP(n, zephyr_axis_x), \ diff --git a/drivers/input/input_xpt2046.c b/drivers/input/input_xpt2046.c index 6e56fcb5874ee..722eff573628b 100644 --- a/drivers/input/input_xpt2046.c +++ b/drivers/input/input_xpt2046.c @@ -237,7 +237,7 @@ static int xpt2046_init(const struct device *dev) #define XPT2046_INIT(index) \ static const struct xpt2046_config xpt2046_config_##index = { \ .bus = SPI_DT_SPEC_INST_GET( \ - index, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8), 0), \ + index, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8)), \ .int_gpio = GPIO_DT_SPEC_INST_GET(index, int_gpios), \ .min_x = DT_INST_PROP(index, min_x), \ .min_y = DT_INST_PROP(index, min_y), \ diff --git a/drivers/led_strip/apa102.c b/drivers/led_strip/apa102.c index f0df75241d6db..af1f42abcefa1 100644 --- a/drivers/led_strip/apa102.c +++ b/drivers/led_strip/apa102.c @@ -115,8 +115,7 @@ static DEVICE_API(led_strip, apa102_api) = { static const struct apa102_config apa102_##idx##_config = { \ .bus = SPI_DT_SPEC_INST_GET( \ idx, \ - SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8), \ - 0), \ + SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8)),\ .length = DT_INST_PROP(idx, chain_length), \ .end_frame = apa102_end_frame_##idx, \ .end_frame_size = (DT_INST_PROP(idx, chain_length) / \ diff --git a/drivers/led_strip/lpd880x.c b/drivers/led_strip/lpd880x.c index df152f9208c61..28d8421932f0e 100644 --- a/drivers/led_strip/lpd880x.c +++ b/drivers/led_strip/lpd880x.c @@ -146,7 +146,7 @@ static int lpd880x_strip_init(const struct device *dev) } static const struct lpd880x_config lpd880x_config = { - .bus = SPI_DT_SPEC_INST_GET(0, LPD880X_SPI_OPERATION, 0), + .bus = SPI_DT_SPEC_INST_GET(0, LPD880X_SPI_OPERATION), .length = DT_INST_PROP(0, chain_length), }; diff --git a/drivers/led_strip/tlc5971.c b/drivers/led_strip/tlc5971.c index b235f7d3f4eee..4c09b5800c373 100644 --- a/drivers/led_strip/tlc5971.c +++ b/drivers/led_strip/tlc5971.c @@ -333,7 +333,7 @@ static DEVICE_API(led_strip, tlc5971_api) = { #define TLC5971_DEVICE(inst) \ static const uint8_t tlc5971_##inst##_color_mapping[] = DT_INST_PROP(inst, color_mapping); \ static const struct tlc5971_config tlc5971_##inst##_config = { \ - .bus = SPI_DT_SPEC_INST_GET(inst, TLC5971_SPI_OPERATION, 0), \ + .bus = SPI_DT_SPEC_INST_GET(inst, TLC5971_SPI_OPERATION), \ .num_pixels = DT_INST_PROP(inst, chain_length), \ .num_colors = DT_INST_PROP_LEN(inst, color_mapping), \ .color_mapping = tlc5971_##inst##_color_mapping, \ diff --git a/drivers/led_strip/ws2812_spi.c b/drivers/led_strip/ws2812_spi.c index 7227e630aaaf2..7f6fa5f3a36de 100644 --- a/drivers/led_strip/ws2812_spi.c +++ b/drivers/led_strip/ws2812_spi.c @@ -265,7 +265,7 @@ static DEVICE_API(led_strip, ws2812_spi_api) = { WS2812_COLOR_MAPPING(idx); \ \ static const struct ws2812_spi_cfg ws2812_spi_##idx##_cfg = { \ - .bus = SPI_DT_SPEC_INST_GET(idx, SPI_OPER(idx), 0), \ + .bus = SPI_DT_SPEC_INST_GET(idx, SPI_OPER(idx)), \ .px_buf = ws2812_spi_##idx##_px_buf, \ .one_frame = WS2812_SPI_ONE_FRAME(idx), \ .zero_frame = WS2812_SPI_ZERO_FRAME(idx), \ diff --git a/drivers/lora/lora_basics_modem/lbm_sx126x.c b/drivers/lora/lora_basics_modem/lbm_sx126x.c index 10d9b425750e3..af8f97e08baab 100644 --- a/drivers/lora/lora_basics_modem/lbm_sx126x.c +++ b/drivers/lora/lora_basics_modem/lbm_sx126x.c @@ -495,7 +495,7 @@ static int sx126x_init(const struct device *dev) static const struct lbm_sx126x_config config_##node_id = { \ .lbm_common.ralf = RALF_SX126X_INSTANTIATE(DEVICE_DT_GET(node_id)), \ .spi = SPI_DT_SPEC_GET( \ - node_id, SPI_WORD_SET(8) | SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB, 0), \ + node_id, SPI_WORD_SET(8) | SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB), \ .reset = GPIO_DT_SPEC_GET(node_id, reset_gpios), \ .busy = GPIO_DT_SPEC_GET(node_id, busy_gpios), \ .dio1 = GPIO_DT_SPEC_GET(node_id, dio1_gpios), \ diff --git a/drivers/lora/lora_basics_modem/lbm_sx127x.c b/drivers/lora/lora_basics_modem/lbm_sx127x.c index 434761502a560..1a12bd2421bf1 100644 --- a/drivers/lora/lora_basics_modem/lbm_sx127x.c +++ b/drivers/lora/lora_basics_modem/lbm_sx127x.c @@ -442,7 +442,7 @@ static int sx127x_driver_init(const struct device *dev) static const struct lbm_sx127x_config config_##node_id = { \ .lbm_common.ralf = RALF_SX127X_INSTANTIATE(&data_##node_id.radio), \ .spi = SPI_DT_SPEC_GET( \ - node_id, SPI_WORD_SET(8) | SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB, 0), \ + node_id, SPI_WORD_SET(8) | SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB), \ .reset = GPIO_DT_SPEC_GET(node_id, reset_gpios), \ .ant_enable = GPIO_DT_SPEC_GET_OR(node_id, antenna_enable_gpios, {0}), \ .rfi_enable = GPIO_DT_SPEC_GET_OR(node_id, rfi_enable_gpios, {0}), \ diff --git a/drivers/lora/loramac_node/sx126x.c b/drivers/lora/loramac_node/sx126x.c index 835f8ec56e1c9..6221943f5200b 100644 --- a/drivers/lora/loramac_node/sx126x.c +++ b/drivers/lora/loramac_node/sx126x.c @@ -40,7 +40,7 @@ BUILD_ASSERT(DT_NUM_INST_STATUS_OKAY(semtech_sx1261) + #define SX126X_CALIBRATION_ALL 0x7f static const struct sx126x_config dev_config = { - .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8) | SPI_TRANSFER_MSB, 0), + .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8) | SPI_TRANSFER_MSB), #if HAVE_GPIO_ANTENNA_ENABLE .antenna_enable = GPIO_DT_SPEC_INST_GET(0, antenna_enable_gpios), #endif diff --git a/drivers/lora/loramac_node/sx127x.c b/drivers/lora/loramac_node/sx127x.c index 1dc6404495fd0..d478b4081c71e 100644 --- a/drivers/lora/loramac_node/sx127x.c +++ b/drivers/lora/loramac_node/sx127x.c @@ -175,7 +175,7 @@ struct sx127x_config { }; static const struct sx127x_config dev_config = { - .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8) | SPI_TRANSFER_MSB, 0), + .bus = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8) | SPI_TRANSFER_MSB), .reset = GPIO_DT_SPEC_INST_GET(0, reset_gpios), #if DT_INST_NODE_HAS_PROP(0, antenna_enable_gpios) .antenna_enable = GPIO_DT_SPEC_INST_GET(0, antenna_enable_gpios), diff --git a/drivers/mfd/mfd_ad559x.c b/drivers/mfd/mfd_ad559x.c index 1d298e8edae02..3643640bce40c 100644 --- a/drivers/mfd/mfd_ad559x.c +++ b/drivers/mfd/mfd_ad559x.c @@ -89,7 +89,7 @@ static int mfd_ad559x_init(const struct device *dev) (SPI_WORD_SET(8) | SPI_TRANSFER_MSB | SPI_OP_MODE_MASTER | SPI_MODE_CPOL) #define MDF_AD559X_DEFINE_SPI_BUS(inst) \ - .spi = SPI_DT_SPEC_INST_GET(inst, MDF_AD559X_DEFINE_SPI_BUS_FLAGS, 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, MDF_AD559X_DEFINE_SPI_BUS_FLAGS), \ .bus_init = mfd_ad559x_spi_init, .has_pointer_byte_map = false #define MFD_AD559X_DEFINE_BUS(inst) \ diff --git a/drivers/mfd/mfd_bd8lb600fs.c b/drivers/mfd/mfd_bd8lb600fs.c index 02e977e702df4..582d1d4367539 100644 --- a/drivers/mfd/mfd_bd8lb600fs.c +++ b/drivers/mfd/mfd_bd8lb600fs.c @@ -225,7 +225,7 @@ static int bd8lb600fs_init(const struct device *dev) #define BD8LB600FS_INIT(inst) \ static const struct bd8lb600fs_config bd8lb600fs_##inst##_config = { \ .bus = SPI_DT_SPEC_INST_GET( \ - inst, SPI_OP_MODE_MASTER | SPI_MODE_CPHA | SPI_WORD_SET(8), 0), \ + inst, SPI_OP_MODE_MASTER | SPI_MODE_CPHA | SPI_WORD_SET(8)), \ .gpio_reset = GPIO_DT_SPEC_GET_BY_IDX(DT_DRV_INST(inst), reset_gpios, 0), \ .instance_count = DT_INST_PROP(inst, instance_count), \ }; \ diff --git a/drivers/mfd/mfd_max22017.c b/drivers/mfd/mfd_max22017.c index a4b7d6fa1557c..2aca54edd86b2 100644 --- a/drivers/mfd/mfd_max22017.c +++ b/drivers/mfd/mfd_max22017.c @@ -375,7 +375,7 @@ static int max22017_init(const struct device *dev) #define INST_DT_MAX22017(index) \ static const struct max22017_config max22017_config_##index = { \ - .spi = SPI_DT_SPEC_INST_GET(index, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U), 0U), \ + .spi = SPI_DT_SPEC_INST_GET(index, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U)), \ .gpio_int = GPIO_DT_SPEC_INST_GET_OR(index, int_gpios, {0}), \ .gpio_reset = GPIO_DT_SPEC_INST_GET_OR(index, rst_gpios, {0}), \ .crc_mode = DT_INST_PROP_OR(index, crc_mode, 0), \ diff --git a/drivers/mfd/mfd_maxq10xx.c b/drivers/mfd/mfd_maxq10xx.c index d5c5642783f3e..228f213753486 100644 --- a/drivers/mfd/mfd_maxq10xx.c +++ b/drivers/mfd/mfd_maxq10xx.c @@ -45,7 +45,7 @@ BUILD_ASSERT(CONFIG_SPI_INIT_PRIORITY < CONFIG_MFD_MAXQ10XX_INIT_PRIORITY, #define DEFINE_MAXQ10XX_MFD(_num) \ static const struct mfd_maxq10xx_config mfd_maxq10xx_config##_num = { \ - .spi = SPI_DT_SPEC_INST_GET(_num, SPI_WORD_SET(8), 0), \ + .spi = SPI_DT_SPEC_INST_GET(_num, SPI_WORD_SET(8)), \ }; \ static struct mfd_maxq10xx_data mfd_maxq10xx_data##_num = { \ .sem_lock = Z_SEM_INITIALIZER(mfd_maxq10xx_data##_num.sem_lock, 1, 1), \ diff --git a/drivers/mfd/mfd_tle9104.c b/drivers/mfd/mfd_tle9104.c index 710c6d1d8a5d7..af9ac963a8e1d 100644 --- a/drivers/mfd/mfd_tle9104.c +++ b/drivers/mfd/mfd_tle9104.c @@ -598,7 +598,7 @@ static int tle9104_init(const struct device *dev) #define TLE9104_INIT(inst) \ static const struct tle9104_config tle9104_##inst##_config = { \ .bus = SPI_DT_SPEC_INST_GET( \ - inst, SPI_OP_MODE_MASTER | SPI_MODE_CPHA | SPI_WORD_SET(8), 0), \ + inst, SPI_OP_MODE_MASTER | SPI_MODE_CPHA | SPI_WORD_SET(8)), \ .gpio_enable = TLE9104_INIT_GPIO_FIELDS(inst, en_gpios), \ .gpio_reset = TLE9104_INIT_GPIO_FIELDS(inst, resn_gpios), \ .gpio_control = { \ diff --git a/drivers/misc/ft8xx/ft8xx.c b/drivers/misc/ft8xx/ft8xx.c index a77eb0016edc1..bda655d45f961 100644 --- a/drivers/misc/ft8xx/ft8xx.c +++ b/drivers/misc/ft8xx/ft8xx.c @@ -228,7 +228,7 @@ static struct ft8xx_data ft8xx_##idx##_data = { .irq_callback = NULL, \ .irq_callback_ud = NULL, \ \ - .spi = SPI_DT_SPEC_INST_GET(idx, SPI_WORD_SET(8) | SPI_OP_MODE_MASTER, 0), \ + .spi = SPI_DT_SPEC_INST_GET(idx, SPI_WORD_SET(8) | SPI_OP_MODE_MASTER), \ .irq_gpio = GPIO_DT_SPEC_INST_GET(idx, irq_gpios), \ }; \ DEVICE_DT_INST_DEFINE(idx, ft8xx_init, NULL, &ft8xx_##idx##_data, &ft8xx_##idx##_config, \ diff --git a/drivers/rtc/rtc_pcf2123.c b/drivers/rtc/rtc_pcf2123.c index 7d69d6744852f..08c584117f51b 100644 --- a/drivers/rtc/rtc_pcf2123.c +++ b/drivers/rtc/rtc_pcf2123.c @@ -655,7 +655,7 @@ int pcf2123_init(const struct device *dev) #define PCF2123_INIT(inst) \ static const struct pcf2123_config pcf2123_config_##inst = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8) | SPI_TRANSFER_MSB, 0U), \ + .spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8) | SPI_TRANSFER_MSB), \ IF_ENABLED(PCF2123_INT1_GPIOS_IN_USE,\ (.int1 = GPIO_DT_SPEC_INST_GET_OR(inst, int1_gpios, {0})) \ )}; \ diff --git a/drivers/sdhc/sdhc_spi.c b/drivers/sdhc/sdhc_spi.c index 950f511ade094..e34a306e8ab91 100644 --- a/drivers/sdhc/sdhc_spi.c +++ b/drivers/sdhc/sdhc_spi.c @@ -845,8 +845,7 @@ static DEVICE_API(sdhc, sdhc_spi_api) = { (SPI_LOCK_ON | SPI_HOLD_ON_CS | SPI_WORD_SET(8) \ | (DT_INST_PROP(n, spi_clock_mode_cpol) ? SPI_MODE_CPOL : 0) \ | (DT_INST_PROP(n, spi_clock_mode_cpha) ? SPI_MODE_CPHA : 0) \ - ),\ - 0), \ + )), \ }; \ \ DEVICE_DT_INST_DEFINE(n, \ diff --git a/drivers/sensor/adi/ad2s1210/ad2s1210.c b/drivers/sensor/adi/ad2s1210/ad2s1210.c index 73951ece0ae69..874b734e9c2d8 100644 --- a/drivers/sensor/adi/ad2s1210/ad2s1210.c +++ b/drivers/sensor/adi/ad2s1210/ad2s1210.c @@ -868,7 +868,7 @@ static int ad2s1210_init(const struct device *dev) /* cppcheck-suppress unusedFu static struct ad2s1210_data ad2s1210_data_##i; \ \ static const struct ad2s1210_config ad2s1210_config_##i = { \ - .spi = SPI_DT_SPEC_INST_GET(i, SPI_WORD_SET(8), 0), \ + .spi = SPI_DT_SPEC_INST_GET(i, SPI_WORD_SET(8)), \ .sample_gpio = GPIO_DT_SPEC_INST_GET(i, sample_gpios), \ .mode_gpios = \ { \ diff --git a/drivers/sensor/adi/adt7310/adt7310.c b/drivers/sensor/adi/adt7310/adt7310.c index ef4cb12cc0c68..b7dacb60ac506 100644 --- a/drivers/sensor/adi/adt7310/adt7310.c +++ b/drivers/sensor/adi/adt7310/adt7310.c @@ -291,7 +291,7 @@ static DEVICE_API(sensor, adt7310_driver_api) = { static const struct adt7310_dev_config adt7310_config_##inst = { \ .bus = SPI_DT_SPEC_INST_GET( \ inst, \ - (SPI_WORD_SET(8) | SPI_TRANSFER_MSB | SPI_MODE_CPOL | SPI_MODE_CPHA), 0), \ + (SPI_WORD_SET(8) | SPI_TRANSFER_MSB | SPI_MODE_CPOL | SPI_MODE_CPHA)), \ \ IF_ENABLED(CONFIG_ADT7310_TRIGGER, \ (.int_gpio = GPIO_DT_SPEC_INST_GET_OR(inst, int_gpios, {0}),))}; \ diff --git a/drivers/sensor/adi/adxl345/adxl345.c b/drivers/sensor/adi/adxl345/adxl345.c index 471341f1b9e79..5a8d5648e5171 100644 --- a/drivers/sensor/adi/adxl345/adxl345.c +++ b/drivers/sensor/adi/adxl345/adxl345.c @@ -515,7 +515,7 @@ static int adxl345_init(const struct device *dev) COND_CODE_1(CONFIG_SPI_RTIO, \ (SPI_DT_IODEV_DEFINE(adxl345_iodev_##inst, DT_DRV_INST(inst), \ SPI_WORD_SET(8) | SPI_TRANSFER_MSB | \ - SPI_MODE_CPOL | SPI_MODE_CPHA, 0U);), \ + SPI_MODE_CPOL | SPI_MODE_CPHA);), \ ()) #define ADXL345_RTIO_I2C_DEFINE(inst) \ @@ -554,8 +554,7 @@ static int adxl345_init(const struct device *dev) SPI_WORD_SET(8) | \ SPI_TRANSFER_MSB | \ SPI_MODE_CPOL | \ - SPI_MODE_CPHA, \ - 0)}, \ + SPI_MODE_CPHA)}, \ .bus_is_ready = adxl345_bus_is_ready_spi, \ .reg_access = adxl345_reg_access_spi, \ .bus_type = ADXL345_BUS_SPI, \ diff --git a/drivers/sensor/adi/adxl362/adxl362.c b/drivers/sensor/adi/adxl362/adxl362.c index 8ddddfeaef582..6e74cde7f873a 100644 --- a/drivers/sensor/adi/adxl362/adxl362.c +++ b/drivers/sensor/adi/adxl362/adxl362.c @@ -818,7 +818,7 @@ static int adxl362_init(const struct device *dev) #define ADXL362_RTIO_DEFINE(inst) \ SPI_DT_IODEV_DEFINE(adxl362_iodev_##inst, DT_DRV_INST(inst), \ - ADXL362_SPI_CFG, 0U); \ + ADXL362_SPI_CFG); \ RTIO_DEFINE(adxl362_rtio_ctx_##inst, 8, 8); #define ADXL362_DEFINE(inst)\ @@ -828,7 +828,7 @@ static int adxl362_init(const struct device *dev) .iodev = &adxl362_iodev_##inst,)) \ }; \ static const struct adxl362_config adxl362_config_##inst = { \ - .bus = SPI_DT_SPEC_INST_GET(inst, ADXL362_SPI_CFG, 0), \ + .bus = SPI_DT_SPEC_INST_GET(inst, ADXL362_SPI_CFG), \ .power_ctl = ADXL362_POWER_CTL_MEASURE(ADXL362_MEASURE_ON) | \ (DT_INST_PROP(inst, wakeup_mode) * ADXL362_POWER_CTL_WAKEUP) | \ (DT_INST_PROP(inst, autosleep) * ADXL362_POWER_CTL_AUTOSLEEP), \ diff --git a/drivers/sensor/adi/adxl367/adxl367.c b/drivers/sensor/adi/adxl367/adxl367.c index 476514cea776e..5196773c3f479 100644 --- a/drivers/sensor/adi/adxl367/adxl367.c +++ b/drivers/sensor/adi/adxl367/adxl367.c @@ -1145,13 +1145,13 @@ static int adxl367_init(const struct device *dev) #define ADXL367_RTIO_DEFINE(inst, chipid) \ SPI_DT_IODEV_DEFINE(adxl367_iodev_##inst##chipid, DT_DRV_INST(inst), \ - ADXL367_SPI_CFG, 0U); \ + ADXL367_SPI_CFG); \ RTIO_DEFINE(adxl367_rtio_ctx_##inst##chipid, 8, 8); #define ADXL367_CONFIG_SPI(inst, chipid) \ { \ .bus_init = adxl367_spi_init, \ - .spi = SPI_DT_SPEC_INST_GET(inst, ADXL367_SPI_CFG, 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, ADXL367_SPI_CFG), \ ADXL367_CONFIG(inst, chipid) \ COND_CODE_1(DT_INST_NODE_HAS_PROP(inst, int1_gpios), \ (ADXL367_CFG_IRQ(inst)), ()) \ diff --git a/drivers/sensor/adi/adxl372/adxl372.c b/drivers/sensor/adi/adxl372/adxl372.c index a0ac2ce73c3df..6bb25b2ebfb94 100644 --- a/drivers/sensor/adi/adxl372/adxl372.c +++ b/drivers/sensor/adi/adxl372/adxl372.c @@ -870,8 +870,8 @@ static int adxl372_init(const struct device *dev) */ #define ADXL372_SPI_CFG SPI_WORD_SET(8) | SPI_TRANSFER_MSB -#define ADXL372_RTIO_DEFINE(inst) \ - SPI_DT_IODEV_DEFINE(adxl372_iodev_##inst, DT_DRV_INST(inst), ADXL372_SPI_CFG, 0U); \ +#define ADXL372_RTIO_DEFINE(inst) \ + SPI_DT_IODEV_DEFINE(adxl372_iodev_##inst, DT_DRV_INST(inst), ADXL372_SPI_CFG); \ RTIO_DEFINE(adxl372_rtio_ctx_##inst, 16, 16); #ifdef CONFIG_ADXL372_TRIGGER @@ -910,7 +910,7 @@ static int adxl372_init(const struct device *dev) #define ADXL372_CONFIG_SPI(inst) \ { \ .bus_init = adxl372_spi_init, \ - .spi = SPI_DT_SPEC_INST_GET(inst, ADXL372_SPI_CFG, 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, ADXL372_SPI_CFG), \ ADXL372_CONFIG(inst) \ COND_CODE_1(DT_INST_NODE_HAS_PROP(inst, int1_gpios), \ (ADXL372_CFG_IRQ(inst)), ()) \ diff --git a/drivers/sensor/bosch/bma4xx/bma4xx.c b/drivers/sensor/bosch/bma4xx/bma4xx.c index a9afda946bbf4..543224716f661 100644 --- a/drivers/sensor/bosch/bma4xx/bma4xx.c +++ b/drivers/sensor/bosch/bma4xx/bma4xx.c @@ -338,7 +338,7 @@ static DEVICE_API(sensor, bma4xx_driver_api) = { * SPI operation is not currently supported. */ #define BMA4XX_CONFIG_SPI(inst) \ - .bus_cfg.spi = SPI_DT_SPEC_INST_GET(inst, 0, 0), .bus_init = &bma4xx_spi_init, \ + .bus_cfg.spi = SPI_DT_SPEC_INST_GET(inst, 0), .bus_init = &bma4xx_spi_init, \ .bus_type = BMA4XX_BUS_SPI, /* Initializes a struct bma4xx_config for an instance on an I2C bus. */ diff --git a/drivers/sensor/bosch/bme280/bme280.c b/drivers/sensor/bosch/bme280/bme280.c index 05566104ce655..13e61a4024405 100644 --- a/drivers/sensor/bosch/bme280/bme280.c +++ b/drivers/sensor/bosch/bme280/bme280.c @@ -439,7 +439,7 @@ static int bme280_pm_action(const struct device *dev, #define BME280_CONFIG_SPI(inst) \ { \ .bus.spi = SPI_DT_SPEC_INST_GET( \ - inst, BME280_SPI_OPERATION, 0), \ + inst, BME280_SPI_OPERATION), \ .bus_io = &bme280_bus_io_spi, \ } diff --git a/drivers/sensor/bosch/bme680/bme680.c b/drivers/sensor/bosch/bme680/bme680.c index 363a8cd8fe42f..7c96e46a73c43 100644 --- a/drivers/sensor/bosch/bme680/bme680.c +++ b/drivers/sensor/bosch/bme680/bme680.c @@ -489,7 +489,7 @@ static DEVICE_API(sensor, bme680_api_funcs) = { #define BME680_CONFIG_SPI(inst) \ { \ .bus.spi = SPI_DT_SPEC_INST_GET( \ - inst, BME680_SPI_OPERATION, 0), \ + inst, BME680_SPI_OPERATION), \ .bus_io = &bme680_bus_io_spi, \ } diff --git a/drivers/sensor/bosch/bmi08x/bmi08x_accel.c b/drivers/sensor/bosch/bmi08x/bmi08x_accel.c index 7de8c6ed68204..6053638b0d4c8 100644 --- a/drivers/sensor/bosch/bmi08x/bmi08x_accel.c +++ b/drivers/sensor/bosch/bmi08x/bmi08x_accel.c @@ -724,7 +724,7 @@ int bmi08x_accel_init(const struct device *dev) #define BMI08X_CONFIG_SPI(inst) \ .bus.spi = SPI_DT_SPEC_INST_GET( \ - inst, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8), 2), + inst, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8)), #define BMI08X_CONFIG_I2C(inst) .bus.i2c = I2C_DT_SPEC_INST_GET(inst), diff --git a/drivers/sensor/bosch/bmi08x/bmi08x_gyro.c b/drivers/sensor/bosch/bmi08x/bmi08x_gyro.c index 9ad076db865fa..9fec8f71222e9 100644 --- a/drivers/sensor/bosch/bmi08x/bmi08x_gyro.c +++ b/drivers/sensor/bosch/bmi08x/bmi08x_gyro.c @@ -421,7 +421,7 @@ int bmi08x_gyro_init(const struct device *dev) #define BMI08X_CONFIG_SPI(inst) \ .bus.spi = SPI_DT_SPEC_INST_GET( \ - inst, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8), 2), + inst, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(8)), #define BMI08X_CONFIG_I2C(inst) .bus.i2c = I2C_DT_SPEC_INST_GET(inst), diff --git a/drivers/sensor/bosch/bmi160/bmi160.c b/drivers/sensor/bosch/bmi160/bmi160.c index 2652aa443eeba..245710bc016aa 100644 --- a/drivers/sensor/bosch/bmi160/bmi160.c +++ b/drivers/sensor/bosch/bmi160/bmi160.c @@ -1194,7 +1194,7 @@ int bmi160_pm(const struct device *dev, enum pm_device_action action) #define BMI160_DEFINE_SPI(inst) \ static struct bmi160_data bmi160_data_##inst; \ static const struct bmi160_cfg bmi160_cfg_##inst = { \ - .bus.spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8), 0), \ + .bus.spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8)), \ .bus_io = &bmi160_bus_io_spi, \ BMI160_TRIGGER_CFG(inst) \ }; \ diff --git a/drivers/sensor/bosch/bmi270/bmi270.c b/drivers/sensor/bosch/bmi270/bmi270.c index fc8652a7d1d9c..b9ef83c47c3ba 100644 --- a/drivers/sensor/bosch/bmi270/bmi270.c +++ b/drivers/sensor/bosch/bmi270/bmi270.c @@ -808,7 +808,7 @@ static const struct bmi270_feature_config bmi270_feature_base = { /* Initializes a struct bmi270_config for an instance on a SPI bus. */ #define BMI270_CONFIG_SPI(inst) \ .bus.spi = SPI_DT_SPEC_INST_GET( \ - inst, BMI270_SPI_OPERATION, 0), \ + inst, BMI270_SPI_OPERATION), \ .bus_io = &bmi270_bus_io_spi, /* Initializes a struct bmi270_config for an instance on an I2C bus. */ diff --git a/drivers/sensor/bosch/bmi323/bmi323_spi.h b/drivers/sensor/bosch/bmi323/bmi323_spi.h index 2908c1ca0ea17..d090144480304 100644 --- a/drivers/sensor/bosch/bmi323/bmi323_spi.h +++ b/drivers/sensor/bosch/bmi323/bmi323_spi.h @@ -15,7 +15,7 @@ extern const struct bosch_bmi323_bus_api bosch_bmi323_spi_bus_api; \ \ static const struct spi_dt_spec spi_spec##inst = \ - SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8), 0); \ + SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8)); \ \ static const struct bosch_bmi323_bus bosch_bmi323_bus_api##inst = { \ .context = &spi_spec##inst, .api = &bosch_bmi323_spi_bus_api} diff --git a/drivers/sensor/bosch/bmm150/bmm150.c b/drivers/sensor/bosch/bmm150/bmm150.c index fdca4a2335362..9db0f55531571 100644 --- a/drivers/sensor/bosch/bmm150/bmm150.c +++ b/drivers/sensor/bosch/bmm150/bmm150.c @@ -697,7 +697,7 @@ static int bmm150_init(const struct device *dev) /* Initializes a struct bmm150_config for an instance on a SPI bus. */ #define BMM150_CONFIG_SPI(inst) \ - .bus.spi = SPI_DT_SPEC_INST_GET(inst, BMM150_SPI_OPERATION, 0), \ + .bus.spi = SPI_DT_SPEC_INST_GET(inst, BMM150_SPI_OPERATION), \ .bus_io = &bmm150_bus_io_spi, /* Initializes a struct bmm150_config for an instance on an I2C bus. */ diff --git a/drivers/sensor/bosch/bmp388/bmp388.c b/drivers/sensor/bosch/bmp388/bmp388.c index a91ddd6bf4ddb..2b0c499f13f33 100644 --- a/drivers/sensor/bosch/bmp388/bmp388.c +++ b/drivers/sensor/bosch/bmp388/bmp388.c @@ -537,7 +537,7 @@ static int bmp388_init(const struct device *dev) /* Initializes a struct bmp388_config for an instance on a SPI bus. */ #define BMP388_CONFIG_SPI(inst) \ - .bus.spi = SPI_DT_SPEC_INST_GET(inst, BMP388_SPI_OPERATION, 0), \ + .bus.spi = SPI_DT_SPEC_INST_GET(inst, BMP388_SPI_OPERATION), \ .bus_io = &bmp388_bus_io_spi, /* Initializes a struct bmp388_config for an instance on an I2C bus. */ diff --git a/drivers/sensor/broadcom/afbr_s50/afbr_s50.c b/drivers/sensor/broadcom/afbr_s50/afbr_s50.c index 8ddcc2242c0b0..eb91c7e90144f 100644 --- a/drivers/sensor/broadcom/afbr_s50/afbr_s50.c +++ b/drivers/sensor/broadcom/afbr_s50/afbr_s50.c @@ -395,8 +395,7 @@ BUILD_ASSERT(CONFIG_MAIN_STACK_SIZE >= 4096, SPI_DT_IODEV_DEFINE(afbr_s50_bus_##inst, \ DT_DRV_INST(inst), \ SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_MSB | \ - SPI_MODE_CPOL | SPI_MODE_CPHA, \ - 0U); \ + SPI_MODE_CPOL | SPI_MODE_CPHA); \ \ static const struct afbr_s50_config afbr_s50_cfg_##inst = { \ .gpio = { \ diff --git a/drivers/sensor/ens160/ens160.c b/drivers/sensor/ens160/ens160.c index 5d41d6123aed7..d208892754afe 100644 --- a/drivers/sensor/ens160/ens160.c +++ b/drivers/sensor/ens160/ens160.c @@ -306,7 +306,7 @@ static int ens160_pm_action(const struct device *dev, enum pm_device_action acti #define ENS160_CONFIG_SPI(inst) \ .bus_init = &ens160_spi_init, \ - .spi = SPI_DT_SPEC_INST_GET(inst, ENS160_SPI_OPERATION, 0), + .spi = SPI_DT_SPEC_INST_GET(inst, ENS160_SPI_OPERATION), #define ENS160_CONFIG_I2C(inst) \ .bus_init = &ens160_i2c_init, \ diff --git a/drivers/sensor/maxim/max31855/max31855.c b/drivers/sensor/maxim/max31855/max31855.c index 2da53d035cb4a..990f4491600fb 100644 --- a/drivers/sensor/maxim/max31855/max31855.c +++ b/drivers/sensor/maxim/max31855/max31855.c @@ -124,7 +124,7 @@ static int max31855_init(const struct device *dev) #define MAX31855_INIT(n) \ static struct max31855_data max31855_data_##n; \ static const struct max31855_config max31855_config_##n = { \ - .spi = SPI_DT_SPEC_INST_GET(n, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U), 0U), \ + .spi = SPI_DT_SPEC_INST_GET(n, SPI_OP_MODE_MASTER | SPI_WORD_SET(8U)), \ }; \ SENSOR_DEVICE_DT_INST_DEFINE(n, &max31855_init, NULL, &max31855_data_##n, \ &max31855_config_##n, POST_KERNEL, \ diff --git a/drivers/sensor/maxim/max31865/max31865.c b/drivers/sensor/maxim/max31865/max31865.c index e42992acf746d..a9924779d65f7 100644 --- a/drivers/sensor/maxim/max31865/max31865.c +++ b/drivers/sensor/maxim/max31865/max31865.c @@ -313,7 +313,7 @@ static DEVICE_API(sensor, max31865_api_funcs) = { static struct max31865_data max31865_data_##inst; \ \ static const struct max31865_config max31865_config_##inst = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, SPI_MODE_CPHA | SPI_WORD_SET(8), 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, SPI_MODE_CPHA | SPI_WORD_SET(8)), \ .resistance_at_zero = DT_INST_PROP(inst, resistance_at_zero), \ .resistance_reference = DT_INST_PROP(inst, resistance_reference), \ .conversion_mode = false, \ diff --git a/drivers/sensor/maxim/max6675/max6675.c b/drivers/sensor/maxim/max6675/max6675.c index 8d37317789064..2c84c308b0cfb 100644 --- a/drivers/sensor/maxim/max6675/max6675.c +++ b/drivers/sensor/maxim/max6675/max6675.c @@ -104,8 +104,7 @@ static int max6675_init(const struct device *dev) static const struct max6675_config max6675_config_##n = { \ .spi = SPI_DT_SPEC_INST_GET(n, \ SPI_OP_MODE_MASTER | \ - SPI_WORD_SET(8U), \ - 0U), \ + SPI_WORD_SET(8U)), \ }; \ SENSOR_DEVICE_DT_INST_DEFINE(n, &max6675_init, NULL, \ &max6675_data_##n, &max6675_config_##n, \ diff --git a/drivers/sensor/meas/ms5607/ms5607.c b/drivers/sensor/meas/ms5607/ms5607.c index cd5ae0b82f8b8..f7154975c4112 100644 --- a/drivers/sensor/meas/ms5607/ms5607.c +++ b/drivers/sensor/meas/ms5607/ms5607.c @@ -324,8 +324,7 @@ static DEVICE_API(sensor, ms5607_api_funcs) = { { \ .tf = &ms5607_spi_transfer_function, \ .bus_cfg.spi = SPI_DT_SPEC_INST_GET(inst, \ - MS5607_SPI_OPERATION, \ - 0), \ + MS5607_SPI_OPERATION) \ } /* Initializes a struct ms5607_config for an instance on a I2C bus. */ diff --git a/drivers/sensor/nxp/fxas21002/fxas21002.c b/drivers/sensor/nxp/fxas21002/fxas21002.c index 32a53bf50132d..d32e39dfdf918 100644 --- a/drivers/sensor/nxp/fxas21002/fxas21002.c +++ b/drivers/sensor/nxp/fxas21002/fxas21002.c @@ -452,7 +452,7 @@ static DEVICE_API(sensor, fxas21002_driver_api) = { #define FXAS21002_CONFIG_SPI(inst) \ .bus_cfg = {.spi = SPI_DT_SPEC_INST_GET(inst, \ - SPI_OP_MODE_MASTER | SPI_WORD_SET(8), 0) }, \ + SPI_OP_MODE_MASTER | SPI_WORD_SET(8)) }, \ .ops = &fxas21002_spi_ops, \ .reset_gpio = GPIO_DT_SPEC_INST_GET(inst, reset_gpios), \ .inst_on_bus = FXAS21002_BUS_SPI, \ diff --git a/drivers/sensor/nxp/fxls8974/fxls8974.c b/drivers/sensor/nxp/fxls8974/fxls8974.c index 2c8ec8042767e..8eb318ecbf61f 100644 --- a/drivers/sensor/nxp/fxls8974/fxls8974.c +++ b/drivers/sensor/nxp/fxls8974/fxls8974.c @@ -594,7 +594,7 @@ static DEVICE_API(sensor, fxls8974_driver_api) = { #define FXLS8974_CONFIG_SPI(n) \ .bus_cfg = { .spi = SPI_DT_SPEC_INST_GET(n, \ - SPI_OP_MODE_MASTER | SPI_WORD_SET(8), 0) }, \ + SPI_OP_MODE_MASTER | SPI_WORD_SET(8)) }, \ .ops = &fxls8974_spi_ops, \ .range = DT_INST_PROP(n, range), \ .inst_on_bus = FXLS8974_BUS_SPI, \ diff --git a/drivers/sensor/nxp/fxos8700/fxos8700.c b/drivers/sensor/nxp/fxos8700/fxos8700.c index 285d8a38c578c..cad571c5c6932 100644 --- a/drivers/sensor/nxp/fxos8700/fxos8700.c +++ b/drivers/sensor/nxp/fxos8700/fxos8700.c @@ -744,7 +744,7 @@ static DEVICE_API(sensor, fxos8700_driver_api) = { #define FXOS8700_CONFIG_SPI(n) \ .bus_cfg = { .spi = SPI_DT_SPEC_INST_GET(n, \ - SPI_OP_MODE_MASTER | SPI_WORD_SET(8), 0) }, \ + SPI_OP_MODE_MASTER | SPI_WORD_SET(8)) }, \ .ops = &fxos8700_spi_ops, \ .power_mode = DT_INST_PROP(n, power_mode), \ .range = DT_INST_PROP(n, range), \ diff --git a/drivers/sensor/pixart/paa3905/paa3905.c b/drivers/sensor/pixart/paa3905/paa3905.c index bb867fbe7655b..88a2f667a7c85 100644 --- a/drivers/sensor/pixart/paa3905/paa3905.c +++ b/drivers/sensor/pixart/paa3905/paa3905.c @@ -310,8 +310,7 @@ static int paa3905_init(const struct device *dev) RTIO_DEFINE(paa3905_rtio_ctx_##inst, 8, 8); \ SPI_DT_IODEV_DEFINE(paa3905_bus_##inst, \ DT_DRV_INST(inst), \ - SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_MSB, \ - 0U); \ + SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_MSB); \ \ static const struct paa3905_config paa3905_cfg_##inst = { \ .int_gpio = GPIO_DT_SPEC_INST_GET_OR(inst, int_gpios, {0}), \ diff --git a/drivers/sensor/pixart/pat9136/pat9136.c b/drivers/sensor/pixart/pat9136/pat9136.c index 73f361ab268e6..7c6601483517e 100644 --- a/drivers/sensor/pixart/pat9136/pat9136.c +++ b/drivers/sensor/pixart/pat9136/pat9136.c @@ -444,8 +444,7 @@ static int pat9136_init(const struct device *dev) RTIO_DEFINE(pat9136_rtio_ctx_##inst, 16, 16); \ SPI_DT_IODEV_DEFINE(pat9136_bus_##inst, \ DT_DRV_INST(inst), \ - SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_MSB, \ - 0U); \ + SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_MSB); \ \ static const struct pat9136_config pat9136_cfg_##inst = { \ .int_gpio = GPIO_DT_SPEC_INST_GET_OR(inst, int_gpios, {0}), \ diff --git a/drivers/sensor/st/hts221/hts221.c b/drivers/sensor/st/hts221/hts221.c index 6dbb771207a26..e895e218a402f 100644 --- a/drivers/sensor/st/hts221/hts221.c +++ b/drivers/sensor/st/hts221/hts221.c @@ -240,8 +240,7 @@ int hts221_init(const struct device *dev) STMEMSC_CTX_SPI(&hts221_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ - HTS221_SPI_OPERATION, \ - 0), \ + HTS221_SPI_OPERATION) \ }, \ HTS221_CONFIG_COMMON(inst) \ } diff --git a/drivers/sensor/st/i3g4250d/i3g4250d.c b/drivers/sensor/st/i3g4250d/i3g4250d.c index adb638459ad38..00e5a20fceaac 100644 --- a/drivers/sensor/st/i3g4250d/i3g4250d.c +++ b/drivers/sensor/st/i3g4250d/i3g4250d.c @@ -213,8 +213,7 @@ static int i3g4250d_init(const struct device *dev) static const struct i3g4250d_device_config i3g4250d_config_##inst = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ SPI_OP_MODE_MASTER | SPI_MODE_CPOL | \ - SPI_MODE_CPHA | SPI_WORD_SET(8) | SPI_LINES_SINGLE, \ - 0), \ + SPI_MODE_CPHA | SPI_WORD_SET(8) | SPI_LINES_SINGLE) \ }; \ SENSOR_DEVICE_DT_INST_DEFINE(inst, \ i3g4250d_init, \ diff --git a/drivers/sensor/st/iis2dh/iis2dh.c b/drivers/sensor/st/iis2dh/iis2dh.c index e827973bb90b2..07b29d422ce89 100644 --- a/drivers/sensor/st/iis2dh/iis2dh.c +++ b/drivers/sensor/st/iis2dh/iis2dh.c @@ -302,7 +302,7 @@ static int iis2dh_init(const struct device *dev) #define IIS2DH_SPI(inst) \ (.spi = SPI_DT_SPEC_INST_GET( \ - 0, SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8), 0),) + 0, SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8)),) #define IIS2DH_I2C(inst) (.i2c = I2C_DT_SPEC_INST_GET(inst),) diff --git a/drivers/sensor/st/iis2dlpc/iis2dlpc.c b/drivers/sensor/st/iis2dlpc/iis2dlpc.c index 2ccc6995f75f0..d3b0852ec0293 100644 --- a/drivers/sensor/st/iis2dlpc/iis2dlpc.c +++ b/drivers/sensor/st/iis2dlpc/iis2dlpc.c @@ -463,8 +463,7 @@ static int iis2dlpc_init(const struct device *dev) STMEMSC_CTX_SPI(&iis2dlpc_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ - IIS2DLPC_SPI_OPERATION, \ - 0), \ + IIS2DLPC_SPI_OPERATION), \ }, \ IIS2DLPC_CONFIG_COMMON(inst) \ } diff --git a/drivers/sensor/st/iis2iclx/iis2iclx.c b/drivers/sensor/st/iis2iclx/iis2iclx.c index 864e13e2f5788..4eb54b7704d23 100644 --- a/drivers/sensor/st/iis2iclx/iis2iclx.c +++ b/drivers/sensor/st/iis2iclx/iis2iclx.c @@ -651,8 +651,7 @@ static int iis2iclx_init(const struct device *dev) STMEMSC_CTX_SPI(&iis2iclx_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ - IIS2ICLX_SPI_OPERATION, \ - 0), \ + IIS2ICLX_SPI_OPERATION) \ }, \ IIS2ICLX_CONFIG_COMMON(inst) \ } diff --git a/drivers/sensor/st/iis2mdc/iis2mdc.c b/drivers/sensor/st/iis2mdc/iis2mdc.c index 2fbfd1891b528..86695bc7197fa 100644 --- a/drivers/sensor/st/iis2mdc/iis2mdc.c +++ b/drivers/sensor/st/iis2mdc/iis2mdc.c @@ -351,7 +351,7 @@ static int iis2mdc_init(const struct device *dev) #define IIS2MDC_CONFIG_SPI(inst) \ { \ - .spi = SPI_DT_SPEC_INST_GET(inst, IIS2MDC_SPI_OP, 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, IIS2MDC_SPI_OP), \ .bus_init = iis2mdc_spi_init, \ COND_CODE_1(DT_INST_NODE_HAS_PROP(inst, drdy_gpios), \ (IIS2MDC_CFG_IRQ(inst)), ()) \ diff --git a/drivers/sensor/st/iis328dq/iis328dq.c b/drivers/sensor/st/iis328dq/iis328dq.c index ada38da9b7dfe..5c9839bfc8fa9 100644 --- a/drivers/sensor/st/iis328dq/iis328dq.c +++ b/drivers/sensor/st/iis328dq/iis328dq.c @@ -405,8 +405,7 @@ static int iis328dq_init(const struct device *dev) STMEMSC_CTX_SPI_INCR(&iis328dq_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = \ { \ - .spi = SPI_DT_SPEC_INST_GET(inst, IIS328DQ_SPI_OPERATION, \ - 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, IIS328DQ_SPI_OPERATION) \ }, \ IIS328DQ_CONFIG_COMMON(inst) \ } diff --git a/drivers/sensor/st/iis3dhhc/iis3dhhc.c b/drivers/sensor/st/iis3dhhc/iis3dhhc.c index dfa3e15e6ef3e..c844b214bb28c 100644 --- a/drivers/sensor/st/iis3dhhc/iis3dhhc.c +++ b/drivers/sensor/st/iis3dhhc/iis3dhhc.c @@ -233,7 +233,7 @@ static int iis3dhhc_init(const struct device *dev) .bus_init = iis3dhhc_spi_init, \ .spi = SPI_DT_SPEC_INST_GET(inst, SPI_OP_MODE_MASTER | \ SPI_MODE_CPOL | SPI_MODE_CPHA | \ - SPI_WORD_SET(8), 0U), \ + SPI_WORD_SET(8)), \ }; \ \ SENSOR_DEVICE_DT_INST_DEFINE(inst, iis3dhhc_init, NULL, \ diff --git a/drivers/sensor/st/ism330dhcx/ism330dhcx.c b/drivers/sensor/st/ism330dhcx/ism330dhcx.c index 44b8506664e6d..78def9b0c2f00 100644 --- a/drivers/sensor/st/ism330dhcx/ism330dhcx.c +++ b/drivers/sensor/st/ism330dhcx/ism330dhcx.c @@ -789,7 +789,7 @@ static int ism330dhcx_init(const struct device *dev) (.bus_init = ism330dhcx_spi_init, \ .spi = SPI_DT_SPEC_INST_GET(inst, SPI_OP_MODE_MASTER | \ SPI_MODE_CPOL | SPI_MODE_CPHA | \ - SPI_WORD_SET(8), 0),), \ + SPI_WORD_SET(8)),), \ ()) \ COND_CODE_1(DT_INST_ON_BUS(inst, i2c), \ (.bus_init = ism330dhcx_i2c_init, \ diff --git a/drivers/sensor/st/lis2de12/lis2de12.c b/drivers/sensor/st/lis2de12/lis2de12.c index bd32b66553a16..10714b5872afd 100644 --- a/drivers/sensor/st/lis2de12/lis2de12.c +++ b/drivers/sensor/st/lis2de12/lis2de12.c @@ -437,7 +437,7 @@ static int lis2de12_init(const struct device *dev) { \ STMEMSC_CTX_SPI_INCR(&lis2de12_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, LIS2DE12_SPI_OP, 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, LIS2DE12_SPI_OP), \ }, \ LIS2DE12_CONFIG_COMMON(inst) \ } diff --git a/drivers/sensor/st/lis2dh/lis2dh.c b/drivers/sensor/st/lis2dh/lis2dh.c index 357a595727efc..302e08f47f78c 100644 --- a/drivers/sensor/st/lis2dh/lis2dh.c +++ b/drivers/sensor/st/lis2dh/lis2dh.c @@ -610,8 +610,7 @@ static int lis2dh_init(const struct device *dev) SPI_WORD_SET(8) | \ SPI_OP_MODE_MASTER | \ SPI_MODE_CPOL | \ - SPI_MODE_CPHA, \ - 0) }, \ + SPI_MODE_CPHA)}, \ .hw = { .is_lsm303agr_dev = IS_LSM303AGR_DEV(inst), \ .disc_pull_up = DISC_PULL_UP(inst), \ .anym_on_int1 = ANYM_ON_INT1(inst), \ diff --git a/drivers/sensor/st/lis2ds12/lis2ds12.c b/drivers/sensor/st/lis2ds12/lis2ds12.c index b2c2c65a3b40d..793ab192aafa2 100644 --- a/drivers/sensor/st/lis2ds12/lis2ds12.c +++ b/drivers/sensor/st/lis2ds12/lis2ds12.c @@ -370,8 +370,7 @@ static int lis2ds12_init(const struct device *dev) STMEMSC_CTX_SPI(&lis2ds12_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ - LIS2DS12_SPI_OPERATION, \ - 0), \ + LIS2DS12_SPI_OPERATION) \ }, \ LIS2DS12_CONFIG_COMMON(inst) \ } diff --git a/drivers/sensor/st/lis2du12/lis2du12.c b/drivers/sensor/st/lis2du12/lis2du12.c index ca63f136c04ff..0f7522355fc96 100644 --- a/drivers/sensor/st/lis2du12/lis2du12.c +++ b/drivers/sensor/st/lis2du12/lis2du12.c @@ -440,8 +440,7 @@ static int lis2du12_init(const struct device *dev) STMEMSC_CTX_SPI(&lis2du12_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ - LIS2DU12_SPI_OP, \ - 0), \ + LIS2DU12_SPI_OP) \ }, \ LIS2DU12_CONFIG_COMMON(inst) \ } diff --git a/drivers/sensor/st/lis2dux12/lis2dux12.c b/drivers/sensor/st/lis2dux12/lis2dux12.c index dbd1270310c52..61d9fafe0d591 100644 --- a/drivers/sensor/st/lis2dux12/lis2dux12.c +++ b/drivers/sensor/st/lis2dux12/lis2dux12.c @@ -296,14 +296,14 @@ static DEVICE_API(sensor, lis2dux12_driver_api) = { #define LIS2DUX12_SPI_RTIO_DEFINE(inst, name) \ SPI_DT_IODEV_DEFINE(lis2dux12_iodev_##name##_##inst, \ - DT_DRV_INST(inst), LIS2DUX12_SPI_OPERATION, 0U); \ + DT_DRV_INST(inst), LIS2DUX12_SPI_OPERATION); \ RTIO_DEFINE(lis2dux12_rtio_ctx_##name##_##inst, 4, 4); #define LIS2DUX12_CONFIG_SPI(inst, name) \ { \ STMEMSC_CTX_SPI(&lis2dux12_config_##name##_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, LIS2DUX12_SPI_OPERATION, 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, LIS2DUX12_SPI_OPERATION), \ }, \ LIS2DUX12_CONFIG_COMMON(inst, name) \ } diff --git a/drivers/sensor/st/lis2dw12/lis2dw12.c b/drivers/sensor/st/lis2dw12/lis2dw12.c index ad98fc0a05030..3bc0af885182c 100644 --- a/drivers/sensor/st/lis2dw12/lis2dw12.c +++ b/drivers/sensor/st/lis2dw12/lis2dw12.c @@ -665,8 +665,7 @@ static int lis2dw12_init(const struct device *dev) STMEMSC_CTX_SPI(&lis2dw12_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ - LIS2DW12_SPI_OPERATION, \ - 0), \ + LIS2DW12_SPI_OPERATION) \ }, \ LIS2DW12_CONFIG_COMMON(inst) \ } diff --git a/drivers/sensor/st/lis2mdl/lis2mdl.c b/drivers/sensor/st/lis2mdl/lis2mdl.c index c0be4e8bb738c..ec4b901994965 100644 --- a/drivers/sensor/st/lis2mdl/lis2mdl.c +++ b/drivers/sensor/st/lis2mdl/lis2mdl.c @@ -527,8 +527,7 @@ static int lis2mdl_pm_action(const struct device *dev, STMEMSC_CTX_SPI(&lis2mdl_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ - LIS2MDL_SPI_OPERATION, \ - 0), \ + LIS2MDL_SPI_OPERATION) \ }, \ .spi_4wires = DT_INST_PROP(inst, duplex) == \ SPI_FULL_DUPLEX, \ diff --git a/drivers/sensor/st/lps22hh/lps22hh.c b/drivers/sensor/st/lps22hh/lps22hh.c index dd2ad7b2eb41a..7aa65b9d9f339 100644 --- a/drivers/sensor/st/lps22hh/lps22hh.c +++ b/drivers/sensor/st/lps22hh/lps22hh.c @@ -321,8 +321,7 @@ static int lps22hh_init(const struct device *dev) STMEMSC_CTX_SPI(&lps22hh_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ - LPS22HH_SPI_OPERATION, \ - 0), \ + LPS22HH_SPI_OPERATION) \ }, \ LPS22HH_CONFIG_COMMON(inst) \ } diff --git a/drivers/sensor/st/lps2xdf/lps2xdf.c b/drivers/sensor/st/lps2xdf/lps2xdf.c index 480f49255db15..6e28bd6c92f83 100644 --- a/drivers/sensor/st/lps2xdf/lps2xdf.c +++ b/drivers/sensor/st/lps2xdf/lps2xdf.c @@ -176,7 +176,7 @@ static DEVICE_API(sensor, lps2xdf_driver_api) = { { \ STMEMSC_CTX_SPI(&lps2xdf_config_##name##_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, LPS2XDF_SPI_OPERATION, 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, LPS2XDF_SPI_OPERATION), \ }, \ LPS2XDF_CONFIG_COMMON(inst, name) \ } diff --git a/drivers/sensor/st/lsm6dsl/lsm6dsl.c b/drivers/sensor/st/lsm6dsl/lsm6dsl.c index df8b4c9f1dc81..47eb193cd1a9d 100644 --- a/drivers/sensor/st/lsm6dsl/lsm6dsl.c +++ b/drivers/sensor/st/lsm6dsl/lsm6dsl.c @@ -918,7 +918,7 @@ static int lsm6dsl_pm_action(const struct device *dev, .bus_cfg.spi = SPI_DT_SPEC_INST_GET(inst, SPI_WORD_SET(8) | \ SPI_OP_MODE_MASTER | \ SPI_MODE_CPOL | \ - SPI_MODE_CPHA, 0), \ + SPI_MODE_CPHA), \ COND_CODE_1(DT_INST_NODE_HAS_PROP(inst, irq_gpios), \ (LSM6DSL_CFG_IRQ(inst)), ()) \ } diff --git a/drivers/sensor/st/lsm6dso/lsm6dso.c b/drivers/sensor/st/lsm6dso/lsm6dso.c index 08c2fa03cd369..a528d89587d48 100644 --- a/drivers/sensor/st/lsm6dso/lsm6dso.c +++ b/drivers/sensor/st/lsm6dso/lsm6dso.c @@ -913,8 +913,7 @@ static int lsm6dso_init(const struct device *dev) STMEMSC_CTX_SPI(&model##_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ - LSM6DSO_SPI_OP, \ - 0), \ + LSM6DSO_SPI_OP), \ }, \ LSM6DSO_CONFIG_COMMON(inst) \ } diff --git a/drivers/sensor/st/lsm6dso16is/lsm6dso16is.c b/drivers/sensor/st/lsm6dso16is/lsm6dso16is.c index 1171d7fa380e3..894e0580ceaba 100644 --- a/drivers/sensor/st/lsm6dso16is/lsm6dso16is.c +++ b/drivers/sensor/st/lsm6dso16is/lsm6dso16is.c @@ -880,8 +880,7 @@ static int lsm6dso16is_init(const struct device *dev) STMEMSC_CTX_SPI(&lsm6dso16is_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ - LSM6DSO16IS_SPI_OP, \ - 0), \ + LSM6DSO16IS_SPI_OP), \ }, \ LSM6DSO16IS_CONFIG_COMMON(inst) \ } diff --git a/drivers/sensor/st/lsm6dsv16x/lsm6dsv16x.c b/drivers/sensor/st/lsm6dsv16x/lsm6dsv16x.c index c34ece29af84c..95e83c9f0449c 100644 --- a/drivers/sensor/st/lsm6dsv16x/lsm6dsv16x.c +++ b/drivers/sensor/st/lsm6dsv16x/lsm6dsv16x.c @@ -1308,7 +1308,7 @@ static int lsm6dsv16x_pm_action(const struct device *dev, enum pm_device_action #define LSM6DSV16X_SPI_RTIO_DEFINE(inst, prefix) \ SPI_DT_IODEV_DEFINE(prefix##_iodev_##inst, \ - DT_DRV_INST(inst), LSM6DSV16X_SPI_OP, 0U); \ + DT_DRV_INST(inst), LSM6DSV16X_SPI_OP); \ RTIO_DEFINE(prefix##_rtio_ctx_##inst, 4, 4); #define LSM6DSV16X_CONFIG_SPI(inst, prefix) \ @@ -1316,8 +1316,7 @@ static int lsm6dsv16x_pm_action(const struct device *dev, enum pm_device_action STMEMSC_CTX_SPI(&prefix##_config_##inst.stmemsc_cfg), \ .stmemsc_cfg = { \ .spi = SPI_DT_SPEC_INST_GET(inst, \ - LSM6DSV16X_SPI_OP, \ - 0), \ + LSM6DSV16X_SPI_OP), \ }, \ LSM6DSV16X_CONFIG_COMMON(inst, prefix) \ } diff --git a/drivers/sensor/tdk/icm42605/icm42605.c b/drivers/sensor/tdk/icm42605/icm42605.c index 29cab124540eb..e0b3109329066 100644 --- a/drivers/sensor/tdk/icm42605/icm42605.c +++ b/drivers/sensor/tdk/icm42605/icm42605.c @@ -432,8 +432,7 @@ static DEVICE_API(sensor, icm42605_driver_api) = { SPI_MODE_CPOL | \ SPI_MODE_CPHA | \ SPI_WORD_SET(8) | \ - SPI_TRANSFER_MSB, \ - 0U), \ + SPI_TRANSFER_MSB), \ .gpio_int = GPIO_DT_SPEC_INST_GET(index, int_gpios), \ .accel_hz = DT_INST_PROP(index, accel_hz), \ .gyro_hz = DT_INST_PROP(index, gyro_hz), \ diff --git a/drivers/sensor/tdk/icm4268x/icm4268x.c b/drivers/sensor/tdk/icm4268x/icm4268x.c index 4421e612bb94e..8dcbe50d0b1e4 100644 --- a/drivers/sensor/tdk/icm4268x/icm4268x.c +++ b/drivers/sensor/tdk/icm4268x/icm4268x.c @@ -338,7 +338,7 @@ void icm4268x_unlock(const struct device *dev) SPI_OP_MODE_MASTER | SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8) | SPI_TRANSFER_MSB #define ICM4268X_RTIO_DEFINE(inst) \ - SPI_DT_IODEV_DEFINE(icm4268x_spi_iodev_##inst, DT_DRV_INST(inst), ICM4268X_SPI_CFG, 0U); \ + SPI_DT_IODEV_DEFINE(icm4268x_spi_iodev_##inst, DT_DRV_INST(inst), ICM4268X_SPI_CFG); \ RTIO_DEFINE(icm4268x_rtio_##inst, 8, 4); #define ICM42688_DT_CONFIG_INIT(inst) \ @@ -401,7 +401,7 @@ void icm4268x_unlock(const struct device *dev) ICM4268X_DEFINE_DATA(inst); \ \ static const struct icm4268x_dev_cfg icm4268x_cfg_##inst = { \ - .spi = SPI_DT_SPEC_INST_GET(inst, ICM4268X_SPI_CFG, 0U), \ + .spi = SPI_DT_SPEC_INST_GET(inst, ICM4268X_SPI_CFG), \ .gpio_int1 = GPIO_DT_SPEC_INST_GET_OR(inst, int_gpios, {0}), \ }; \ \ diff --git a/drivers/sensor/tdk/icm42x70/icm42x70.c b/drivers/sensor/tdk/icm42x70/icm42x70.c index 01b82632faa46..5252b483464b6 100644 --- a/drivers/sensor/tdk/icm42x70/icm42x70.c +++ b/drivers/sensor/tdk/icm42x70/icm42x70.c @@ -983,7 +983,7 @@ static DEVICE_API(sensor, icm42x70_driver_api) = { /* Initializes the bus members for an instance on a SPI bus. */ #define ICM42X70_CONFIG_SPI(inst) \ - {.bus.spi = SPI_DT_SPEC_INST_GET(inst, ICM42X70_SPI_CFG, 0), \ + {.bus.spi = SPI_DT_SPEC_INST_GET(inst, ICM42X70_SPI_CFG), \ .bus_io = &icm42x70_bus_io_spi, \ .serif_type = UI_SPI4, \ ICM42X70_CONFIG_COMMON(inst)} diff --git a/drivers/sensor/tdk/icm45686/icm45686.c b/drivers/sensor/tdk/icm45686/icm45686.c index b919ee112abf7..1a091b0557773 100644 --- a/drivers/sensor/tdk/icm45686/icm45686.c +++ b/drivers/sensor/tdk/icm45686/icm45686.c @@ -420,8 +420,7 @@ static int icm45686_init(const struct device *dev) COND_CODE_1(DT_INST_ON_BUS(inst, spi), \ (SPI_DT_IODEV_DEFINE(icm45686_bus_##inst, \ DT_DRV_INST(inst), \ - SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_MSB, \ - 0U)), \ + SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | SPI_TRANSFER_MSB)),\ ()); \ \ \ diff --git a/drivers/sensor/tdk/icp201xx/icp201xx_drv.c b/drivers/sensor/tdk/icp201xx/icp201xx_drv.c index c3d1f95e7a0fa..96bab014dbe59 100644 --- a/drivers/sensor/tdk/icp201xx/icp201xx_drv.c +++ b/drivers/sensor/tdk/icp201xx/icp201xx_drv.c @@ -421,8 +421,7 @@ static DEVICE_API(sensor, icp201xx_api_funcs) = {.sample_fetch = icp201xx_sample .bus.spi = SPI_DT_SPEC_INST_GET(inst, \ (SPI_OP_MODE_MASTER | SPI_WORD_SET(8) | \ SPI_TRANSFER_MSB | SPI_FULL_DUPLEX | \ - SPI_MODE_CPHA | SPI_MODE_CPOL), \ - 0), \ + SPI_MODE_CPHA | SPI_MODE_CPOL)), \ .bus_io = &icp201xx_bus_io_spi, \ ICP201XX_CONFIG(inst) \ } diff --git a/drivers/sensor/ti/tmag5170/tmag5170.c b/drivers/sensor/ti/tmag5170/tmag5170.c index 258e3c5fcfb01..e459ccc00ce41 100644 --- a/drivers/sensor/ti/tmag5170/tmag5170.c +++ b/drivers/sensor/ti/tmag5170/tmag5170.c @@ -555,8 +555,7 @@ static int tmag5170_init(const struct device *dev) .bus = SPI_DT_SPEC_INST_GET(_num, \ SPI_OP_MODE_MASTER | \ SPI_TRANSFER_MSB | \ - SPI_WORD_SET(32), \ - 0), \ + SPI_WORD_SET(32)), \ .magnetic_channels = DT_INST_ENUM_IDX(_num, magnetic_channels), \ .x_range = DT_INST_ENUM_IDX(_num, x_range), \ .y_range = DT_INST_ENUM_IDX(_num, y_range), \ diff --git a/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.c b/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.c index d5e56234a4aae..6de01077acd40 100644 --- a/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.c +++ b/drivers/sensor/wsen/wsen_itds_2533020201601/wsen_itds_2533020201601.c @@ -661,7 +661,7 @@ int itds_2533020201601_init(const struct device *dev) #define ITDS_2533020201601_CONFIG_SPI(inst) \ {.bus_cfg = \ { \ - .spi = SPI_DT_SPEC_INST_GET(inst, ITDS_2533020201601_SPI_OPERATION, 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, ITDS_2533020201601_SPI_OPERATION), \ }, \ ITDS_2533020201601_CONFIG_COMMON(inst)} diff --git a/drivers/sensor/wsen/wsen_pads_2511020213301/wsen_pads_2511020213301.c b/drivers/sensor/wsen/wsen_pads_2511020213301/wsen_pads_2511020213301.c index 996773c04dd95..cf4a6c999b0fb 100644 --- a/drivers/sensor/wsen/wsen_pads_2511020213301/wsen_pads_2511020213301.c +++ b/drivers/sensor/wsen/wsen_pads_2511020213301/wsen_pads_2511020213301.c @@ -481,7 +481,7 @@ static int pads_2511020213301_init(const struct device *dev) #define PADS_2511020213301_CONFIG_SPI(inst) \ {.bus_cfg = \ { \ - .spi = SPI_DT_SPEC_INST_GET(inst, PADS_2511020213301_SPI_OPERATION, 0), \ + .spi = SPI_DT_SPEC_INST_GET(inst, PADS_2511020213301_SPI_OPERATION), \ }, \ PADS_2511020213301_CONFIG_COMMON(inst)} diff --git a/drivers/stepper/adi_tmc/tmc50xx.c b/drivers/stepper/adi_tmc/tmc50xx.c index 87e886251b773..56a2bd3bedc36 100644 --- a/drivers/stepper/adi_tmc/tmc50xx.c +++ b/drivers/stepper/adi_tmc/tmc50xx.c @@ -767,7 +767,7 @@ static DEVICE_API(stepper, tmc50xx_stepper_api) = { DT_INST_FOREACH_CHILD(inst, TMC50XX_SHAFT_CONFIG) \ (DT_INST_PROP(inst, lock_gconf) << TMC50XX_LOCK_GCONF_SHIFT)), \ .spi = SPI_DT_SPEC_INST_GET(inst, (SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | \ - SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8)), 0), \ + SPI_MODE_CPOL | SPI_MODE_CPHA | SPI_WORD_SET(8))), \ .clock_frequency = DT_INST_PROP(inst, clock_frequency),}; \ DT_INST_FOREACH_CHILD(inst, TMC50XX_STEPPER_CONFIG_DEFINE); \ DT_INST_FOREACH_CHILD(inst, TMC50XX_STEPPER_DATA_DEFINE); \ diff --git a/drivers/stepper/adi_tmc/tmc51xx/tmc51xx.c b/drivers/stepper/adi_tmc/tmc51xx/tmc51xx.c index ec334965e3dd5..9586d88f1a7b2 100644 --- a/drivers/stepper/adi_tmc/tmc51xx/tmc51xx.c +++ b/drivers/stepper/adi_tmc/tmc51xx/tmc51xx.c @@ -818,8 +818,7 @@ static DEVICE_API(stepper, tmc51xx_api) = { .comm_type = TMC_COMM_SPI, \ .bus.spi = SPI_DT_SPEC_INST_GET(inst, \ (SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_MODE_CPOL | \ - SPI_MODE_CPHA | SPI_WORD_SET(8)), \ - 0), \ + SPI_MODE_CPHA | SPI_WORD_SET(8))), \ .bus_io = &tmc51xx_spi_bus_io, \ .diag0_gpio = GPIO_DT_SPEC_INST_GET_OR(inst, diag0_gpios, {0}) diff --git a/drivers/usb/uhc/uhc_max3421e.c b/drivers/usb/uhc/uhc_max3421e.c index 64a6e167cbf26..0d4f4cc791814 100644 --- a/drivers/usb/uhc/uhc_max3421e.c +++ b/drivers/usb/uhc/uhc_max3421e.c @@ -1132,7 +1132,7 @@ static struct uhc_data max3421e_uhc_data = { }; static const struct max3421e_config max3421e_cfg = { - .dt_spi = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8) | SPI_TRANSFER_MSB, 0), + .dt_spi = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8) | SPI_TRANSFER_MSB), .dt_int = GPIO_DT_SPEC_INST_GET(0, int_gpios), .dt_rst = GPIO_DT_SPEC_INST_GET_OR(0, reset_gpios, {0}), }; diff --git a/drivers/watchdog/wdt_nxp_fs26.c b/drivers/watchdog/wdt_nxp_fs26.c index 753a5a36d1fb4..26ffca172e7ae 100644 --- a/drivers/watchdog/wdt_nxp_fs26.c +++ b/drivers/watchdog/wdt_nxp_fs26.c @@ -825,7 +825,7 @@ static DEVICE_API(wdt, wdt_nxp_fs26_api) = { \ static const struct wdt_nxp_fs26_config wdt_nxp_fs26_config_##n = { \ .spi = SPI_DT_SPEC_INST_GET(n, \ - SPI_OP_MODE_MASTER | SPI_MODE_CPHA | SPI_WORD_SET(32), 0), \ + SPI_OP_MODE_MASTER | SPI_MODE_CPHA | SPI_WORD_SET(32)), \ .wd_type = _CONCAT(FS26_WD_, DT_INST_STRING_UPPER_TOKEN(n, type)), \ .int_gpio = GPIO_DT_SPEC_INST_GET(n, int_gpios), \ }; \ diff --git a/drivers/wifi/esp_hosted/esp_hosted_wifi.c b/drivers/wifi/esp_hosted/esp_hosted_wifi.c index 471dfa69967d9..52edfbfdbcb02 100644 --- a/drivers/wifi/esp_hosted/esp_hosted_wifi.c +++ b/drivers/wifi/esp_hosted/esp_hosted_wifi.c @@ -24,7 +24,7 @@ static esp_hosted_config_t esp_hosted_config = { .reset_gpio = GPIO_DT_SPEC_INST_GET(0, reset_gpios), .dataready_gpio = GPIO_DT_SPEC_INST_GET(0, dataready_gpios), .handshake_gpio = GPIO_DT_SPEC_INST_GET(0, handshake_gpios), - .spi_bus = SPI_DT_SPEC_INST_GET(0, ESP_HOSTED_SPI_CONFIG, 10U)}; + .spi_bus = SPI_DT_SPEC_INST_GET(0, ESP_HOSTED_SPI_CONFIG)}; static esp_hosted_data_t esp_hosted_data = {0}; diff --git a/drivers/wifi/eswifi/eswifi_bus_spi.c b/drivers/wifi/eswifi/eswifi_bus_spi.c index 9fb24dda90768..190abbcbe60a5 100644 --- a/drivers/wifi/eswifi/eswifi_bus_spi.c +++ b/drivers/wifi/eswifi/eswifi_bus_spi.c @@ -36,7 +36,7 @@ static const struct eswifi_spi_config eswifi_config_spi0 = { .dr = GPIO_DT_SPEC_INST_GET(0, data_gpios), .bus = SPI_DT_SPEC_INST_GET(0, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(16) | SPI_HOLD_ON_CS | - SPI_LOCK_ON, 1000U), + SPI_LOCK_ON), }; static struct eswifi_spi_data eswifi_spi0; diff --git a/drivers/wifi/infineon/airoc_wifi.c b/drivers/wifi/infineon/airoc_wifi.c index 9c6747a5254ce..fb1846e3d5eb1 100644 --- a/drivers/wifi/infineon/airoc_wifi.c +++ b/drivers/wifi/infineon/airoc_wifi.c @@ -83,7 +83,7 @@ static struct airoc_wifi_config airoc_wifi_config = { #if defined(CONFIG_AIROC_WIFI_BUS_SDIO) .bus_dev.bus_sdio = DEVICE_DT_GET(DT_INST_PARENT(0)), #elif defined(CONFIG_AIROC_WIFI_BUS_SPI) - .bus_dev.bus_spi = SPI_DT_SPEC_GET(DT_DRV_INST(0), AIROC_WIFI_SPI_OPERATION, 0), + .bus_dev.bus_spi = SPI_DT_SPEC_GET(DT_DRV_INST(0), AIROC_WIFI_SPI_OPERATION), .bus_select_gpio = GPIO_DT_SPEC_GET_OR(DT_DRV_INST(0), bus_select_gpios, {0}), #if defined(SPI_DATA_IRQ_SHARED) .pcfg = PINCTRL_DT_INST_DEV_CONFIG_GET(0), diff --git a/drivers/wifi/winc1500/wifi_winc1500_nm_bsp.c b/drivers/wifi/winc1500/wifi_winc1500_nm_bsp.c index 94f118e747ab6..626ef236bf4b8 100644 --- a/drivers/wifi/winc1500/wifi_winc1500_nm_bsp.c +++ b/drivers/wifi/winc1500/wifi_winc1500_nm_bsp.c @@ -14,7 +14,7 @@ #include "wifi_winc1500_config.h" const struct winc1500_cfg winc1500_config = { - .spi = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8) | SPI_TRANSFER_MSB, 0), + .spi = SPI_DT_SPEC_INST_GET(0, SPI_WORD_SET(8) | SPI_TRANSFER_MSB), .chip_en_gpio = GPIO_DT_SPEC_INST_GET(0, enable_gpios), .irq_gpio = GPIO_DT_SPEC_INST_GET(0, irq_gpios), .reset_gpio = GPIO_DT_SPEC_INST_GET(0, reset_gpios), diff --git a/dts/bindings/adc/adi,ad4130-adc.yaml b/dts/bindings/adc/adi,ad4130-adc.yaml index 421aca8f7d915..ca203c1dec885 100644 --- a/dts/bindings/adc/adi,ad4130-adc.yaml +++ b/dts/bindings/adc/adi,ad4130-adc.yaml @@ -95,6 +95,10 @@ properties: enabling the clock output. "#io-channel-cells": const: 1 + spi-cs-setup-delay-ns: + default: 1000 + spi-cs-hold-delay-ns: + default: 1000 io-channel-cells: - input diff --git a/dts/bindings/adc/maxim,max1125x-base.yaml b/dts/bindings/adc/maxim,max1125x-base.yaml index 0ca6473b8a742..95c7fcdad3430 100644 --- a/dts/bindings/adc/maxim,max1125x-base.yaml +++ b/dts/bindings/adc/maxim,max1125x-base.yaml @@ -31,6 +31,10 @@ properties: self-calibration: type: boolean description: start self calibration during channel setup + spi-cs-setup-delay-ns: + default: 1000 + spi-cs-hold-delay-ns: + default: 1000 io-channel-cells: - input diff --git a/dts/bindings/adc/microchip,mcp356xr.yaml b/dts/bindings/adc/microchip,mcp356xr.yaml index c56dc7159b766..a28697afce946 100644 --- a/dts/bindings/adc/microchip,mcp356xr.yaml +++ b/dts/bindings/adc/microchip,mcp356xr.yaml @@ -78,6 +78,10 @@ properties: type: boolean description: | Output AMCLK on the MCLK pin only effective when use-internal-clock is set + spi-cs-setup-delay-ns: + default: 1000 + spi-cs-hold-delay-ns: + default: 1000 io-channel-cells: - input diff --git a/dts/bindings/adc/ti,ads7052.yaml b/dts/bindings/adc/ti,ads7052.yaml index ea150a3b604d8..5ca385a492ab2 100644 --- a/dts/bindings/adc/ti,ads7052.yaml +++ b/dts/bindings/adc/ti,ads7052.yaml @@ -10,6 +10,10 @@ include: [adc-controller.yaml, spi-device.yaml] on-bus: spi properties: + spi-cs-setup-delay-ns: + default: 1000 + spi-cs-hold-delay-ns: + default: 1000 "#io-channel-cells": const: 1 diff --git a/dts/bindings/bluetooth/zephyr,bt-hci-spi.yaml b/dts/bindings/bluetooth/zephyr,bt-hci-spi.yaml index 54f24a902f1e4..8d835f8d41908 100644 --- a/dts/bindings/bluetooth/zephyr,bt-hci-spi.yaml +++ b/dts/bindings/bluetooth/zephyr,bt-hci-spi.yaml @@ -24,13 +24,6 @@ properties: Minimum duration to hold the reset-gpios pin low for. If not specified no delay beyond the code path execution time is guaranteed. - controller-cs-delay-us: - type: int - default: 0 - description: - Delay in microseconds to wait after asserting the CS line before starting the - transmission and before releasing the CS line after the transmission. - controller-data-delay-us: type: int default: 20 diff --git a/dts/bindings/hdlc_rcp_if/spi,hdlc-rcp-if.yaml b/dts/bindings/hdlc_rcp_if/spi,hdlc-rcp-if.yaml index d9c0a3b5b431d..8aed4e0a74f1a 100644 --- a/dts/bindings/hdlc_rcp_if/spi,hdlc-rcp-if.yaml +++ b/dts/bindings/hdlc_rcp_if/spi,hdlc-rcp-if.yaml @@ -28,8 +28,3 @@ properties: type: int default: 0 description: The delay (in ms) after reset de-assertion. - - cs-delay: - type: int - default: 0 - description: The delay (in ms) for the RCP radio chip select. diff --git a/dts/bindings/sensor/bosch,bmi08x-accel-spi.yaml b/dts/bindings/sensor/bosch,bmi08x-accel-spi.yaml index 924f9d567e88e..3da972f74f68e 100644 --- a/dts/bindings/sensor/bosch,bmi08x-accel-spi.yaml +++ b/dts/bindings/sensor/bosch,bmi08x-accel-spi.yaml @@ -6,3 +6,9 @@ description: BMI08X Accel inertial measurement unit compatible: "bosch,bmi08x-accel" include: [spi-device.yaml, "bosch,bmi08x-accel.yaml"] + +properties: + spi-cs-setup-delay-ns: + default: 2000 + spi-cs-hold-delay-ns: + default: 2000 diff --git a/dts/bindings/sensor/bosch,bmi08x-gyro-spi.yaml b/dts/bindings/sensor/bosch,bmi08x-gyro-spi.yaml index b7aa1fd02b482..cd571522a3eb7 100644 --- a/dts/bindings/sensor/bosch,bmi08x-gyro-spi.yaml +++ b/dts/bindings/sensor/bosch,bmi08x-gyro-spi.yaml @@ -6,3 +6,9 @@ description: BMI08X Gyro inertial measurement unit compatible: "bosch,bmi08x-gyro" include: [spi-device.yaml, "bosch,bmi08x-gyro.yaml"] + +properties: + spi-cs-setup-delay-ns: + default: 2000 + spi-cs-hold-delay-ns: + default: 2000 diff --git a/dts/bindings/wifi/espressif,esp-hosted.yaml b/dts/bindings/wifi/espressif,esp-hosted.yaml index 395c480e194c5..62021cf5a5f30 100644 --- a/dts/bindings/wifi/espressif,esp-hosted.yaml +++ b/dts/bindings/wifi/espressif,esp-hosted.yaml @@ -19,3 +19,8 @@ properties: handshake-gpios: type: phandle-array required: true + + spi-cs-setup-delay-ns: + default: 10000 + spi-cs-hold-delay-ns: + default: 10000 diff --git a/dts/bindings/wifi/inventek,eswifi.yaml b/dts/bindings/wifi/inventek,eswifi.yaml index 51a18eed410c3..41b2071c28f34 100644 --- a/dts/bindings/wifi/inventek,eswifi.yaml +++ b/dts/bindings/wifi/inventek,eswifi.yaml @@ -21,3 +21,8 @@ properties: boot0-gpios: type: phandle-array + + spi-cs-setup-delay-ns: + default: 1000000 + spi-cs-hold-delay-ns: + default: 1000000 diff --git a/modules/nrf_wifi/bus/spi_if.c b/modules/nrf_wifi/bus/spi_if.c index bde80d55480d8..402cf565af216 100644 --- a/modules/nrf_wifi/bus/spi_if.c +++ b/modules/nrf_wifi/bus/spi_if.c @@ -24,10 +24,10 @@ LOG_MODULE_DECLARE(wifi_nrf_bus, CONFIG_WIFI_NRF70_BUSLIB_LOG_LEVEL); static struct qspi_config *spim_config; static const struct spi_dt_spec spi_spec = -SPI_DT_SPEC_GET(NRF7002_NODE, SPI_WORD_SET(8) | SPI_TRANSFER_MSB, 0); +SPI_DT_SPEC_GET(NRF7002_NODE, SPI_WORD_SET(8) | SPI_TRANSFER_MSB); static struct spi_dt_spec spi_spec_8mhz = -SPI_DT_SPEC_GET(NRF7002_NODE, SPI_WORD_SET(8) | SPI_TRANSFER_MSB, 0); +SPI_DT_SPEC_GET(NRF7002_NODE, SPI_WORD_SET(8) | SPI_TRANSFER_MSB); static int spim_xfer_tx(unsigned int addr, void *data, unsigned int len) { diff --git a/samples/boards/nordic/spis_wakeup/wakeup_trigger/src/main.c b/samples/boards/nordic/spis_wakeup/wakeup_trigger/src/main.c index 6668dc11d9e9e..64bdeeee92040 100644 --- a/samples/boards/nordic/spis_wakeup/wakeup_trigger/src/main.c +++ b/samples/boards/nordic/spis_wakeup/wakeup_trigger/src/main.c @@ -9,7 +9,7 @@ #include #define SPI_MODE (SPI_OP_MODE_MASTER | SPI_WORD_SET(8)) -static const struct spi_dt_spec spim = SPI_DT_SPEC_GET(DT_NODELABEL(spim_dt), SPI_MODE, 0); +static const struct spi_dt_spec spim = SPI_DT_SPEC_GET(DT_NODELABEL(spim_dt), SPI_MODE); static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(DT_ALIAS(led), gpios); diff --git a/samples/boards/st/power_mgmt/suspend_to_ram/src/main.c b/samples/boards/st/power_mgmt/suspend_to_ram/src/main.c index 0f77e7d85d94b..505fc18b33472 100644 --- a/samples/boards/st/power_mgmt/suspend_to_ram/src/main.c +++ b/samples/boards/st/power_mgmt/suspend_to_ram/src/main.c @@ -53,7 +53,7 @@ static uint8_t entropy_buffer[BUFFER_LENGTH] = {0}; #define SPI_OP(frame_size) SPI_OP_MODE_MASTER | SPI_MODE_CPOL | \ SPI_MODE_CPHA | SPI_WORD_SET(frame_size) | SPI_LINES_SINGLE -static struct spi_dt_spec spi_test_dev = SPI_DT_SPEC_GET(SPI_TEST_DEV, SPI_OP(FRAME_SIZE), 0); +static struct spi_dt_spec spi_test_dev = SPI_DT_SPEC_GET(SPI_TEST_DEV, SPI_OP(FRAME_SIZE)); #define SPI_BUF_SIZE 18 diff --git a/tests/drivers/spi/dt_spec/src/main.c b/tests/drivers/spi/dt_spec/src/main.c index f3affa887a9bc..228af02902132 100644 --- a/tests/drivers/spi/dt_spec/src/main.c +++ b/tests/drivers/spi/dt_spec/src/main.c @@ -15,7 +15,7 @@ LOG_MODULE_REGISTER(test, CONFIG_LOG_DEFAULT_LEVEL); ZTEST(spi_dt_spec, test_dt_spec) { const struct spi_dt_spec spi_cs = - SPI_DT_SPEC_GET(DT_NODELABEL(test_spi_dev_cs), 0, 0); + SPI_DT_SPEC_GET(DT_NODELABEL(test_spi_dev_cs), 0); LOG_DBG("spi_cs.bus = %p", spi_cs.bus); LOG_DBG("spi_cs.config.cs.gpio.port = %p", spi_cs.config.cs.gpio.port); @@ -27,7 +27,7 @@ ZTEST(spi_dt_spec, test_dt_spec) zassert_equal(spi_cs.config.cs.gpio.pin, 0x10, ""); const struct spi_dt_spec spi_no_cs = - SPI_DT_SPEC_GET(DT_NODELABEL(test_spi_dev_no_cs), 0, 0); + SPI_DT_SPEC_GET(DT_NODELABEL(test_spi_dev_no_cs), 0); LOG_DBG("spi_no_cs.bus = %p", spi_no_cs.bus); LOG_DBG("spi_no_cs.config.cs.gpio.port = %p", spi_no_cs.config.cs.gpio.port); diff --git a/tests/drivers/spi/spi_controller_peripheral/src/main.c b/tests/drivers/spi/spi_controller_peripheral/src/main.c index 7e15bb325368f..3b7f3b49a2f9e 100644 --- a/tests/drivers/spi/spi_controller_peripheral/src/main.c +++ b/tests/drivers/spi/spi_controller_peripheral/src/main.c @@ -25,7 +25,7 @@ #define SPIM_OP (SPI_OP_MODE_MASTER | SPI_MODE) #define SPIS_OP (SPI_OP_MODE_SLAVE | SPI_MODE) -static struct spi_dt_spec spim = SPI_DT_SPEC_GET(DT_NODELABEL(dut_spi_dt), SPIM_OP, 0); +static struct spi_dt_spec spim = SPI_DT_SPEC_GET(DT_NODELABEL(dut_spi_dt), SPIM_OP); static const struct device *spis_dev = DEVICE_DT_GET(DT_NODELABEL(dut_spis)); static const struct spi_config spis_config = { .operation = SPIS_OP, diff --git a/tests/drivers/spi/spi_error_cases/src/main.c b/tests/drivers/spi/spi_error_cases/src/main.c index 4ebca6f1c2e12..fbc280b63a31b 100644 --- a/tests/drivers/spi/spi_error_cases/src/main.c +++ b/tests/drivers/spi/spi_error_cases/src/main.c @@ -15,7 +15,7 @@ #define SPIM_OP (SPI_OP_MODE_MASTER | SPI_MODE) #define SPIS_OP (SPI_OP_MODE_SLAVE | SPI_MODE) -static struct spi_dt_spec spim = SPI_DT_SPEC_GET(DT_NODELABEL(dut_spi_dt), SPIM_OP, 0); +static struct spi_dt_spec spim = SPI_DT_SPEC_GET(DT_NODELABEL(dut_spi_dt), SPIM_OP); static const struct device *spis_dev = DEVICE_DT_GET(DT_NODELABEL(dut_spis)); static const struct spi_config spis_config = { .operation = SPIS_OP diff --git a/tests/drivers/spi/spi_loopback/src/spi.c b/tests/drivers/spi/spi_loopback/src/spi.c index 6ca688484a289..9766708a3e0c1 100644 --- a/tests/drivers/spi/spi_loopback/src/spi.c +++ b/tests/drivers/spi/spi_loopback/src/spi.c @@ -35,10 +35,10 @@ SPI_WORD_SET(frame_size) | SPI_LINES_SINGLE #define SPI_FAST_DEV DT_COMPAT_GET_ANY_STATUS_OKAY(test_spi_loopback_fast) -static struct spi_dt_spec spi_fast = SPI_DT_SPEC_GET(SPI_FAST_DEV, SPI_OP(FRAME_SIZE), 0); +static struct spi_dt_spec spi_fast = SPI_DT_SPEC_GET(SPI_FAST_DEV, SPI_OP(FRAME_SIZE)); #define SPI_SLOW_DEV DT_COMPAT_GET_ANY_STATUS_OKAY(test_spi_loopback_slow) -static struct spi_dt_spec spi_slow = SPI_DT_SPEC_GET(SPI_SLOW_DEV, SPI_OP(FRAME_SIZE), 0); +static struct spi_dt_spec spi_slow = SPI_DT_SPEC_GET(SPI_SLOW_DEV, SPI_OP(FRAME_SIZE)); static struct spi_dt_spec *loopback_specs[2] = {&spi_slow, &spi_fast}; static char *spec_names[2] = {"SLOW", "FAST"}; diff --git a/tests/drivers/spi/spi_loopback/src/spi_rtio.c b/tests/drivers/spi/spi_loopback/src/spi_rtio.c index 7792b0b21a303..c6170eef080d2 100644 --- a/tests/drivers/spi/spi_loopback/src/spi_rtio.c +++ b/tests/drivers/spi/spi_loopback/src/spi_rtio.c @@ -30,8 +30,8 @@ LOG_MODULE_REGISTER(spi_rtio_loopback); #define SPI_OP SPI_OP_MODE_MASTER | SPI_MODE_CPOL | MODE_LOOP | \ SPI_MODE_CPHA | SPI_WORD_SET(8) | SPI_LINES_SINGLE -static SPI_DT_IODEV_DEFINE(spi_fast, SPI_FAST_DEV, SPI_OP, 0); -static SPI_DT_IODEV_DEFINE(spi_slow, SPI_FAST_DEV, SPI_OP, 0); +static SPI_DT_IODEV_DEFINE(spi_fast, SPI_FAST_DEV, SPI_OP); +static SPI_DT_IODEV_DEFINE(spi_slow, SPI_FAST_DEV, SPI_OP); RTIO_DEFINE(r, 8, 8); From d80673b76a79b3fcbe5cea67e2fa15e931aad2a6 Mon Sep 17 00:00:00 2001 From: Declan Snyder Date: Wed, 30 Jul 2025 18:20:21 -0500 Subject: [PATCH 4/6] include: drivers: spi.h: Get params from DT - Get bit ordering from DT property in SPI_CONFIG_DT. More precisely, set LSB first if set in DT. - Get CS polarity from DT property in SPI_CONFIG_DT. - Add inter-word delay parameter to spi_config struct. If value is 0, the value will be half of the period. Signed-off-by: Declan Snyder --- include/zephyr/drivers/spi.h | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/include/zephyr/drivers/spi.h b/include/zephyr/drivers/spi.h index a6c56c16c8fbb..48f7558d77e66 100644 --- a/include/zephyr/drivers/spi.h +++ b/include/zephyr/drivers/spi.h @@ -466,8 +466,36 @@ struct spi_config { * if not used). */ struct spi_cs_control cs; + /** + * @brief Delay between SPI words on SCK line in nanoseconds, if supported. + * Value of zero will attempt to use half of the SCK period. + */ + uint16_t word_delay; }; +/** @cond INTERNAL_HIDDEN */ +/* converts from the special DT zero value to half of the frequency, for drivers usage mostly */ +static inline uint16_t spi_get_word_delay(const struct spi_config *cfg) +{ + uint32_t freq = cfg->frequency; + + if (cfg->word_delay != 0) { + return cfg->word_delay; + } + + if (freq == 0) { + return 0; + } + + uint64_t period_ns = NSEC_PER_SEC / freq; + + period_ns = MIN(period_ns, UINT16_MAX); + period_ns /= 2; + + return (uint16_t)period_ns; +} +/** @endcond */ + /** * @brief Structure initializer for spi_config from devicetree * @@ -487,9 +515,12 @@ struct spi_config { DT_PROP(node_id, frame_format) | \ COND_CODE_1(DT_PROP(node_id, spi_cpol), SPI_MODE_CPOL, (0)) | \ COND_CODE_1(DT_PROP(node_id, spi_cpha), SPI_MODE_CPHA, (0)) | \ - COND_CODE_1(DT_PROP(node_id, spi_hold_cs), SPI_HOLD_ON_CS, (0)), \ + COND_CODE_1(DT_PROP(node_id, spi_hold_cs), SPI_HOLD_ON_CS, (0)) | \ + COND_CODE_1(DT_PROP(node_id, spi_lsb_first), SPI_TRANSFER_LSB, (0)) | \ + COND_CODE_1(DT_PROP(node_id, spi_cs_high), SPI_CS_ACTIVE_HIGH, (0)), \ .slave = DT_REG_ADDR(node_id), \ .cs = SPI_CS_CONTROL_INIT(node_id, __VA_ARGS__), \ + .word_delay = DT_PROP(node_id, spi_interframe_delay_ns),\ } /** From 12cf1503f69d2120c9289af33f87a1e4fcae371c Mon Sep 17 00:00:00 2001 From: Declan Snyder Date: Wed, 30 Jul 2025 19:00:14 -0500 Subject: [PATCH 5/6] drivers: spi: nxp_lpspi: Use spi_config timing params Use the timing params from spi_config that are specific to the slave instead of using the same timing for the controller for all slaves. Remove these properties from the LPSPI DT binding. Signed-off-by: Declan Snyder --- .../spi/spi_nxp_lpspi/spi_nxp_lpspi_common.c | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/drivers/spi/spi_nxp_lpspi/spi_nxp_lpspi_common.c b/drivers/spi/spi_nxp_lpspi/spi_nxp_lpspi_common.c index ff7431f0a4c65..e0b31c2dd8bc8 100644 --- a/drivers/spi/spi_nxp_lpspi/spi_nxp_lpspi_common.c +++ b/drivers/spi/spi_nxp_lpspi/spi_nxp_lpspi_common.c @@ -158,16 +158,32 @@ static uint8_t lpspi_calc_delay_scaler(uint32_t desired_delay_ns, } /* returns CCR mask of the bits 8-31 */ -static inline uint32_t lpspi_set_delays(const struct device *dev, uint32_t prescaled_clock) +static inline uint32_t lpspi_set_delays(const struct device *dev, + const struct spi_config *spi_cfg, + uint32_t prescaled_clock) { const struct lpspi_config *config = dev->config; + uint32_t val = 0; + + if (!spi_cs_is_gpio(spi_cfg)) { + uint32_t lead_time_ns = config->pcs_sck_delay > 0 ? + config->pcs_sck_delay : spi_cfg->cs.setup_ns; + uint32_t lag_time_ns = config->sck_pcs_delay > 0 ? + config->sck_pcs_delay : spi_cfg->cs.hold_ns; + + val |= LPSPI_CCR_PCSSCK(lpspi_calc_delay_scaler(lead_time_ns, + prescaled_clock, 1)) | + LPSPI_CCR_SCKPCS(lpspi_calc_delay_scaler(lag_time_ns, + prescaled_clock, 1)); + } + + uint16_t word_delay = config->transfer_delay > 0 ? + (uint16_t)(config->transfer_delay & 0xFFFF) : + spi_get_word_delay(spi_cfg); + + val |= LPSPI_CCR_DBT(lpspi_calc_delay_scaler(word_delay, prescaled_clock, 2)); - return LPSPI_CCR_PCSSCK(lpspi_calc_delay_scaler(config->pcs_sck_delay, - prescaled_clock, 1)) | - LPSPI_CCR_SCKPCS(lpspi_calc_delay_scaler(config->sck_pcs_delay, - prescaled_clock, 1)) | - LPSPI_CCR_DBT(lpspi_calc_delay_scaler(config->transfer_delay, - prescaled_clock, 2)); + return val; } /* This is the equation for the sck frequency given a div and prescaler. */ @@ -324,7 +340,7 @@ int lpspi_configure(const struct device *dev, const struct spi_config *spi_cfg) /* sckdiv algorithm must run *before* delays are set in order to know prescaler */ ccr |= lpspi_set_sckdiv(spi_cfg->frequency, clock_freq, &prescaler); - ccr |= lpspi_set_delays(dev, clock_freq / TWO_EXP(prescaler)); + ccr |= lpspi_set_delays(dev, spi_cfg, clock_freq / TWO_EXP(prescaler)); /* note that not all bits of the register are readable on some platform, * that's why we update it on one write From 42443a87e20663170a92a9dec736cc4501987672 Mon Sep 17 00:00:00 2001 From: Declan Snyder Date: Wed, 30 Jul 2025 19:01:16 -0500 Subject: [PATCH 6/6] tests: spi_loopback: Add timing params to RT1050 overlay Tested case of using these new properties Signed-off-by: Declan Snyder --- .../boards/mimxrt1050_evk_mimxrt1052_hyperflash.overlay | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/drivers/spi/spi_loopback/boards/mimxrt1050_evk_mimxrt1052_hyperflash.overlay b/tests/drivers/spi/spi_loopback/boards/mimxrt1050_evk_mimxrt1052_hyperflash.overlay index 0656adf5073de..fe5f3aa44b86e 100644 --- a/tests/drivers/spi/spi_loopback/boards/mimxrt1050_evk_mimxrt1052_hyperflash.overlay +++ b/tests/drivers/spi/spi_loopback/boards/mimxrt1050_evk_mimxrt1052_hyperflash.overlay @@ -9,11 +9,16 @@ compatible = "test-spi-loopback-slow"; reg = <0>; spi-max-frequency = <500000>; + spi-cs-setup-delay-ns = <1000>; + spi-cs-hold-delay-ns = <1000>; + spi-interframe-delay-ns = <1000>; }; fast@0 { compatible = "test-spi-loopback-fast"; reg = <0>; spi-max-frequency = <16000000>; + spi-cs-setup-delay-ns = <100>; + spi-cs-hold-delay-ns = <100>; }; transfer-delay = <100>;