Hi Andreas, 2015-02-15 16:14 GMT+01:00 Andreas Färber <afaerber@xxxxxxx>: > Hi Maxime, > > Am 12.02.2015 um 18:45 schrieb Maxime Coquelin: >> This patchset adds basic support for STMicroelectronics STM32 series MCUs. >> >> STM32 MCUs are Cortex-M CPU, used in various applications (consumer >> electronics, industrial applications, hobbyists...). >> Datasheets, user and programming manuals are publicly available on >> STMicroelectronics website. >> >> With this series applied, the STM32F419 Discovery can boot succesfully. >> >> Once this series accepted, next steps will be to add DMA support, as USART, >> I2C and SPI IPs don't have any FIFO. Then will come the clock driver, as today >> the bootloader has to be patched to enable the needed clocks. > > This is somewhat unfortunate, as I have been working on the same thing > and have demonstrated the STM32F429 Discovery Kit at ARM TechSymposium > Europe in December and submitted a talk for LinuxCon Japan. > > https://github.com/afaerber/afboot-stm32 > https://github.com/afaerber/linux/commits/stm32 Hmm, I wasn't aware you were also working on it. The good news is that we are not alone on this task :). I do it on my spare time, so any contribution is more than welcome. > > On a brief look, it seems you are further along in terms of code quality > and documenting. Do you spot anything that's missing in your series and > could be added from my branch? The clk controller maybe? Also I already > started looking into gpio and usb drivers. Me too, I skipped DMA support > though. The GPIO support is already part of the pinctrl patch. The missing thing is the GPIO interrupt feature, but I am working on it. Maybe you could focus on the clock support, as I see its support is well advanced in you tree? I see one bug in it, the timer clocks should be 90MHz, but your patch indicates 45MHz. I see you have started the LCD controller driver, maybe that is another task you could handle? Regarding USB, have you made it to work? Kind regards, Maxime > > Regards, > Andreas > >> >> Maxime Coquelin (14): >> scripts: link-vmlinux: Don't pass page offset to kallsyms if XIP >> Kernel >> ARM: ARMv7M: Enlarge vector table to 256 entries >> clocksource: Add ARM System timer driver >> reset: Add reset_controller_of_init() function >> ARM: call reset_controller_of_init from default time_init handler >> drivers: reset: Add STM32 reset driver >> clockevent: Add STM32 Timer driver >> pinctrl: Add pinctrl driver for STM32 MCUs >> serial: stm32-usart: Add STM32 USART Driver >> ARM: Add STM32 family machine >> ARM: dts: Add ARM System timer as clockevent in armv7m >> ARM: dts: Introduce STM32F429 MCU >> ARM: configs: Add STM32 defconfig >> MAINTAINERS: Add entry for STM32 MCUs >> >> Documentation/arm/stm32/overview.txt | 32 + >> Documentation/arm/stm32/stm32f429-overview.txt | 22 + >> .../devicetree/bindings/arm/system_timer.txt | 15 + >> .../devicetree/bindings/pinctrl/pinctrl-stm32.txt | 99 +++ >> .../devicetree/bindings/reset/st,stm32-reset.txt | 19 + >> .../devicetree/bindings/serial/st,stm32-usart.txt | 18 + >> .../devicetree/bindings/timer/st,stm32-timer.txt | 19 + >> MAINTAINERS | 7 + >> arch/arm/Kconfig | 22 + >> arch/arm/Makefile | 1 + >> arch/arm/boot/dts/Makefile | 1 + >> arch/arm/boot/dts/armv7-m.dtsi | 7 + >> arch/arm/boot/dts/stm32f429-disco.dts | 41 ++ >> arch/arm/boot/dts/stm32f429.dtsi | 279 ++++++++ >> arch/arm/configs/stm32_defconfig | 72 ++ >> arch/arm/kernel/entry-v7m.S | 8 +- >> arch/arm/kernel/time.c | 4 + >> arch/arm/mach-stm32/Makefile | 1 + >> arch/arm/mach-stm32/Makefile.boot | 0 >> arch/arm/mach-stm32/board-dt.c | 19 + >> drivers/clocksource/Kconfig | 16 + >> drivers/clocksource/Makefile | 2 + >> drivers/clocksource/arm_system_timer.c | 74 ++ >> drivers/clocksource/timer-stm32.c | 187 +++++ >> drivers/pinctrl/Kconfig | 9 + >> drivers/pinctrl/Makefile | 1 + >> drivers/pinctrl/pinctrl-stm32.c | 779 +++++++++++++++++++++ >> drivers/reset/Makefile | 1 + >> drivers/reset/core.c | 20 + >> drivers/reset/reset-stm32.c | 124 ++++ >> drivers/tty/serial/Kconfig | 17 + >> drivers/tty/serial/Makefile | 1 + >> drivers/tty/serial/stm32-usart.c | 695 ++++++++++++++++++ >> include/asm-generic/vmlinux.lds.h | 4 +- >> include/dt-bindings/pinctrl/pinctrl-stm32.h | 43 ++ >> include/linux/reset-controller.h | 6 + >> include/uapi/linux/serial_core.h | 3 + >> scripts/link-vmlinux.sh | 2 +- >> 38 files changed, 2664 insertions(+), 6 deletions(-) >> create mode 100644 Documentation/arm/stm32/overview.txt >> create mode 100644 Documentation/arm/stm32/stm32f429-overview.txt >> create mode 100644 Documentation/devicetree/bindings/arm/system_timer.txt >> create mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stm32.txt >> create mode 100644 Documentation/devicetree/bindings/reset/st,stm32-reset.txt >> create mode 100644 Documentation/devicetree/bindings/serial/st,stm32-usart.txt >> create mode 100644 Documentation/devicetree/bindings/timer/st,stm32-timer.txt >> create mode 100644 arch/arm/boot/dts/stm32f429-disco.dts >> create mode 100644 arch/arm/boot/dts/stm32f429.dtsi >> create mode 100644 arch/arm/configs/stm32_defconfig >> create mode 100644 arch/arm/mach-stm32/Makefile >> create mode 100644 arch/arm/mach-stm32/Makefile.boot >> create mode 100644 arch/arm/mach-stm32/board-dt.c >> create mode 100644 drivers/clocksource/arm_system_timer.c >> create mode 100644 drivers/clocksource/timer-stm32.c >> create mode 100644 drivers/pinctrl/pinctrl-stm32.c >> create mode 100644 drivers/reset/reset-stm32.c >> create mode 100644 drivers/tty/serial/stm32-usart.c >> create mode 100644 include/dt-bindings/pinctrl/pinctrl-stm32.h >> > > > -- > SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Felix Imendörffer, Jane Smithard, Jennifer Guild, Dilip Upmanyu, > Graham Norton; HRB 21284 (AG Nürnberg) > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html