[WIP] stm32 mspi drivers for the MSPI flash and controller #154923
compliance.yml
on: pull_request
Run compliance checks on patch series (PR)
2m 23s
Annotations
3 errors, 11 warnings, and 10 notices
Run compliance checks on patch series (PR)
Process completed with exit code 2.
|
Run compliance checks on patch series (PR):
Checkpatch.txt#L1
See https://docs.zephyrproject.org/latest/contribute/guidelines.html#coding-style for more details.
IF_0: Consider removing the code enclosed by this #if 0 and its #endif
File:drivers/flash/flash_mspi_nor_mx.c
Line:865
LONG_LINE: line length of 109 exceeds 100 columns
File:drivers/flash/flash_mspi_nor_mx.c
Line:870
BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines
File:drivers/flash/flash_mspi_nor_mx.c
Line:896
BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
File:drivers/flash/flash_mspi_nor_mx.c
Line:898
UNNECESSARY_BREAK: break is not useful after a goto or return
File:drivers/mspi/mspi_stm32.c
Line:254
UNNECESSARY_BREAK: break is not useful after a goto or return
File:drivers/mspi/mspi_stm32.c
Line:276
SUSPECT_CODE_INDENT: suspect code indent for conditional statements (8, 24)
File:drivers/mspi/mspi_stm32.c
Line:1163
LONG_LINE: line length of 106 exceeds 100 columns
File:drivers/mspi/mspi_stm32.c
Line:1205
LONG_LINE: line length of 106 exceeds 100 columns
File:drivers/mspi/mspi_stm32.c
Line:1252
SUSPECT_CODE_INDENT: suspect code indent for conditional statements (8, 17)
File:drivers/mspi/mspi_stm32.c
Line:1777
|
Run compliance checks on patch series (PR)
Process completed with exit code 1.
|
IF_0:
drivers/flash/flash_mspi_nor_mx.c#L865
drivers/flash/flash_mspi_nor_mx.c:865 Consider removing the code enclosed by this #if 0 and its #endif
|
LONG_LINE:
drivers/flash/flash_mspi_nor_mx.c#L870
drivers/flash/flash_mspi_nor_mx.c:870 line length of 109 exceeds 100 columns
|
BLOCK_COMMENT_STYLE:
drivers/flash/flash_mspi_nor_mx.c#L896
drivers/flash/flash_mspi_nor_mx.c:896 Block comments use * on subsequent lines
|
BLOCK_COMMENT_STYLE:
drivers/flash/flash_mspi_nor_mx.c#L898
drivers/flash/flash_mspi_nor_mx.c:898 Block comments use a trailing */ on a separate line
|
UNNECESSARY_BREAK:
drivers/mspi/mspi_stm32.c#L254
drivers/mspi/mspi_stm32.c:254 break is not useful after a goto or return
|
UNNECESSARY_BREAK:
drivers/mspi/mspi_stm32.c#L276
drivers/mspi/mspi_stm32.c:276 break is not useful after a goto or return
|
SUSPECT_CODE_INDENT:
drivers/mspi/mspi_stm32.c#L1163
drivers/mspi/mspi_stm32.c:1163 suspect code indent for conditional statements (8, 24)
|
LONG_LINE:
drivers/mspi/mspi_stm32.c#L1205
drivers/mspi/mspi_stm32.c:1205 line length of 106 exceeds 100 columns
|
LONG_LINE:
drivers/mspi/mspi_stm32.c#L1252
drivers/mspi/mspi_stm32.c:1252 line length of 106 exceeds 100 columns
|
SUSPECT_CODE_INDENT:
drivers/mspi/mspi_stm32.c#L1777
drivers/mspi/mspi_stm32.c:1777 suspect code indent for conditional statements (8, 17)
|
Run compliance checks on patch series (PR):
ClangFormat.txt#L1
See https://docs.zephyrproject.org/latest/contribute/guidelines.html#clang-format for more details.
You may want to run clang-format on this change:
-#define NOR_MX_WRITE_SIZE 1
-#define NOR_MX_ERASE_VALUE 0xff
-
-#define NOR_MX_STATUS_MEM_RDY 1
-#define NOR_MX_STATUS_MEM_WREN 2
-#define NOR_MX_STATUS_MEM_ERASED 3
-
-#define NOR_MX_RESET_MAX_TIME 100U
-#define NOR_MX_BULK_ERASE_MAX_TIME 460000U
-#define NOR_MX_SECTOR_ERASE_MAX_TIME 1000U
-#define NOR_MX_SUBSECTOR_4K_ERASE_MAX_TIME 400U
-#define NOR_MX_WRITE_REG_MAX_TIME 40U
+#define NOR_MX_WRITE_SIZE 1
+#define NOR_MX_ERASE_VALUE 0xff
+
+#define NOR_MX_STATUS_MEM_RDY 1
+#define NOR_MX_STATUS_MEM_WREN 2
+#define NOR_MX_STATUS_MEM_ERASED 3
+
+#define NOR_MX_RESET_MAX_TIME 100U
+#define NOR_MX_BULK_ERASE_MAX_TIME 460000U
+#define NOR_MX_SECTOR_ERASE_MAX_TIME 1000U
+#define NOR_MX_SUBSECTOR_4K_ERASE_MAX_TIME 400U
+#define NOR_MX_WRITE_REG_MAX_TIME 40U
File:drivers/flash/flash_mspi_nor_mx.c
Line:44
You may want to run clang-format on this change:
- uint32_t port;
- uint32_t mem_size; /* in Bytes */
- struct flash_parameters flash_param;
- struct flash_pages_layout page_layout;
-
- const struct device *bus;
- struct mspi_dev_id dev_id;
- struct mspi_dev_cfg serial_cfg;
- struct mspi_dev_cfg tar_dev_cfg;
- struct mspi_xip_cfg tar_xip_cfg;
- struct mspi_scramble_cfg tar_scramble_cfg;
-
- mspi_timing_cfg tar_timing_cfg;
- mspi_timing_param timing_cfg_mask;
-
- bool sw_multi_periph;
+ uint32_t port;
+ uint32_t mem_size; /* in Bytes */
+ struct flash_parameters flash_param;
+ struct flash_pages_layout page_layout;
+
+ const struct device *bus;
+ struct mspi_dev_id dev_id;
+ struct mspi_dev_cfg serial_cfg;
+ struct mspi_dev_cfg tar_dev_cfg;
+ struct mspi_xip_cfg tar_xip_cfg;
+ struct mspi_scramble_cfg tar_scramble_cfg;
+
+ mspi_timing_cfg tar_timing_cfg;
+ mspi_timing_param timing_cfg_mask;
+
+ bool sw_multi_periph;
};
struct flash_mspi_nor_mx_data {
- struct mspi_dev_cfg dev_cfg;
- struct mspi_xip_cfg xip_cfg;
- struct mspi_scramble_cfg scramble_cfg;
- mspi_timing_cfg timing_cfg;
- struct mspi_xfer trans;
- struct mspi_xfer_packet packet;
-
- struct k_sem lock;
+ struct mspi_dev_cfg dev_cfg;
+ struct mspi_xip_cfg xip_cfg;
+ struct mspi_scramble_cfg scramble_cfg;
+ mspi_timing_cfg timing_cfg;
+ struct mspi_xfer trans;
+ struct mspi_xfer_packet packet;
+
+ struct k_sem lock;
uint8_t jedec_id[JESD216_READ_ID_LEN];
};
-static bool flash_mspi_nor_mx_address_is_valid(const struct device *dev, off_t addr,
- size_t size)
+static bool flash_mspi_nor_mx_address_is_valid(const struct device *dev, off_t addr, size_t size)
File:drivers/flash/flash_mspi_nor_mx.c
Line:89
You may want to run clang-format on this change:
- uint16_t addr_len, uint32_t tx_dummy, uint8_t *wdata,
- uint32_t length)
-{
- const struct flash_mspi_nor_mx_config *cfg = flash->config;
- struct flash_mspi_nor_mx_data *data = flash->data;
- int ret;
-
- data->packet.dir = MSPI_TX;
- data->packet.cmd = cmd;
- data->packet.address = addr;
- data->packet.data_buf = wdata;
- data->packet.num_bytes = length;
-
- data->trans.async = false; /* meaning : timeout mode */
- data->trans.xfer_mode = MSPI_PIO; /* command_write is always in PIO mode */
- data->trans.tx_dummy = tx_dummy;
- data->trans.cmd_length = 1;
- data->trans.addr_length = addr_len;
- data->trans.hold_ce = false;
- data->trans.packets = &data->packet;
- data->trans.num_packet = 1;
- data->trans.timeout = 10;
+ uint16_t addr_len, uint32_t tx_dummy, uint8_t *wdata,
+ uint32_t length)
+{
+ co
|
You may want to run clang-format on this change:
drivers/flash/flash_mspi_nor_mx.c#L44
drivers/flash/flash_mspi_nor_mx.c:44
-#define NOR_MX_WRITE_SIZE 1
-#define NOR_MX_ERASE_VALUE 0xff
-
-#define NOR_MX_STATUS_MEM_RDY 1
-#define NOR_MX_STATUS_MEM_WREN 2
-#define NOR_MX_STATUS_MEM_ERASED 3
-
-#define NOR_MX_RESET_MAX_TIME 100U
-#define NOR_MX_BULK_ERASE_MAX_TIME 460000U
-#define NOR_MX_SECTOR_ERASE_MAX_TIME 1000U
-#define NOR_MX_SUBSECTOR_4K_ERASE_MAX_TIME 400U
-#define NOR_MX_WRITE_REG_MAX_TIME 40U
+#define NOR_MX_WRITE_SIZE 1
+#define NOR_MX_ERASE_VALUE 0xff
+
+#define NOR_MX_STATUS_MEM_RDY 1
+#define NOR_MX_STATUS_MEM_WREN 2
+#define NOR_MX_STATUS_MEM_ERASED 3
+
+#define NOR_MX_RESET_MAX_TIME 100U
+#define NOR_MX_BULK_ERASE_MAX_TIME 460000U
+#define NOR_MX_SECTOR_ERASE_MAX_TIME 1000U
+#define NOR_MX_SUBSECTOR_4K_ERASE_MAX_TIME 400U
+#define NOR_MX_WRITE_REG_MAX_TIME 40U
|
You may want to run clang-format on this change:
drivers/flash/flash_mspi_nor_mx.c#L89
drivers/flash/flash_mspi_nor_mx.c:89
- uint32_t port;
- uint32_t mem_size; /* in Bytes */
- struct flash_parameters flash_param;
- struct flash_pages_layout page_layout;
-
- const struct device *bus;
- struct mspi_dev_id dev_id;
- struct mspi_dev_cfg serial_cfg;
- struct mspi_dev_cfg tar_dev_cfg;
- struct mspi_xip_cfg tar_xip_cfg;
- struct mspi_scramble_cfg tar_scramble_cfg;
-
- mspi_timing_cfg tar_timing_cfg;
- mspi_timing_param timing_cfg_mask;
-
- bool sw_multi_periph;
+ uint32_t port;
+ uint32_t mem_size; /* in Bytes */
+ struct flash_parameters flash_param;
+ struct flash_pages_layout page_layout;
+
+ const struct device *bus;
+ struct mspi_dev_id dev_id;
+ struct mspi_dev_cfg serial_cfg;
+ struct mspi_dev_cfg tar_dev_cfg;
+ struct mspi_xip_cfg tar_xip_cfg;
+ struct mspi_scramble_cfg tar_scramble_cfg;
+
+ mspi_timing_cfg tar_timing_cfg;
+ mspi_timing_param timing_cfg_mask;
+
+ bool sw_multi_periph;
};
struct flash_mspi_nor_mx_data {
- struct mspi_dev_cfg dev_cfg;
- struct mspi_xip_cfg xip_cfg;
- struct mspi_scramble_cfg scramble_cfg;
- mspi_timing_cfg timing_cfg;
- struct mspi_xfer trans;
- struct mspi_xfer_packet packet;
-
- struct k_sem lock;
+ struct mspi_dev_cfg dev_cfg;
+ struct mspi_xip_cfg xip_cfg;
+ struct mspi_scramble_cfg scramble_cfg;
+ mspi_timing_cfg timing_cfg;
+ struct mspi_xfer trans;
+ struct mspi_xfer_packet packet;
+
+ struct k_sem lock;
uint8_t jedec_id[JESD216_READ_ID_LEN];
};
-static bool flash_mspi_nor_mx_address_is_valid(const struct device *dev, off_t addr,
- size_t size)
+static bool flash_mspi_nor_mx_address_is_valid(const struct device *dev, off_t addr, size_t size)
|
You may want to run clang-format on this change:
drivers/flash/flash_mspi_nor_mx.c#L153
drivers/flash/flash_mspi_nor_mx.c:153
- uint16_t addr_len, uint32_t tx_dummy, uint8_t *wdata,
- uint32_t length)
-{
- const struct flash_mspi_nor_mx_config *cfg = flash->config;
- struct flash_mspi_nor_mx_data *data = flash->data;
- int ret;
-
- data->packet.dir = MSPI_TX;
- data->packet.cmd = cmd;
- data->packet.address = addr;
- data->packet.data_buf = wdata;
- data->packet.num_bytes = length;
-
- data->trans.async = false; /* meaning : timeout mode */
- data->trans.xfer_mode = MSPI_PIO; /* command_write is always in PIO mode */
- data->trans.tx_dummy = tx_dummy;
- data->trans.cmd_length = 1;
- data->trans.addr_length = addr_len;
- data->trans.hold_ce = false;
- data->trans.packets = &data->packet;
- data->trans.num_packet = 1;
- data->trans.timeout = 10;
+ uint16_t addr_len, uint32_t tx_dummy, uint8_t *wdata,
+ uint32_t length)
+{
+ const struct flash_mspi_nor_mx_config *cfg = flash->config;
+ struct flash_mspi_nor_mx_data *data = flash->data;
+ int ret;
+
+ data->packet.dir = MSPI_TX;
+ data->packet.cmd = cmd;
+ data->packet.address = addr;
+ data->packet.data_buf = wdata;
+ data->packet.num_bytes = length;
+
+ data->trans.async = false; /* meaning : timeout mode */
+ data->trans.xfer_mode = MSPI_PIO; /* command_write is always in PIO mode */
+ data->trans.tx_dummy = tx_dummy;
+ data->trans.cmd_length = 1;
+ data->trans.addr_length = addr_len;
+ data->trans.hold_ce = false;
+ data->trans.packets = &data->packet;
+ data->trans.num_packet = 1;
+ data->trans.timeout = 10;
|
You may want to run clang-format on this change:
drivers/flash/flash_mspi_nor_mx.c#L189
drivers/flash/flash_mspi_nor_mx.c:189
- uint16_t addr_len, uint32_t rx_dummy, uint8_t *rdata,
- uint32_t length)
-{
- const struct flash_mspi_nor_mx_config *cfg = flash->config;
- struct flash_mspi_nor_mx_data *data = flash->data;
- int ret;
-
- data->packet.dir = MSPI_RX;
- data->packet.cmd = cmd;
- data->packet.address = addr;
- data->packet.data_buf = rdata;
- data->packet.num_bytes = length;
-
- data->trans.async = false; /* meaning : timeout mode */
- data->trans.xfer_mode = MSPI_PIO; /* command_read is always in PIO mode */
- data->trans.rx_dummy = rx_dummy;
- data->trans.cmd_length = 1;
- data->trans.addr_length = addr_len;
- data->trans.hold_ce = false;
- data->trans.packets = &data->packet;
- data->trans.num_packet = 1;
- data->trans.timeout = 10;
+ uint16_t addr_len, uint32_t rx_dummy, uint8_t *rdata,
+ uint32_t length)
+{
+ const struct flash_mspi_nor_mx_config *cfg = flash->config;
+ struct flash_mspi_nor_mx_data *data = flash->data;
+ int ret;
+
+ data->packet.dir = MSPI_RX;
+ data->packet.cmd = cmd;
+ data->packet.address = addr;
+ data->packet.data_buf = rdata;
+ data->packet.num_bytes = length;
+
+ data->trans.async = false; /* meaning : timeout mode */
+ data->trans.xfer_mode = MSPI_PIO; /* command_read is always in PIO mode */
+ data->trans.rx_dummy = rx_dummy;
+ data->trans.cmd_length = 1;
+ data->trans.addr_length = addr_len;
+ data->trans.hold_ce = false;
+ data->trans.packets = &data->packet;
+ data->trans.num_packet = 1;
+ data->trans.timeout = 10;
|
You may want to run clang-format on this change:
drivers/flash/flash_mspi_nor_mx.c#L220
drivers/flash/flash_mspi_nor_mx.c:220
- uint8_t status_config[2];/* index 0 for Match, index 1 for MASK */
-
- data->packet.dir = MSPI_TX; /* a command to be sent */
- data->packet.cmd = SPI_NOR_CMD_RDSR; /* SPI/STR */
- data->packet.address = 0;
-
- data->trans.num_packet = 1; /* 1 in STR; 2 in DTR */
- data->trans.async = true; /* IT mode */
- data->trans.xfer_mode = MSPI_REG; /* command is always in PIO mode */
- data->trans.tx_dummy = 0;
- data->trans.cmd_length = 1;
- data->trans.addr_length = 0;
- data->trans.hold_ce = false;
+ uint8_t status_config[2]; /* index 0 for Match, index 1 for MASK */
+
+ data->packet.dir = MSPI_TX; /* a command to be sent */
+ data->packet.cmd = SPI_NOR_CMD_RDSR; /* SPI/STR */
+ data->packet.address = 0;
+
+ data->trans.num_packet = 1; /* 1 in STR; 2 in DTR */
+ data->trans.async = true; /* IT mode */
+ data->trans.xfer_mode = MSPI_REG; /* command is always in PIO mode */
+ data->trans.tx_dummy = 0;
+ data->trans.cmd_length = 1;
+ data->trans.addr_length = 0;
+ data->trans.hold_ce = false;
|
You may want to run clang-format on this change:
drivers/flash/flash_mspi_nor_mx.c#L244
drivers/flash/flash_mspi_nor_mx.c:244
- data->packet.data_buf = status_config;
- data->packet.num_bytes = sizeof(status_config);
+ data->packet.data_buf = status_config;
+ data->packet.num_bytes = sizeof(status_config);
|
You may want to run clang-format on this change:
drivers/flash/flash_mspi_nor_mx.c#L272
drivers/flash/flash_mspi_nor_mx.c:272
- while (mspi_dev_config(cfg->bus, &cfg->dev_id,
- MSPI_DEVICE_CONFIG_ALL, &data->dev_cfg))
+ while (mspi_dev_config(cfg->bus, &cfg->dev_id, MSPI_DEVICE_CONFIG_ALL,
+ &data->dev_cfg))
;
} else {
- while (mspi_dev_config(cfg->bus, &cfg->dev_id,
- MSPI_DEVICE_CONFIG_NONE, NULL))
+ while (mspi_dev_config(cfg->bus, &cfg->dev_id, MSPI_DEVICE_CONFIG_NONE, NULL))
;
-
|
You may want to run clang-format on this change:
drivers/flash/flash_mspi_nor_mx.c#L350
drivers/flash/flash_mspi_nor_mx.c:350
- ret = flash_mspi_nor_mx_command_read(flash, SPI_NOR_CMD_RDID, 0, 4,
- data->dev_cfg.rx_dummy,
- buffer,
- JESD216_READ_ID_LEN);
+ ret = flash_mspi_nor_mx_command_read(flash, SPI_NOR_CMD_RDID, 0, 4, data->dev_cfg.rx_dummy,
+ buffer, JESD216_READ_ID_LEN);
|
You may want to run clang-format on this change:
drivers/flash/flash_mspi_nor_mx.c#L359
drivers/flash/flash_mspi_nor_mx.c:359
- LOG_DBG("Jedec ID = [%02x %02x %02x]",
- data->jedec_id[0], data->jedec_id[1], data->jedec_id[2]);
+ LOG_DBG("Jedec ID = [%02x %02x %02x]", data->jedec_id[0], data->jedec_id[1],
+ data->jedec_id[2]);
|
You may want to run clang-format on this change:
drivers/flash/flash_mspi_nor_mx.c#L445
drivers/flash/flash_mspi_nor_mx.c:445
- size_t len)
-{
- const struct flash_mspi_nor_mx_config *cfg = flash->config;
- struct flash_mspi_nor_mx_data *data = flash->data;
- int ret;
-
- data->packet.dir = MSPI_TX;
- data->packet.cmd = data->dev_cfg.write_cmd;
- data->packet.address = offset;
- data->packet.data_buf = wdata;
- data->packet.num_bytes = len;
-
- data->trans.async = true; /* use callback on Irq if PIO, meaningless with DMA */
- data->trans.xfer_mode = MSPI_PIO; /* TODO : transfer with DMA */
- data->trans.tx_dummy = data->dev_cfg.tx_dummy;
- data->trans.cmd_length = data->dev_cfg.cmd_length;
- data->trans.addr_length = data->dev_cfg.addr_length;
- data->trans.hold_ce = false;
- data->trans.priority = 1;
- data->trans.packets = &data->packet;
- data->trans.num_packet = 1;
- data->trans.timeout = CONFIG_MSPI_COMPLETION_TIMEOUT_TOLERANCE;
+ size_t len)
+{
+ const struct flash_mspi_nor_mx_config *cfg = flash->config;
+ struct flash_mspi_nor_mx_data *data = flash->data;
+ int ret;
+
+ data->packet.dir = MSPI_TX;
+ data->packet.cmd = data->dev_cfg.write_cmd;
+ data->packet.address = offset;
+ data->packet.data_buf = wdata;
+ data->packet.num_bytes = len;
+
+ data->trans.async = true; /* use callback on Irq if PIO, meaningless with DMA */
+ data->trans.xfer_mode = MSPI_PIO; /* TODO : transfer with DMA */
+ data->trans.tx_dummy = data->dev_cfg.tx_dummy;
+ data->trans.cmd_length = data->dev_cfg.cmd_length;
+ data->trans.addr_length = data->dev_cfg.addr_length;
+ data->trans.hold_ce = false;
+ data->trans.priority = 1;
+ data->trans.packets = &data->packet;
+ data->trans.num_packet = 1;
+ data->trans.timeout = CONFIG_MSPI_COMPLETION_TIMEOUT_TOLERANCE;
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
compliance.xml
|
16.5 KB |
|