diff --git a/devices/common_patches/fsmc/fsmc_bcr.yaml b/devices/common_patches/fsmc/fsmc_bcr.yaml new file mode 100644 index 000000000..ead3167ac --- /dev/null +++ b/devices/common_patches/fsmc/fsmc_bcr.yaml @@ -0,0 +1,8 @@ +"FMC,FSMC": + "BCR[2-4]": + _modify: + FMCEN: + access: read-only + BMAP: + access: read-only + diff --git a/devices/common_patches/fsmc/fsmc_nand_pio.yaml b/devices/common_patches/fsmc/fsmc_nand_pio.yaml new file mode 100644 index 000000000..d4e6adfdc --- /dev/null +++ b/devices/common_patches/fsmc/fsmc_nand_pio.yaml @@ -0,0 +1,11 @@ +"FMC,FSMC": + "PIO?": + _modify: + IOHIZx: + name: IOHIZ + IOHOLDx: + name: IOHOLD + IOWAITx: + name: IOWAIT + IOSETx: + name: IOSET diff --git a/devices/common_patches/fsmc/fsmc_sramfix_v3.yaml b/devices/common_patches/fsmc/fsmc_sramfix_v3.yaml index 696421760..ae577d9bc 100644 --- a/devices/common_patches/fsmc/fsmc_sramfix_v3.yaml +++ b/devices/common_patches/fsmc/fsmc_sramfix_v3.yaml @@ -1,6 +1,4 @@ -_include: - - ./fsmc_sramfix_common.yaml - +# TODO: rename? "FMC,FSMC": BCR1: _add: diff --git a/devices/stm32f100.yaml b/devices/stm32f100.yaml index e763e4737..1dab35bce 100644 --- a/devices/stm32f100.yaml +++ b/devices/stm32f100.yaml @@ -18,8 +18,10 @@ _include: - ./common_patches/rcc/f1_uart45.yaml - ./common_patches/i2c/merge_OAR1_ADDx_fields.yaml - common_patches/fsmc/fsmc_sram.yaml + - common_patches/fsmc/fsmc_sramfix_common.yaml - common_patches/fsmc/fsmc_sramfix_v3.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - common_patches/bkp/bkp.yaml - ../peripherals/bkp/bkp.yaml - ../peripherals/dac/dac_wavegen.yaml diff --git a/devices/stm32f101.yaml b/devices/stm32f101.yaml index a91ed5cc5..8daa7ef78 100644 --- a/devices/stm32f101.yaml +++ b/devices/stm32f101.yaml @@ -55,6 +55,7 @@ _include: - common_patches/fsmc/fsmc_sram.yaml - common_patches/fsmc/fsmc_sramfix_v3.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ../peripherals/dac/dac_wavegen.yaml - ../peripherals/dac/dac_common_2ch.yaml - ../peripherals/crc/crc_basic.yaml @@ -73,6 +74,7 @@ _include: - ../peripherals/tim/tim_advanced.yaml - common_patches/tim/tim_ccr.yaml - ../peripherals/tim/v1/ccm.yaml + - common_patches/fsmc/fsmc_sramfix_common.yaml - ../peripherals/usart/uart_common.yaml - ../peripherals/usart/uart_uart.yaml - ../peripherals/usart/uart_usart.yaml diff --git a/devices/stm32f102.yaml b/devices/stm32f102.yaml index 63adfb8da..6cf9cfb04 100644 --- a/devices/stm32f102.yaml +++ b/devices/stm32f102.yaml @@ -99,8 +99,10 @@ _include: - common_patches/can/can.yaml - common_patches/can/can_filter_bank.yaml - common_patches/fsmc/fsmc_sram.yaml + - common_patches/fsmc/fsmc_sramfix_common.yaml - common_patches/fsmc/fsmc_sramfix_v3.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ../peripherals/dac/dac_wavegen.yaml - ../peripherals/dac/dac_common_2ch.yaml - ../peripherals/dac/dac_dmaudr.yaml diff --git a/devices/stm32f103.yaml b/devices/stm32f103.yaml index 07cb859bd..1ed3d6c7e 100644 --- a/devices/stm32f103.yaml +++ b/devices/stm32f103.yaml @@ -58,8 +58,10 @@ _include: - common_patches/can/can_filter_bank.yaml - ../peripherals/can/can.yaml - common_patches/fsmc/fsmc_sram.yaml + - common_patches/fsmc/fsmc_sramfix_common.yaml - common_patches/fsmc/fsmc_sramfix_v3.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ../peripherals/dac/dac_wavegen.yaml - ../peripherals/dac/dac_common_2ch.yaml - ../peripherals/crc/crc_basic.yaml diff --git a/devices/stm32f215.yaml b/devices/stm32f215.yaml index a567aeec1..4d1c3554a 100644 --- a/devices/stm32f215.yaml +++ b/devices/stm32f215.yaml @@ -50,10 +50,14 @@ _include: - common_patches/cryp/cryp_v1.yaml - common_patches/rcc/f2.yaml - common_patches/fsmc/fsmc_sram.yaml + - common_patches/fsmc/fsmc_sramfix_common.yaml - common_patches/fsmc/fsmc_sramfix_v3.yaml - common_patches/fsmc/fsmc_nand_v1.yaml + - common_patches/fsmc/fsmc_nand_pio.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - common_patches/ethernet/f2_f4.yaml - common_patches/ethernet/mmc.yaml - ../peripherals/dac/dac_wavegen.yaml diff --git a/devices/stm32f217.yaml b/devices/stm32f217.yaml index 59c67f7bb..ba0cb2243 100644 --- a/devices/stm32f217.yaml +++ b/devices/stm32f217.yaml @@ -49,10 +49,15 @@ _include: - common_patches/cryp/cryp_v1.yaml - common_patches/rcc/f2.yaml - common_patches/fsmc/fsmc_sram.yaml + - common_patches/fsmc/fsmc_sramfix_common.yaml - common_patches/fsmc/fsmc_sramfix_v3.yaml - common_patches/fsmc/fsmc_nand_v1.yaml + - common_patches/fsmc/fsmc_nand_pio.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml + - ../peripherals/fsmc/fsmc_pio.yaml - common_patches/ethernet/f2_f4.yaml - common_patches/ethernet/mmc.yaml - ../peripherals/dac/dac_wavegen.yaml diff --git a/devices/stm32f302.yaml b/devices/stm32f302.yaml index 19a3d7697..97f368238 100644 --- a/devices/stm32f302.yaml +++ b/devices/stm32f302.yaml @@ -133,6 +133,16 @@ _include: - common_patches/can/can.yaml - common_patches/can/can_filter_bank.yaml - ../peripherals/can/can.yaml + - common_patches/fsmc/fsmc_nand_v1.yaml + - common_patches/fsmc/fsmc_nand_pio.yaml + - common_patches/fsmc/fsmc_sramfix_v3.yaml + - common_patches/fsmc/fsmc_sramfix_v3.yaml + - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml + - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml + - ../peripherals/fsmc/fsmc_wrapmod.yaml + - ../peripherals/fsmc/fsmc_pio.yaml - ./common_patches/usb/rename_USB_FS_peripheral_to_USB.yaml - ./common_patches/usb/unprefix_registers.yaml - ../peripherals/dac/dac_wavegen.yaml diff --git a/devices/stm32f303.yaml b/devices/stm32f303.yaml index 157a2d2c9..9c69c6fb0 100644 --- a/devices/stm32f303.yaml +++ b/devices/stm32f303.yaml @@ -36,6 +36,14 @@ _add: derivedFrom: DAC1 baseAddress: "0x40009800" +# TODO: description +FMC: + # Delete DATLAT and CLKDIV fields from BWTR1, BWTR2, BWTR3, BWTR4 + "BWTR?": + _delete: + - DATLAT + - CLKDIV + - BUSTURN RCC: APB1RSTR: @@ -131,6 +139,15 @@ _include: - common_patches/can/can.yaml - common_patches/can/can_filter_bank.yaml - ../peripherals/can/can.yaml + - common_patches/fsmc/fsmc_nand_v1.yaml + - common_patches/fsmc/fsmc_nand_pio.yaml + - common_patches/fsmc/fsmc_sramfix_v3.yaml + - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml + - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml + - ../peripherals/fsmc/fsmc_wrapmod.yaml + - ../peripherals/fsmc/fsmc_pio.yaml - ./common_patches/usb/rename_USB_FS_peripheral_to_USB.yaml - ./common_patches/usb/unprefix_registers.yaml - ../peripherals/dac/dac_wavegen.yaml diff --git a/devices/stm32f405.yaml b/devices/stm32f405.yaml index e7371b553..8749ba872 100644 --- a/devices/stm32f405.yaml +++ b/devices/stm32f405.yaml @@ -121,10 +121,13 @@ _include: - common_patches/sai/sai_v2.yaml - common_patches/rcc/rename_plli2scfgr.yaml - common_patches/fsmc/fsmc_sram.yaml + - common_patches/fsmc/fsmc_sramfix_common.yaml - common_patches/fsmc/fsmc_sramfix_v3.yaml - common_patches/fsmc/fsmc_nand_v1.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/dac/dac_wavegen.yaml - ../peripherals/dac/dac_common_2ch.yaml - ../peripherals/dac/dac_dmaudr.yaml diff --git a/devices/stm32f407.yaml b/devices/stm32f407.yaml index 717645ae2..771126824 100644 --- a/devices/stm32f407.yaml +++ b/devices/stm32f407.yaml @@ -80,10 +80,13 @@ _include: - common_patches/sai/sai_v2.yaml - common_patches/rcc/rename_plli2scfgr.yaml - common_patches/fsmc/fsmc_sram.yaml + - common_patches/fsmc/fsmc_sramfix_common.yaml - common_patches/fsmc/fsmc_sramfix_v3.yaml - common_patches/fsmc/fsmc_nand_v1.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/dac/dac_wavegen.yaml - ../peripherals/dac/dac_common_2ch.yaml - ../peripherals/dac/dac_dmaudr.yaml diff --git a/devices/stm32f412.yaml b/devices/stm32f412.yaml index e30e79002..97fe17802 100644 --- a/devices/stm32f412.yaml +++ b/devices/stm32f412.yaml @@ -407,6 +407,7 @@ _include: - common_patches/fsmc/fsmc_sramfix_common.yaml - common_patches/rcc/f41x_bdcr_lsemod.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ../peripherals/rcc/rcc_merge_sw_sws.yaml - ../peripherals/rcc/rcc_v2.yaml - ../peripherals/rcc/rcc_v2_bdcr_lsemod.yaml diff --git a/devices/stm32f413.yaml b/devices/stm32f413.yaml index 5c77db03f..58630f66a 100644 --- a/devices/stm32f413.yaml +++ b/devices/stm32f413.yaml @@ -283,6 +283,7 @@ _include: - common_patches/adc/f4_single_ccr.yaml - common_patches/fsmc/fsmc_sram.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ../peripherals/dac/dac_wavegen.yaml - ../peripherals/dac/dac_common_2ch.yaml - ../peripherals/dac/dac_dmaudr.yaml diff --git a/devices/stm32f427.yaml b/devices/stm32f427.yaml index d65791316..c0ae9955a 100644 --- a/devices/stm32f427.yaml +++ b/devices/stm32f427.yaml @@ -196,8 +196,11 @@ _include: - common_patches/fsmc/fsmc_nand_v1.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - ../peripherals/dac/dac_wavegen.yaml - ../peripherals/dac/dac_common_2ch.yaml - ../peripherals/dac/dac_dmaudr.yaml diff --git a/devices/stm32f429.yaml b/devices/stm32f429.yaml index 315118410..22ef12fb1 100644 --- a/devices/stm32f429.yaml +++ b/devices/stm32f429.yaml @@ -207,12 +207,16 @@ _include: - common_patches/dbgmcu/dbgmcu.yaml - common_patches/fpu_interrupt.yaml - common_patches/fsmc/fsmc_sram.yaml + - common_patches/fsmc/fsmc_sramfix_common.yaml - common_patches/fsmc/fsmc_sramfix_v3.yaml - common_patches/fsmc/fsmc_nand_v1.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - ../peripherals/rng/rng_v1.yaml - common_patches/rtc/f4_cr.yaml - common_patches/rtc/rtc_cr.yaml diff --git a/devices/stm32f446.yaml b/devices/stm32f446.yaml index 86e44689f..227df91ff 100644 --- a/devices/stm32f446.yaml +++ b/devices/stm32f446.yaml @@ -607,9 +607,13 @@ _include: - common_patches/fsmc/fsmc_nand_v1.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - common_patches/rtc/f4_cr.yaml - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml diff --git a/devices/stm32f469.yaml b/devices/stm32f469.yaml index 902529963..185ad79ad 100644 --- a/devices/stm32f469.yaml +++ b/devices/stm32f469.yaml @@ -204,9 +204,13 @@ _include: - common_patches/fsmc/fsmc_nand_v2.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - ../peripherals/flash/flash_v1.yaml - ../peripherals/flash/flash_latency16.yaml - common_patches/hash/hash.yaml diff --git a/devices/stm32f730.yaml b/devices/stm32f730.yaml index f1aa20b11..2bab797f0 100644 --- a/devices/stm32f730.yaml +++ b/devices/stm32f730.yaml @@ -80,9 +80,13 @@ _include: - common_patches/fsmc/fsmc_nand_v2.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - common_patches/rtc/alarm.yaml - common_patches/rtc/rtc_bkpr.yaml - common_patches/dbgmcu/dbgmcu.yaml diff --git a/devices/stm32f745.yaml b/devices/stm32f745.yaml index 27cf64ab6..1875baaa1 100644 --- a/devices/stm32f745.yaml +++ b/devices/stm32f745.yaml @@ -200,9 +200,13 @@ _include: - common_patches/fsmc/fsmc_nand_v2.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - ../peripherals/dma/dma2d_v1.yaml - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml diff --git a/devices/stm32f750.yaml b/devices/stm32f750.yaml index 40a4e1aa9..73ad09031 100644 --- a/devices/stm32f750.yaml +++ b/devices/stm32f750.yaml @@ -117,9 +117,13 @@ _include: - common_patches/fsmc/fsmc_sramfix.yaml - common_patches/fsmc/fsmc_nand_v2.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - common_patches/cryp/cryp_v2.yaml - common_patches/sai/sai_v1.yaml - ../peripherals/sai/sai.yaml diff --git a/devices/stm32f765.yaml b/devices/stm32f765.yaml index 8b1b6ae20..e09e4540a 100644 --- a/devices/stm32f765.yaml +++ b/devices/stm32f765.yaml @@ -223,9 +223,13 @@ _include: - common_patches/fsmc/fsmc_nand_v2.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - ../peripherals/dma/dma2d_v1.yaml - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml diff --git a/devices/stm32f7x2.yaml b/devices/stm32f7x2.yaml index 55956ae85..30d40745b 100644 --- a/devices/stm32f7x2.yaml +++ b/devices/stm32f7x2.yaml @@ -81,9 +81,13 @@ _include: - common_patches/fsmc/fsmc_nand_v2.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - common_patches/rtc/alarm.yaml - common_patches/rtc/rtc_bkpr.yaml - common_patches/dbgmcu/dbgmcu.yaml diff --git a/devices/stm32f7x3.yaml b/devices/stm32f7x3.yaml index fdfb4dfc2..43396bd8d 100644 --- a/devices/stm32f7x3.yaml +++ b/devices/stm32f7x3.yaml @@ -91,9 +91,13 @@ _include: - common_patches/fsmc/fsmc_nand_v2.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - common_patches/rtc/alarm.yaml - common_patches/rtc/rtc_bkpr.yaml - common_patches/dbgmcu/dbgmcu.yaml diff --git a/devices/stm32f7x6.yaml b/devices/stm32f7x6.yaml index b60c8e096..7e87fc794 100644 --- a/devices/stm32f7x6.yaml +++ b/devices/stm32f7x6.yaml @@ -185,9 +185,13 @@ _include: - common_patches/fsmc/fsmc_nand_v2.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - ../peripherals/dma/dma2d_v1.yaml - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml diff --git a/devices/stm32f7x7.yaml b/devices/stm32f7x7.yaml index 513fd244d..09fe7b88f 100644 --- a/devices/stm32f7x7.yaml +++ b/devices/stm32f7x7.yaml @@ -353,9 +353,13 @@ _include: - common_patches/fsmc/fsmc_nand_v2.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - ../peripherals/dma/dma2d_v1.yaml - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml diff --git a/devices/stm32f7x9.yaml b/devices/stm32f7x9.yaml index 6b5c7f52e..10c0cda6e 100644 --- a/devices/stm32f7x9.yaml +++ b/devices/stm32f7x9.yaml @@ -365,9 +365,13 @@ _include: - common_patches/fsmc/fsmc_nand_v2.yaml - common_patches/fsmc/fsmc_sd.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml + - ../peripherals/fsmc/fsmc_cclken1.yaml - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_nand_ptyp.yaml - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sd_sdsr.yaml - ../peripherals/dma/dma2d_v1.yaml - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml diff --git a/devices/stm32h735.yaml b/devices/stm32h735.yaml index 6b6215cd7..507658d4f 100644 --- a/devices/stm32h735.yaml +++ b/devices/stm32h735.yaml @@ -931,6 +931,13 @@ _include: - common_patches/dma/mdma.yaml - common_patches/fdcan/fdcan_h7.yaml - common_patches/fsmc/fsmc_sdram_cluster.yaml + - common_patches/fsmc/fsmc_bcr.yaml + - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_fmcen.yaml - common_patches/rcc/h7_src_sel_common.yaml - common_patches/ethernet/h7_combined_desc.yaml - common_patches/exti/h7_singlecore.yaml diff --git a/devices/stm32h743.yaml b/devices/stm32h743.yaml index b16a2b818..1dc5b9de2 100644 --- a/devices/stm32h743.yaml +++ b/devices/stm32h743.yaml @@ -34,6 +34,13 @@ _include: - common_patches/dma/mdma.yaml - common_patches/fdcan/fdcan_h7.yaml - common_patches/fsmc/fsmc_sdram_cluster.yaml + - common_patches/fsmc/fsmc_bcr.yaml + - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_fmcen.yaml - common_patches/rcc/h7_src_sel.yaml - common_patches/ethernet/h7_desc.yaml - common_patches/exti/h7_singlecore.yaml diff --git a/devices/stm32h743v.yaml b/devices/stm32h743v.yaml index 26db35ae3..506d62f15 100644 --- a/devices/stm32h743v.yaml +++ b/devices/stm32h743v.yaml @@ -34,6 +34,13 @@ _include: - common_patches/dma/mdma.yaml - common_patches/fdcan/fdcan_h7.yaml - common_patches/fsmc/fsmc_sdram_cluster.yaml + - common_patches/fsmc/fsmc_bcr.yaml + - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_fmcen.yaml - common_patches/rcc/h7_src_sel.yaml - common_patches/ethernet/h7_desc.yaml - common_patches/exti/h7_singlecore.yaml diff --git a/devices/stm32h747cm4.yaml b/devices/stm32h747cm4.yaml index 6cd46f9d7..8deeb4f4d 100644 --- a/devices/stm32h747cm4.yaml +++ b/devices/stm32h747cm4.yaml @@ -31,6 +31,13 @@ _include: - common_patches/dma/mdma.yaml - common_patches/fdcan/fdcan_h7.yaml - common_patches/fsmc/fsmc_sdram_cluster.yaml + - common_patches/fsmc/fsmc_bcr.yaml + - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_fmcen.yaml - common_patches/rcc/h7_src_sel.yaml - common_patches/ethernet/h7_combined_desc.yaml - common_patches/exti/h7_dualcore.yaml diff --git a/devices/stm32h747cm7.yaml b/devices/stm32h747cm7.yaml index cf6da7b0a..a777ce609 100644 --- a/devices/stm32h747cm7.yaml +++ b/devices/stm32h747cm7.yaml @@ -30,6 +30,13 @@ _include: - common_patches/dma/mdma.yaml - common_patches/fdcan/fdcan_h7.yaml - common_patches/fsmc/fsmc_sdram_cluster.yaml + - common_patches/fsmc/fsmc_bcr.yaml + - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_fmcen.yaml - common_patches/rcc/h7_src_sel.yaml - common_patches/ethernet/h7_combined_desc.yaml - common_patches/exti/h7_dualcore.yaml diff --git a/devices/stm32h753.yaml b/devices/stm32h753.yaml index d57d9b32d..2ed8affd1 100644 --- a/devices/stm32h753.yaml +++ b/devices/stm32h753.yaml @@ -44,6 +44,13 @@ _include: - common_patches/dma/mdma.yaml - common_patches/fdcan/fdcan_h7.yaml - common_patches/fsmc/fsmc_sdram_cluster.yaml + - common_patches/fsmc/fsmc_bcr.yaml + - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_fmcen.yaml - common_patches/rcc/h7_src_sel.yaml - common_patches/ethernet/h7_desc.yaml - common_patches/exti/h7_singlecore.yaml diff --git a/devices/stm32h753v.yaml b/devices/stm32h753v.yaml index 1e336c93e..1ddf81e9a 100644 --- a/devices/stm32h753v.yaml +++ b/devices/stm32h753v.yaml @@ -44,6 +44,13 @@ _include: - common_patches/dma/mdma.yaml - common_patches/fdcan/fdcan_h7.yaml - common_patches/fsmc/fsmc_sdram_cluster.yaml + - common_patches/fsmc/fsmc_bcr.yaml + - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_fmcen.yaml - common_patches/rcc/h7_src_sel.yaml - common_patches/ethernet/h7_desc.yaml - common_patches/exti/h7_singlecore.yaml diff --git a/devices/stm32h7b3.yaml b/devices/stm32h7b3.yaml index aff8887e2..c45583196 100644 --- a/devices/stm32h7b3.yaml +++ b/devices/stm32h7b3.yaml @@ -92,6 +92,13 @@ _include: - common_patches/dma/mdma.yaml - common_patches/fdcan/fdcan_h7.yaml - common_patches/fsmc/fsmc_sdram_cluster.yaml + - common_patches/fsmc/fsmc_bcr.yaml + - ../peripherals/fsmc/fsmc_nand.yaml + - ../peripherals/fsmc/fsmc_sd.yaml + - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_fmcen.yaml - common_patches/exti/h7_singlecore.yaml - common_patches/dbgmcu/h7.yaml - common_patches/dma/h7_dmacr.yaml diff --git a/devices/stm32l100.yaml b/devices/stm32l100.yaml index 2294da31d..12f1b801d 100644 --- a/devices/stm32l100.yaml +++ b/devices/stm32l100.yaml @@ -71,6 +71,7 @@ _include: - common_patches/fsmc/fsmc_sram.yaml - common_patches/fsmc/fsmc_sramfix_common.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ./common_patches/usb/unprefix_registers.yaml - ../peripherals/dac/dac_wavegen.yaml - ../peripherals/dac/dac_common_2ch.yaml diff --git a/devices/stm32l151.yaml b/devices/stm32l151.yaml index 8dfa5dbf9..6e60af4a4 100644 --- a/devices/stm32l151.yaml +++ b/devices/stm32l151.yaml @@ -23,6 +23,7 @@ _include: - common_patches/fsmc/fsmc_sram.yaml - common_patches/fsmc/fsmc_sramfix_common.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ./common_patches/usb/unprefix_registers.yaml - ../peripherals/dac/dac_wavegen.yaml - ../peripherals/dac/dac_common_2ch.yaml diff --git a/devices/stm32l162.yaml b/devices/stm32l162.yaml index 58b65e141..6746f2f10 100644 --- a/devices/stm32l162.yaml +++ b/devices/stm32l162.yaml @@ -23,6 +23,7 @@ _include: - common_patches/fsmc/fsmc_sram.yaml - common_patches/fsmc/fsmc_sramfix_common.yaml - ../peripherals/fsmc/fsmc_sram.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml - ./common_patches/usb/unprefix_registers.yaml - ../peripherals/dac/dac_wavegen.yaml - ../peripherals/dac/dac_common_2ch.yaml diff --git a/devices/stm32l4x5.yaml b/devices/stm32l4x5.yaml index c7c205358..38c5d5652 100644 --- a/devices/stm32l4x5.yaml +++ b/devices/stm32l4x5.yaml @@ -158,7 +158,8 @@ _include: - common_patches/fsmc/fsmc_sram.yaml - common_patches/fsmc/fsmc_nand_v2.yaml - ../peripherals/fsmc/fsmc_sram.yaml - - ../peripherals/fsmc/fsmc_wfdis.yaml + - ../peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml + - ../peripherals/fsmc/fsmc_wfdis1.yaml - ../peripherals/fsmc/fsmc_nand.yaml - ../peripherals/gpio/v2/common.yaml - common_patches/crc/crc_rename_init.yaml diff --git a/peripherals/fsmc/fsmc_cclken.yaml b/peripherals/fsmc/fsmc_cclken.yaml new file mode 100644 index 000000000..08b34c9c5 --- /dev/null +++ b/peripherals/fsmc/fsmc_cclken.yaml @@ -0,0 +1,5 @@ +"FMC,FSMC": + "BCR1": + CCLKEN: + Enabled: [1, "The FMC_CLK is only generated during the synchronous memory access (read/write transaction)"] + Disabled: [0, "The FMC_CLK is generated continuously during asynchronous and synchronous access. The FMC_CLK clock is activated when the CCLKEN is set"] diff --git a/peripherals/fsmc/fsmc_cclken1.yaml b/peripherals/fsmc/fsmc_cclken1.yaml new file mode 100644 index 000000000..08b34c9c5 --- /dev/null +++ b/peripherals/fsmc/fsmc_cclken1.yaml @@ -0,0 +1,5 @@ +"FMC,FSMC": + "BCR1": + CCLKEN: + Enabled: [1, "The FMC_CLK is only generated during the synchronous memory access (read/write transaction)"] + Disabled: [0, "The FMC_CLK is generated continuously during asynchronous and synchronous access. The FMC_CLK clock is activated when the CCLKEN is set"] diff --git a/peripherals/fsmc/fsmc_fmcen.yaml b/peripherals/fsmc/fsmc_fmcen.yaml new file mode 100644 index 000000000..b9e3a7027 --- /dev/null +++ b/peripherals/fsmc/fsmc_fmcen.yaml @@ -0,0 +1,11 @@ +"FMC,FSMC": + # TODO: only enabled through BCR1 (how to represent this?) + # TODO: rename file? + "BCR?": + FMCEN: + Disabled: [0, "Disable the FMC controller"] + Enabled: [1, "Enable the FMC controller"] + BMAP: + Default: [0b00, "Default mapping"] + Swapped: [0b01, "NOR/PSRAM bank and SDRAM bank 1/bank2 are swapped."] + Remapped: [0b10, "SDRAM Bank2 remapped on FMC bank2 and still accessible at default mapping"] diff --git a/peripherals/fsmc/fsmc_nand.yaml b/peripherals/fsmc/fsmc_nand.yaml index ab9d93a55..575cac04f 100644 --- a/peripherals/fsmc/fsmc_nand.yaml +++ b/peripherals/fsmc/fsmc_nand.yaml @@ -15,8 +15,6 @@ PWID: Bits8: [0, "External memory device width 8 bits"] Bits16: [1, "External memory device width 16 bits"] - PTYP: - NANDFlash: [1, "NAND Flash"] PBKEN: Disabled: [0, "Corresponding memory bank is disabled"] Enabled: [1, "Corresponding memory bank is enabled"] diff --git a/peripherals/fsmc/fsmc_nand_ptyp.yaml b/peripherals/fsmc/fsmc_nand_ptyp.yaml new file mode 100644 index 000000000..9b2168da8 --- /dev/null +++ b/peripherals/fsmc/fsmc_nand_ptyp.yaml @@ -0,0 +1,4 @@ +"FMC,FSMC": + "PCR,PCR?": + PTYP: + NANDFlash: [1, "NAND Flash"] diff --git a/peripherals/fsmc/fsmc_pio.yaml b/peripherals/fsmc/fsmc_pio.yaml new file mode 100644 index 000000000..b66f88628 --- /dev/null +++ b/peripherals/fsmc/fsmc_pio.yaml @@ -0,0 +1,7 @@ +"FMC,FSMC": + "PIO?": + IOHIZ: [0, 255] + IOHOLD: [1, 255] + IOWAIT: [1, 255] + IOSET: [0, 255] + diff --git a/peripherals/fsmc/fsmc_sd.yaml b/peripherals/fsmc/fsmc_sd.yaml index ab2dcc54f..0cbe0ba24 100644 --- a/peripherals/fsmc/fsmc_sd.yaml +++ b/peripherals/fsmc/fsmc_sd.yaml @@ -1,4 +1,4 @@ -# FMC as used in STM32F7 +# FMC as used in STM32F7 and STM32H7 "FMC,FSMC": "SDCR?": @@ -70,9 +70,6 @@ Clear: [1, "Refresh Error Flag is cleared"] SDSR: - BUSY: - NotBusy: [0, "SDRAM Controller is ready to accept a new request"] - Busy: [1, "SDRAM Controller is not ready to accept a new request"] "MODES?": Normal: [0, "Normal Mode"] SelfRefresh: [1, "Self-refresh mode"] diff --git a/peripherals/fsmc/fsmc_sd_sdsr.yaml b/peripherals/fsmc/fsmc_sd_sdsr.yaml new file mode 100644 index 000000000..383707601 --- /dev/null +++ b/peripherals/fsmc/fsmc_sd_sdsr.yaml @@ -0,0 +1,5 @@ +"FMC,FSMC": + SDSR: + BUSY: + NotBusy: [0, "SDRAM Controller is ready to accept a new request"] + Busy: [1, "SDRAM Controller is not ready to accept a new request"] diff --git a/peripherals/fsmc/fsmc_sram.yaml b/peripherals/fsmc/fsmc_sram.yaml index 1f6f25afe..ddb13e249 100644 --- a/peripherals/fsmc/fsmc_sram.yaml +++ b/peripherals/fsmc/fsmc_sram.yaml @@ -3,12 +3,12 @@ CBURSTRW: Enabled: [1, "Write operations are performed in synchronous mode"] Disabled: [0, "Write operations are always performed in asynchronous mode"] - CPSIZE: - NoBurstSplit: [0, "No burst split when crossing page boundary"] - Bytes128: [1, "128 bytes CRAM page size"] - Bytes256: [2, "256 bytes CRAM page size"] - Bytes512: [3, "512 bytes CRAM page size"] - Bytes1024: [4, "1024 bytes CRAM page size"] + # CPSIZE: + # NoBurstSplit: [0, "No burst split when crossing page boundary"] + # Bytes128: [1, "128 bytes CRAM page size"] + # Bytes256: [2, "256 bytes CRAM page size"] + # Bytes512: [3, "512 bytes CRAM page size"] + # Bytes1024: [4, "1024 bytes CRAM page size"] ASYNCWAIT: Disabled: [0, "Wait signal not used in asynchronous mode"] Enabled: [1, "Wait signal used even in asynchronous mode"] @@ -67,7 +67,6 @@ B: [1, "Access mode B"] C: [2, "Access mode C"] D: [3, "Access mode D"] - BUSTURN: [0, 15] DATAST: [1, 255] ADDHLD: [1, 15] ADDSET: [0, 15] diff --git a/peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml b/peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml new file mode 100644 index 000000000..8a569d617 --- /dev/null +++ b/peripherals/fsmc/fsmc_sram_bwtr_busturn.yaml @@ -0,0 +1,3 @@ +"FMC,FSMC": + "BWTR?": + BUSTURN: [0, 15] diff --git a/peripherals/fsmc/fsmc_wfdis.yaml b/peripherals/fsmc/fsmc_wfdis.yaml index ec7f49615..4f62af2f9 100644 --- a/peripherals/fsmc/fsmc_wfdis.yaml +++ b/peripherals/fsmc/fsmc_wfdis.yaml @@ -1,5 +1,5 @@ "FMC,FSMC": - "BCR1": + "BCR?": WFDIS: Enabled: [0, "Write FIFO enabled"] Disabled: [1, "Write FIFO disabled"] diff --git a/peripherals/fsmc/fsmc_wfdis1.yaml b/peripherals/fsmc/fsmc_wfdis1.yaml new file mode 100644 index 000000000..5fa884fa9 --- /dev/null +++ b/peripherals/fsmc/fsmc_wfdis1.yaml @@ -0,0 +1,5 @@ +"FMC,FSMC": + "BCR1": + WFDIS: + Enabled: [0, "Write FIFO enabled"] + Disabled: [1, "Write FIFO disabled"] diff --git a/peripherals/fsmc/fsmc_wrapmod.yaml b/peripherals/fsmc/fsmc_wrapmod.yaml new file mode 100644 index 000000000..037fcba60 --- /dev/null +++ b/peripherals/fsmc/fsmc_wrapmod.yaml @@ -0,0 +1,5 @@ +"FMC,FSMC": + "BCR?": + WRAPMOD: + Disabled: [0, "Direct wrapped burst is not enabled"] + Enabled: [1, "Direct wrapped burst is enabled"]