[PATCH v3 0/1] misc: st32fwu: Add stm32 upgrade protocol handling

From: Karol Wrona
Date: Tue Oct 14 2014 - 10:37:58 EST


Hello,

This patch is needed by the sensorhub driver which uses STM32F4xx and Jonathan
suggested to factor out these sources (mentioned in:
[RFC/PATCH 2/6] misc: sensorhub: Add sensorhub).

I feel a bit ashamed because I know a bit STM32F4 controllers but I did not
realize that it is generic ST protocol. It helped us a lot because this
code really needed some refactoring.

So this patch contains SPI protocol used in the STM32 bootloader and is based
on AN4286. Generally it can be used to implement handling of other interfaces
like UART or I2C because the flow is quite similar and maybe adding proper
hw access callbacks will do all work.

It supports:
- get info frame
- get version
- firmware write (write, read, write address, erase)

>From v2:
some typos fixes
kfree to devm_kfree in error handling
...
generally things advised by Antonio Borneo for v2

TODO (I will not have had time to touch it for few weeks):
erase command with sector mode
command checking and disabling unimplemented ones

Also some Antonio opinion is needed if we are able (or want) to use the same
stm32_core layer for this.

Karol Wrona (1):
misc: st32fwu: Add stm32 upgrade protocol handling

drivers/misc/Kconfig | 1 +
drivers/misc/Makefile | 1 +
drivers/misc/stm32fwu/Kconfig | 6 +
drivers/misc/stm32fwu/Makefile | 3 +
drivers/misc/stm32fwu/stm32_core.c | 399 ++++++++++++++++++++++++++++++++++++
drivers/misc/stm32fwu/stm32_core.h | 81 ++++++++
drivers/misc/stm32fwu/stm32_spi.c | 108 ++++++++++
include/linux/stm32fwu.h | 47 +++++
8 files changed, 646 insertions(+)
create mode 100644 drivers/misc/stm32fwu/Kconfig
create mode 100644 drivers/misc/stm32fwu/Makefile
create mode 100644 drivers/misc/stm32fwu/stm32_core.c
create mode 100644 drivers/misc/stm32fwu/stm32_core.h
create mode 100644 drivers/misc/stm32fwu/stm32_spi.c
create mode 100644 include/linux/stm32fwu.h

--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/