[PATCH 1/3] mtd: kconfig: Fix CFI_FLASH dependency

The DM version CFI flash driver is in driver/mtd/cfi_flash.c, which only gets built when FLASH_CFI_DRIVER is on. If CFI_FLASH is on but FLASH_CFI_DRIVER is not, nothing is enabled at all.
Fix this dependency by selecting FLASH_CFI_DRIVER when CFI_FLASH is enabled.
Signed-off-by: Bin Meng bmeng.cn@gmail.com ---
drivers/mtd/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig index ad50c5e870..b303fabe0f 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig @@ -42,6 +42,7 @@ config FLASH_CFI_DRIVER config CFI_FLASH bool "Enable Driver Model for CFI Flash driver" depends on DM_MTD + select FLASH_CFI_DRIVER help The Common Flash Interface specification was developed by Intel, AMD and other flash manufactures. It provides a universal method

Those embers wrapped with CONFIG_SYS_FLASH_CFI in struct flash_info_t are unconditionally used in the cfi_flash.c driver.
Drop the #ifdefs in the definition of flash_info_t.
Signed-off-by: Bin Meng bmeng.cn@gmail.com ---
include/flash.h | 2 -- 1 file changed, 2 deletions(-)
diff --git a/include/flash.h b/include/flash.h index 42b18a6047..f3959f5012 100644 --- a/include/flash.h +++ b/include/flash.h @@ -21,7 +21,6 @@ typedef struct { ulong flash_id; /* combined device & manufacturer code */ ulong start[CONFIG_SYS_MAX_FLASH_SECT]; /* virtual sector start address */ uchar protect[CONFIG_SYS_MAX_FLASH_SECT]; /* sector protection status */ -#ifdef CONFIG_SYS_FLASH_CFI uchar portwidth; /* the width of the port */ uchar chipwidth; /* the width of the chip */ uchar chip_lsb; /* extra Least Significant Bit in the */ @@ -45,7 +44,6 @@ typedef struct { ulong addr_unlock2; /* unlock address 2 for AMD flash roms */ uchar sr_supported; /* status register supported */ const char *name; /* human-readable name */ -#endif #ifdef CONFIG_DM_MTD struct mtd_info *mtd; #endif

On 07.08.21 07:00, Bin Meng wrote:
Those embers wrapped with CONFIG_SYS_FLASH_CFI in struct flash_info_t are unconditionally used in the cfi_flash.c driver.
Drop the #ifdefs in the definition of flash_info_t.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan
include/flash.h | 2 -- 1 file changed, 2 deletions(-)
diff --git a/include/flash.h b/include/flash.h index 42b18a6047..f3959f5012 100644 --- a/include/flash.h +++ b/include/flash.h @@ -21,7 +21,6 @@ typedef struct { ulong flash_id; /* combined device & manufacturer code */ ulong start[CONFIG_SYS_MAX_FLASH_SECT]; /* virtual sector start address */ uchar protect[CONFIG_SYS_MAX_FLASH_SECT]; /* sector protection status */ -#ifdef CONFIG_SYS_FLASH_CFI uchar portwidth; /* the width of the port */ uchar chipwidth; /* the width of the chip */ uchar chip_lsb; /* extra Least Significant Bit in the */ @@ -45,7 +44,6 @@ typedef struct { ulong addr_unlock2; /* unlock address 2 for AMD flash roms */ uchar sr_supported; /* status register supported */ const char *name; /* human-readable name */ -#endif #ifdef CONFIG_DM_MTD struct mtd_info *mtd; #endif
Viele Grüße, Stefan

On 07.08.21 07:00, Bin Meng wrote:
Those embers wrapped with CONFIG_SYS_FLASH_CFI in struct flash_info_t are unconditionally used in the cfi_flash.c driver.
Drop the #ifdefs in the definition of flash_info_t.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
Applied to u-boot-cfi-flash/master
Thanks, Stefan
include/flash.h | 2 -- 1 file changed, 2 deletions(-)
diff --git a/include/flash.h b/include/flash.h index 42b18a6047..f3959f5012 100644 --- a/include/flash.h +++ b/include/flash.h @@ -21,7 +21,6 @@ typedef struct { ulong flash_id; /* combined device & manufacturer code */ ulong start[CONFIG_SYS_MAX_FLASH_SECT]; /* virtual sector start address */ uchar protect[CONFIG_SYS_MAX_FLASH_SECT]; /* sector protection status */ -#ifdef CONFIG_SYS_FLASH_CFI uchar portwidth; /* the width of the port */ uchar chipwidth; /* the width of the chip */ uchar chip_lsb; /* extra Least Significant Bit in the */ @@ -45,7 +44,6 @@ typedef struct { ulong addr_unlock2; /* unlock address 2 for AMD flash roms */ uchar sr_supported; /* status register supported */ const char *name; /* human-readable name */ -#endif #ifdef CONFIG_DM_MTD struct mtd_info *mtd; #endif
Viele Grüße, Stefan

Enable support to the 2 NOR flashes on the QEMU RISC-V virt machine.
Signed-off-by: Bin Meng bmeng.cn@gmail.com ---
board/emulation/qemu-riscv/Kconfig | 2 ++ include/configs/qemu-riscv.h | 2 ++ 2 files changed, 4 insertions(+)
diff --git a/board/emulation/qemu-riscv/Kconfig b/board/emulation/qemu-riscv/Kconfig index 0818048ba6..a7de82d3bf 100644 --- a/board/emulation/qemu-riscv/Kconfig +++ b/board/emulation/qemu-riscv/Kconfig @@ -64,5 +64,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy imply VIRTIO_PCI imply VIRTIO_NET imply VIRTIO_BLK + imply MTD_NOR_FLASH + imply CFI_FLASH
endif diff --git a/include/configs/qemu-riscv.h b/include/configs/qemu-riscv.h index 5291de83f8..bbeea96e27 100644 --- a/include/configs/qemu-riscv.h +++ b/include/configs/qemu-riscv.h @@ -29,6 +29,8 @@
#define CONFIG_STANDALONE_LOAD_ADDR 0x80200000
+#define CONFIG_SYS_MAX_FLASH_BANKS 2 + #define RISCV_MMODE_TIMERBASE 0x2000000 #define RISCV_MMODE_TIMER_FREQ 1000000

On 07.08.21 07:00, Bin Meng wrote:
Enable support to the 2 NOR flashes on the QEMU RISC-V virt machine.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan
board/emulation/qemu-riscv/Kconfig | 2 ++ include/configs/qemu-riscv.h | 2 ++ 2 files changed, 4 insertions(+)
diff --git a/board/emulation/qemu-riscv/Kconfig b/board/emulation/qemu-riscv/Kconfig index 0818048ba6..a7de82d3bf 100644 --- a/board/emulation/qemu-riscv/Kconfig +++ b/board/emulation/qemu-riscv/Kconfig @@ -64,5 +64,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy imply VIRTIO_PCI imply VIRTIO_NET imply VIRTIO_BLK
imply MTD_NOR_FLASH
imply CFI_FLASH
endif
diff --git a/include/configs/qemu-riscv.h b/include/configs/qemu-riscv.h index 5291de83f8..bbeea96e27 100644 --- a/include/configs/qemu-riscv.h +++ b/include/configs/qemu-riscv.h @@ -29,6 +29,8 @@
#define CONFIG_STANDALONE_LOAD_ADDR 0x80200000
+#define CONFIG_SYS_MAX_FLASH_BANKS 2
- #define RISCV_MMODE_TIMERBASE 0x2000000 #define RISCV_MMODE_TIMER_FREQ 1000000
Viele Grüße, Stefan

On 07.08.21 07:00, Bin Meng wrote:
Enable support to the 2 NOR flashes on the QEMU RISC-V virt machine.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
Applied to u-boot-cfi-flash/master
Thanks, Stefan
board/emulation/qemu-riscv/Kconfig | 2 ++ include/configs/qemu-riscv.h | 2 ++ 2 files changed, 4 insertions(+)
diff --git a/board/emulation/qemu-riscv/Kconfig b/board/emulation/qemu-riscv/Kconfig index 0818048ba6..a7de82d3bf 100644 --- a/board/emulation/qemu-riscv/Kconfig +++ b/board/emulation/qemu-riscv/Kconfig @@ -64,5 +64,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy imply VIRTIO_PCI imply VIRTIO_NET imply VIRTIO_BLK
imply MTD_NOR_FLASH
imply CFI_FLASH
endif
diff --git a/include/configs/qemu-riscv.h b/include/configs/qemu-riscv.h index 5291de83f8..bbeea96e27 100644 --- a/include/configs/qemu-riscv.h +++ b/include/configs/qemu-riscv.h @@ -29,6 +29,8 @@
#define CONFIG_STANDALONE_LOAD_ADDR 0x80200000
+#define CONFIG_SYS_MAX_FLASH_BANKS 2
- #define RISCV_MMODE_TIMERBASE 0x2000000 #define RISCV_MMODE_TIMER_FREQ 1000000
Viele Grüße, Stefan

On 07.08.21 07:00, Bin Meng wrote:
The DM version CFI flash driver is in driver/mtd/cfi_flash.c, which only gets built when FLASH_CFI_DRIVER is on. If CFI_FLASH is on but FLASH_CFI_DRIVER is not, nothing is enabled at all.
Fix this dependency by selecting FLASH_CFI_DRIVER when CFI_FLASH is enabled.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan
drivers/mtd/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig index ad50c5e870..b303fabe0f 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig @@ -42,6 +42,7 @@ config FLASH_CFI_DRIVER config CFI_FLASH bool "Enable Driver Model for CFI Flash driver" depends on DM_MTD
- select FLASH_CFI_DRIVER help The Common Flash Interface specification was developed by Intel, AMD and other flash manufactures. It provides a universal method
Viele Grüße, Stefan

On 07.08.21 07:00, Bin Meng wrote:
The DM version CFI flash driver is in driver/mtd/cfi_flash.c, which only gets built when FLASH_CFI_DRIVER is on. If CFI_FLASH is on but FLASH_CFI_DRIVER is not, nothing is enabled at all.
Fix this dependency by selecting FLASH_CFI_DRIVER when CFI_FLASH is enabled.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
Applied to u-boot-cfi-flash/master
Thanks, Stefan
drivers/mtd/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig index ad50c5e870..b303fabe0f 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig @@ -42,6 +42,7 @@ config FLASH_CFI_DRIVER config CFI_FLASH bool "Enable Driver Model for CFI Flash driver" depends on DM_MTD
- select FLASH_CFI_DRIVER help The Common Flash Interface specification was developed by Intel, AMD and other flash manufactures. It provides a universal method
Viele Grüße, Stefan
participants (2)
-
Bin Meng
-
Stefan Roese