zephyr/drivers
Thomas Stranger cfac53b76f drivers: flash: stm32g0: dual bank handling
This commit fixes dual bank flash handling on stm32g0 targets.
In contrast to other Series (G4, L5) the flash page size does not change
in single bank configuration (2KiB in both configurations).

nSWAP_BANK:
While the reference manual(RM) only documents:
"This bit selects the bank that is the subject of empty check upon boot"
as expected, this behaves similar to BFB2 on G4 and SWAP_BANK on L5.
It has been observed that this bit swaps the address mapping of bank1
and bank2, regardless of DUAL_BANK bit being set or not.
As documented in the RM the nSWAP_BANK bit is ignored when the BOOT_LOOK
bit is set. This applies to the empty check as well as the address
mapping.

On this Series FLASH_CR_BKER must be set in single-bank as well as
dual-bank configuration for erase operations on bank2 regardless of
the swap status.

On a G0B1RE (dev-id: 0x467) I could not observe a difference between
DUAL_BANK flash option bit set and not.
It this may be different on 256KiB Flash targets.
The HAL indicates that "FLASH_SALES_TYPE_0" only uses a single bank if
OB_DUAL_BANK_VALUE is not set, but as I don't know which SoC this is
and I can't test the behaviour and the driver does not take this into
account.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2021-11-17 11:06:59 -05:00
..
adc drivers: adc: add the stm32U5 devices to the adc driver 2021-11-09 15:59:23 -06:00
audio drivers: audio: dmic: Add support for nRF PDM peripherals 2021-09-03 09:34:06 -04:00
bbram drivers: bbram: Add it8xxx2 BBRAM driver implementation 2021-08-30 11:35:23 -04:00
bluetooth Bluetooth: ISO: Add bitmask for retrieving iso header lenght 2021-11-12 14:52:33 +01:00
cache
can drivers: can: Fixed timeout values comparison 2021-11-16 10:14:02 -05:00
clock_control clock: esp32: unify clock control for all espressif socs 2021-11-04 15:21:26 -04:00
console kconfig: drivers: experimental settings now uses select EXPERIMENTAL 2021-10-25 10:46:48 +02:00
counter drivers: counter: esp32: add support for esp32c3 2021-11-11 19:14:15 -05:00
crypto kconfig: drivers: experimental settings now uses select EXPERIMENTAL 2021-10-25 10:46:48 +02:00
dac drivers: dac: Refactor drivers to use shared init priority 2021-10-27 10:58:33 +02:00
debug
disk drivers/disk: sdmmc: stm32: DMA header requested on L4/F7 series 2021-11-08 10:58:49 -05:00
display drivers: use common PM action callback naming 2021-11-03 20:27:18 -04:00
dma drivers: dma: Refactor drivers to use shared init priority 2021-10-29 22:55:03 -04:00
ec_host_cmd_periph
edac shell: Add __printf_like to shell_fprintf 2021-10-14 16:32:19 -04:00
eeprom drivers: eeprom: Refactor drivers to use shared init priority 2021-11-04 07:33:01 -04:00
entropy drivers: use common PM action callback naming 2021-11-03 20:27:18 -04:00
espi Microchip: MEC172x: eSPI driver 2021-11-16 10:43:42 +01:00
ethernet drivers: ethernet: mcux: Bugfix ptp_clock_adjust 2021-11-11 07:05:22 -05:00
flash drivers: flash: stm32g0: dual bank handling 2021-11-17 11:06:59 -05:00
fpga drivers: fpga controller: add shell support 2021-09-03 09:54:00 -04:00
gpio driver: gpio: npcx: Fix API header 2021-11-16 21:22:48 -05:00
hwinfo drivers: hwinfo: shell: Add reset cause shell command 2021-11-07 14:55:52 -05:00
i2c driver: esp32: I2C code refactoring 2021-11-05 14:07:09 -04:00
i2s drivers: i2s_nrfx: Fix a few minor fixes 2021-09-29 14:46:29 -04:00
ieee802154 kernel: atomics: update print specifiers for atomic_t 2021-11-15 09:59:01 -05:00
interrupt_controller drivers: use common PM action callback naming 2021-11-03 20:27:18 -04:00
ipm drivers: ipm: set IPM_STM32_HSEM default from the device tree 2021-08-30 09:33:32 -04:00
kscan ITE drivers/kscan: add keyboard scan driver for it8xxx2_evb 2021-09-28 19:53:15 -04:00
led drivers: led_pwm: Decrease power consumption 2021-11-06 21:38:35 -04:00
led_strip
lora lora: asynchronous packet reception 2021-10-26 15:48:09 +02:00
mbox mbox: ipc: s/_MBOX_NRFX/_MBOX_NRFX_IPC/ 2021-11-01 11:30:59 -04:00
mdio drivers: mdio: add shell 2021-08-27 11:43:48 -04:00
memc kconfig: drivers: experimental settings now uses select EXPERIMENTAL 2021-10-25 10:46:48 +02:00
misc
modem modem: Update modem sockets poll to allow eventfd 2021-11-11 19:12:46 -05:00
net drivers: net: ppp: configurable autostart 2021-11-16 21:25:47 -05:00
neural_net
pcie drivers/pcie: Add PTM root device driver as well as implement PTM API 2021-11-04 11:06:02 -04:00
peci
pinctrl drivers: pinctrl: add support for dynamic pin control 2021-10-25 15:26:47 -05:00
pinmux drivers: esp32: uart: use hal functions 2021-11-03 16:47:32 -04:00
pm_cpu_ops
ps2
ptp_clock
pwm drivers: pwm: stm32: move "st,prescaler" to timers instead of pwm 2021-11-16 09:55:30 -06:00
regulator drivers: regulator: convert to gpio_dt_spec 2021-10-28 11:15:12 +02:00
sensor drivers: sensor: lsm6dsl: improve driver initialization 2021-11-09 08:32:13 -06:00
serial ITE: drivers/serial: add the UART driver for the PM callback function 2021-11-16 21:23:42 -05:00
spi drivers: spi_nrfx_spim: workaround for nRF52832 errata anomaly 58 2021-11-09 20:04:45 -05:00
syscon drivers: syscon: Add support for multiple regions 2021-09-22 10:32:11 -04:00
timer drivers/timer/cavs_timer: Fix race in k_cycle_get_64() 2021-11-15 09:54:31 -05:00
usb usb: move USB_DEVICE_REMOTE_WAKEUP option to drivers 2021-11-08 17:01:32 +01:00
video drivers: video: ov2640: remove deprecated PM macro 2021-11-03 20:27:18 -04:00
virtualization drivers/ivshmem: MSI API change was not applied in this drivers 2021-09-15 13:42:22 +03:00
watchdog drivers: watchdog: esp32: enabled esp32c3 2021-11-08 10:56:28 -05:00
wifi drivers: wifi: eswifi: convert to spi_dt_spec 2021-10-26 17:40:54 -04:00
xen xenvm: drivers: serial: Implement serial interface to Xen PV console 2021-10-29 15:23:33 +02:00
CMakeLists.txt xenvm: drivers: serial: Implement serial interface to Xen PV console 2021-10-29 15:23:33 +02:00
Kconfig drivers: mbox: Introduce MBOX driver class 2021-10-27 18:27:21 +02:00