From: Maxime Coquelin <mcoquelin.stm32@gmail.com> To: Jonathan Corbet <corbet@lwn.net>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>, Mark Rutland <mark.rutland@arm.com>, Ian Campbell <ijc+devicetree@hellion.org.uk>, Kumar Gala <galak@codeaurora.org>, Philipp Zabel <p.zabel@pengutronix.de>, Russell King <linux@arm.linux.org.uk>, Daniel Lezcano <daniel.lezcano@linaro.org>, Thomas Gleixner <tglx@linutronix.de>, Linus Walleij <linus.walleij@linaro.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Jiri Slaby <jslaby@suse.cz>, Arnd Bergmann <arnd@arndb.de>, Andrew Morton <akpm@linux-foundation.org>, "David S. Miller" <davem@davemloft.net>, Mauro Carvalho Chehab <mchehab@osg.samsung.com>, Joe Perches <joe@perches.com>, Antti Palosaari <crope@iki.fi>, Tejun Heo <tj@kernel.org>, Will Deacon <will.deacon@arm.com>, Nikolay Borisov <Nikolay.Borisov@arm.com> Subject: [PATCH 00/14] Add support to STMicroelectronics STM32 family Date: Thu, 12 Feb 2015 18:45:50 +0100 [thread overview] Message-ID: <1423763164-5606-1-git-send-email-mcoquelin.stm32@gmail.com> (raw) 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. 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 -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: Maxime Coquelin <mcoquelin.stm32@gmail.com> To: Jonathan Corbet <corbet@lwn.net>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>, Mark Rutland <mark.rutland@arm.com>, Ian Campbell <ijc+devicetree@hellion.org.uk>, Kumar Gala <galak@codeaurora.org>, Philipp Zabel <p.zabel@pengutronix.de>, Russell King <linux@arm.linux.org.uk>, Daniel Lezcano <daniel.lezcano@linaro.org>, Thomas Gleixner <tglx@linutronix.de>, Linus Walleij <linus.walleij@linaro.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Jiri Slaby <jslaby@suse.cz>, Arnd Bergmann <arnd@arndb.de>, Andrew Morton <akpm@linux-foundation.org>, "David S. Miller" <davem@davemloft.net>, Mauro Carvalho Chehab <mchehab@osg.samsung.com>, Joe Perches <joe@perches.com>, Antti Palosaari <crope@iki.fi>, Tejun Heo <tj@kernel.org>, Will Deacon <will.deacon@arm.com>, Nikolay Borisov <Nikolay.Borisov@arm.com>, Rusty Russell <rusty@rustcorp.com.au>, Kees Cook <keescook@chromium.org>, Michal Marek <mmarek@suse.cz>, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-gpio@vger.kernel.org, linux-serial@vger.kernel.org, linux-arch@vger.kernel.org, linux-api@vger.kernel.org Subject: [PATCH 00/14] Add support to STMicroelectronics STM32 family Date: Thu, 12 Feb 2015 18:45:50 +0100 [thread overview] Message-ID: <1423763164-5606-1-git-send-email-mcoquelin.stm32@gmail.com> (raw) Message-ID: <20150212174550.SasLDZNCAyMt_C0P8tHr-5IaGslfgMDd_ih-evfIH3U@z> (raw) 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. 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 -- 1.9.1
next reply other threads:[~2015-02-12 17:46 UTC|newest] Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-02-12 17:45 Maxime Coquelin [this message] 2015-02-12 17:45 ` [PATCH 00/14] Add support to STMicroelectronics STM32 family Maxime Coquelin 2015-02-12 17:45 ` [PATCH 01/14] scripts: link-vmlinux: Don't pass page offset to kallsyms if XIP Kernel Maxime Coquelin 2015-02-12 17:45 ` Maxime Coquelin 2015-02-12 17:45 ` [PATCH 02/14] ARM: ARMv7M: Enlarge vector table to 256 entries Maxime Coquelin 2015-02-12 20:34 ` Geert Uytterhoeven 2015-02-12 20:34 ` Geert Uytterhoeven 2015-02-13 8:42 ` Maxime Coquelin 2015-02-13 8:42 ` Maxime Coquelin 2015-02-13 10:00 ` Uwe Kleine-König 2015-02-13 10:00 ` Uwe Kleine-König 2015-02-15 14:34 ` Maxime Coquelin 2015-02-15 14:34 ` Maxime Coquelin [not found] ` <CALszF6BDa9pUb534YN2z9DbYA+hPCnG8XYy5YbjJwSiseKz4xg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2015-02-15 22:42 ` Rob Herring 2015-02-15 22:42 ` Rob Herring 2015-02-19 16:13 ` Maxime Coquelin 2015-02-19 16:13 ` Maxime Coquelin 2015-02-19 16:35 ` Rob Herring 2015-02-19 16:35 ` Rob Herring 2015-02-12 17:45 ` Maxime Coquelin 2015-02-12 17:45 ` [PATCH 03/14] clocksource: Add ARM System timer driver Maxime Coquelin 2015-02-12 17:45 ` Maxime Coquelin [not found] ` <1423763164-5606-4-git-send-email-mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2015-02-15 22:31 ` Rob Herring 2015-02-15 22:31 ` Rob Herring [not found] ` <CAL_JsqKoT_rWzt6ZCQXwg-NxM_Mnuqy6UwmPKBRodBCf0i7zyg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2015-02-16 12:08 ` Maxime Coquelin 2015-02-16 12:08 ` Maxime Coquelin 2015-02-15 23:43 ` Andreas Färber 2015-02-15 23:43 ` Andreas Färber [not found] ` <54E12F39.6030509-l3A5Bk7waGM@public.gmane.org> 2015-02-16 12:21 ` Maxime Coquelin 2015-02-16 12:21 ` Maxime Coquelin 2015-02-12 17:45 ` [PATCH 04/14] reset: Add reset_controller_of_init() function Maxime Coquelin 2015-02-12 17:45 ` Maxime Coquelin 2015-02-13 11:49 ` Philipp Zabel 2015-02-13 11:49 ` Philipp Zabel [not found] ` <1423828144.4182.18.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> 2015-02-13 16:00 ` Maxime Coquelin 2015-02-13 16:00 ` Maxime Coquelin 2015-02-12 17:45 ` [PATCH 05/14] ARM: call reset_controller_of_init from default time_init handler Maxime Coquelin 2015-02-12 17:45 ` Maxime Coquelin 2015-02-15 22:17 ` Rob Herring 2015-02-15 22:17 ` Rob Herring 2015-02-15 23:12 ` Russell King - ARM Linux 2015-02-15 23:12 ` Russell King - ARM Linux 2015-02-16 15:48 ` Rob Herring 2015-02-16 15:48 ` Rob Herring 2015-02-16 12:02 ` Maxime Coquelin 2015-02-16 12:02 ` Maxime Coquelin 2015-02-12 17:45 ` [PATCH 06/14] drivers: reset: Add STM32 reset driver Maxime Coquelin 2015-02-12 17:45 ` Maxime Coquelin 2015-02-15 23:59 ` Andreas Färber 2015-02-15 23:59 ` Andreas Färber 2015-02-16 12:25 ` Maxime Coquelin 2015-02-16 12:25 ` Maxime Coquelin 2015-02-12 17:45 ` [PATCH 07/14] clockevent: Add STM32 Timer driver Maxime Coquelin 2015-02-12 17:45 ` Maxime Coquelin 2015-03-06 8:57 ` Linus Walleij 2015-03-06 8:57 ` Linus Walleij 2015-02-12 17:45 ` [PATCH 08/14] pinctrl: Add pinctrl driver for STM32 MCUs Maxime Coquelin 2015-02-12 17:45 ` Maxime Coquelin 2015-02-12 20:37 ` Geert Uytterhoeven 2015-02-12 20:37 ` Geert Uytterhoeven 2015-02-13 8:43 ` Maxime Coquelin 2015-02-13 8:43 ` Maxime Coquelin 2015-02-12 17:45 ` [PATCH 09/14] serial: stm32-usart: Add STM32 USART Driver Maxime Coquelin 2015-02-12 17:45 ` Maxime Coquelin 2015-02-12 17:46 ` [PATCH 10/14] ARM: Add STM32 family machine Maxime Coquelin 2015-02-12 17:46 ` Maxime Coquelin 2015-02-12 17:46 ` [PATCH 11/14] ARM: dts: Add ARM System timer as clockevent in armv7m Maxime Coquelin 2015-02-12 17:46 ` Maxime Coquelin 2015-02-12 17:46 ` [PATCH 12/14] ARM: dts: Introduce STM32F429 MCU Maxime Coquelin 2015-02-13 11:47 ` Philipp Zabel 2015-02-13 11:47 ` Philipp Zabel 2015-02-13 15:59 ` Maxime Coquelin 2015-02-13 15:59 ` Maxime Coquelin 2015-02-13 16:25 ` Philipp Zabel 2015-02-13 16:25 ` Philipp Zabel 2015-02-13 16:41 ` Maxime Coquelin 2015-02-13 16:41 ` Maxime Coquelin 2015-02-13 19:18 ` Philipp Zabel 2015-02-13 19:18 ` Philipp Zabel 2015-02-15 14:36 ` Maxime Coquelin 2015-02-15 14:36 ` Maxime Coquelin 2015-02-12 17:46 ` Maxime Coquelin 2015-02-12 17:46 ` [PATCH 13/14] ARM: configs: Add STM32 defconfig Maxime Coquelin 2015-02-12 17:46 ` Maxime Coquelin 2015-02-12 17:46 ` [PATCH 14/14] MAINTAINERS: Add entry for STM32 MCUs Maxime Coquelin 2015-02-12 17:46 ` Maxime Coquelin [not found] ` <1423763164-5606-15-git-send-email-mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2015-03-06 9:03 ` Linus Walleij 2015-03-06 9:03 ` Linus Walleij 2015-03-06 9:55 ` Maxime Coquelin 2015-03-06 9:55 ` Maxime Coquelin 2015-03-09 16:47 ` Linus Walleij 2015-03-09 16:47 ` Linus Walleij 2015-03-09 17:01 ` Maxime Coquelin 2015-03-09 17:01 ` Maxime Coquelin 2015-02-15 15:14 ` [PATCH 00/14] Add support to STMicroelectronics STM32 family Andreas Färber 2015-02-15 15:14 ` Andreas Färber [not found] ` <54E0B7C4.7050900-l3A5Bk7waGM@public.gmane.org> 2015-02-16 11:52 ` Maxime Coquelin 2015-02-16 11:52 ` Maxime Coquelin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1423763164-5606-1-git-send-email-mcoquelin.stm32@gmail.com \ --to=mcoquelin.stm32@gmail.com \ --cc=Nikolay.Borisov@arm.com \ --cc=akpm@linux-foundation.org \ --cc=arnd@arndb.de \ --cc=corbet@lwn.net \ --cc=crope@iki.fi \ --cc=daniel.lezcano@linaro.org \ --cc=davem@davemloft.net \ --cc=galak@codeaurora.org \ --cc=gregkh@linuxfoundation.org \ --cc=ijc+devicetree@hellion.org.uk \ --cc=joe@perches.com \ --cc=jslaby@suse.cz \ --cc=linus.walleij@linaro.org \ --cc=linux@arm.linux.org.uk \ --cc=mark.rutland@arm.com \ --cc=mchehab@osg.samsung.com \ --cc=p.zabel@pengutronix.de \ --cc=pawel.moll@arm.com \ --cc=robh+dt@kernel.org \ --cc=tglx@linutronix.de \ --cc=tj@kernel.org \ --cc=will.deacon@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).