From e0899d347ee76d2ad614b1fd6c10b06627bb2d32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georgij=20=C4=8Cerny=C5=A1iov?= Date: Sat, 19 Jul 2025 18:05:15 +0200 Subject: [PATCH] drivers: mipi_dbi: stm32: fmc: add bank address property MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The driver gets FMC bank address using `FMC_BANK1_` define. This approach has some flaws: - The parent (bank) register's value might not correspond sequentially to the expected bank number. For example: `STM32_FMC_NOSRAM_BANK3` maps to `FMC_BANK1_4`, instead of `FMC_BANK1_3`. - Some families don't even define the necessary `FMC_BANK1_x` macros. To address this, the commit adds an optional `bank-address` property, providing a direct way to define the FMC bank address for the driver. Signed-off-by: Georgij Černyšiov --- drivers/mipi_dbi/mipi_dbi_stm32_fmc.c | 5 +++-- dts/bindings/mipi-dbi/st,mipi-dbi-fmc.yaml | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/mipi_dbi/mipi_dbi_stm32_fmc.c b/drivers/mipi_dbi/mipi_dbi_stm32_fmc.c index b01f9ae08ba..9dd9a098029 100644 --- a/drivers/mipi_dbi/mipi_dbi_stm32_fmc.c +++ b/drivers/mipi_dbi/mipi_dbi_stm32_fmc.c @@ -182,8 +182,9 @@ static DEVICE_API(mipi_dbi, mipi_dbi_stm32_fmc_driver_api) = { .write_display = mipi_dbi_stm32_fmc_write_display, }; -#define MIPI_DBI_FMC_GET_ADDRESS(n) _CONCAT(FMC_BANK1_, \ - UTIL_INC(DT_REG_ADDR_RAW(DT_INST_PARENT(n)))) +#define MIPI_DBI_FMC_GET_ADDRESS(n) \ + DT_INST_PROP_OR(n, bank_address, \ + _CONCAT(FMC_BANK1_, UTIL_INC(DT_REG_ADDR_RAW(DT_INST_PARENT(n))))) #define MIPI_DBI_FMC_GET_DATA_ADDRESS(n) \ MIPI_DBI_FMC_GET_ADDRESS(n) + (1 << (DT_INST_PROP(n, register_select_pin) + 1)) diff --git a/dts/bindings/mipi-dbi/st,mipi-dbi-fmc.yaml b/dts/bindings/mipi-dbi/st,mipi-dbi-fmc.yaml index 06e2718f1da..74456aa7ad3 100644 --- a/dts/bindings/mipi-dbi/st,mipi-dbi-fmc.yaml +++ b/dts/bindings/mipi-dbi/st,mipi-dbi-fmc.yaml @@ -7,6 +7,11 @@ compatible: "st,stm32-fmc-mipi-dbi" include: ["mipi-dbi-controller.yaml"] properties: + bank-address: + type: int + description: | + Optional property to provide FMC Bank address. + reset-gpios: type: phandle-array description: |