From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: afaerber@suse.de, geert@linux-m68k.org,
Rob Herring <robh+dt@kernel.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Jonathan Corbet <corbet@lwn.net>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
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>,
Rust
Subject: Re: [PATCH v2 14/18] ARM: Add STM32 family machine
Date: Fri, 20 Feb 2015 21:00:19 +0100 [thread overview]
Message-ID: <20150220200019.GU19388@pengutronix.de> (raw)
In-Reply-To: <1424455277-29983-15-git-send-email-mcoquelin.stm32@gmail.com>
Hello,
On Fri, Feb 20, 2015 at 07:01:13PM +0100, Maxime Coquelin wrote:
> STMicrolectronics's STM32 series is a family of Cortex-M
> microcontrollers. It is used in various applications, and
> proposes a wide range of peripherals.
>
> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> ---
> Documentation/arm/stm32/overview.txt | 32 ++++++++++++++++++++++++++
> Documentation/arm/stm32/stm32f429-overview.txt | 22 ++++++++++++++++++
> arch/arm/Kconfig | 22 ++++++++++++++++++
> arch/arm/Makefile | 1 +
> arch/arm/mach-stm32/Makefile | 1 +
> arch/arm/mach-stm32/Makefile.boot | 0
> arch/arm/mach-stm32/board-dt.c | 31 +++++++++++++++++++++++++
> 7 files changed, 109 insertions(+)
> create mode 100644 Documentation/arm/stm32/overview.txt
> create mode 100644 Documentation/arm/stm32/stm32f429-overview.txt
> 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
>
> diff --git a/Documentation/arm/stm32/overview.txt b/Documentation/arm/stm32/overview.txt
> new file mode 100644
> index 0000000..d8bf6bb
> --- /dev/null
> +++ b/Documentation/arm/stm32/overview.txt
> @@ -0,0 +1,32 @@
> + STM32 ARM Linux Overview
> + ==========================
> +
> +Introduction
> +------------
> +
> + The STMicroelectronics family of Cortex-M based MCUs are supported by the
> + 'STM32' platform of ARM Linux. Currently only the STM32F429 is supported.
> +
> +
> +Configuration
> +-------------
> +
> + A generic configuration is provided for STM32 family, and can be used as the
> + default by
> + make stm32_defconfig
> +
> +Layout
> +------
> +
> + All the files for multiple machine families are located in the platform code
> + contained in arch/arm/mach-stm32
> +
> + There is a generic board board-dt.c in the mach folder which support
> + Flattened Device Tree, which means, It works with any compatible board with
> + Device Trees.
> +
> +
> +Document Author
> +---------------
> +
> + Maxime Coquelin <mcoquelin.stm32@gmail.com>
> diff --git a/Documentation/arm/stm32/stm32f429-overview.txt b/Documentation/arm/stm32/stm32f429-overview.txt
> new file mode 100644
> index 0000000..5206822
> --- /dev/null
> +++ b/Documentation/arm/stm32/stm32f429-overview.txt
> @@ -0,0 +1,22 @@
> + STM32F429 Overview
> + ==================
> +
> + Introduction
> + ------------
> + The STM32F429 is a Cortex-M4 MCU aimed at various applications.
> + It features:
> + - ARM Cortex-M4 up to 180MHz with FPU
> + - 2MB internal Flash Memory
> + - External memory support through FMC controller (PSRAM, SDRAM, NOR, NAND)
> + - I2C, SPI, SAI, CAN, USB OTG, Ethernet controllers
> + - LCD controller & Camera interface
> + - Cryptographic processor
> +
> + Resources
> + ---------
> + Datasheet and reference manual are publicly available on ST website:
> + - http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577/LN1806?ecmp=stm32f429-439_pron_pr-ces2014_nov2013
> +
> + Document Author
> + ---------------
> + Maxime Coquelin <mcoquelin.stm32@gmail.com>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 97d07ed..cfd9532 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -774,6 +774,28 @@ config ARCH_OMAP1
> help
> Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx)
>
> +config ARCH_STM32
> + bool "STMicrolectronics STM32"
> + depends on !MMU
> + select ARCH_REQUIRE_GPIOLIB
> + select ARM_NVIC
> + select AUTO_ZRELADDR
> + select ARCH_HAS_RESET_CONTROLLER
> + select RESET_CONTROLLER
> + select PINCTRL
> + select PINCTRL_STM32
> + select CLKSRC_OF
> + select ARMV7M_SYSTICK
> + select COMMON_CLK
> + select CPU_V7M
> + select GENERIC_CLOCKEVENTS
> + select NO_DMA
> + select NO_IOPORT_MAP
> + select SPARSE_IRQ
> + select USE_OF
Please sort this list alphabetically.
> + help
> + Support for STMicorelectronics STM32 processors.
> +
> endchoice
>
> menu "Multiple platform selection"
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index c1785ee..7d00659 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -196,6 +196,7 @@ machine-$(CONFIG_ARCH_SHMOBILE) += shmobile
> machine-$(CONFIG_ARCH_SIRF) += prima2
> machine-$(CONFIG_ARCH_SOCFPGA) += socfpga
> machine-$(CONFIG_ARCH_STI) += sti
> +machine-$(CONFIG_ARCH_STM32) += stm32
> machine-$(CONFIG_ARCH_SUNXI) += sunxi
> machine-$(CONFIG_ARCH_TEGRA) += tegra
> machine-$(CONFIG_ARCH_U300) += u300
> diff --git a/arch/arm/mach-stm32/Makefile b/arch/arm/mach-stm32/Makefile
> new file mode 100644
> index 0000000..bd0b7b5
> --- /dev/null
> +++ b/arch/arm/mach-stm32/Makefile
> @@ -0,0 +1 @@
> +obj-y += board-dt.o
> diff --git a/arch/arm/mach-stm32/Makefile.boot b/arch/arm/mach-stm32/Makefile.boot
> new file mode 100644
> index 0000000..e69de29
Maybe note there why this file exists and can be empty. Feel free to
copy the content of efm32's Makefile.boot.
> diff --git a/arch/arm/mach-stm32/board-dt.c b/arch/arm/mach-stm32/board-dt.c
> new file mode 100644
> index 0000000..1d681b3
> --- /dev/null
> +++ b/arch/arm/mach-stm32/board-dt.c
> @@ -0,0 +1,31 @@
> +/*
> + * Copyright (C) Maxime Coquelin 2015
> + * Author: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> + * License terms: GNU General Public License (GPL), version 2
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/clk-provider.h>
> +#include <linux/clocksource.h>
> +#include <linux/reset-controller.h>
> +#include <asm/v7m.h>
> +#include <asm/mach/arch.h>
> +
> +static const char *const stm32_compat[] __initconst = {
> + "st,stm32f429",
> + NULL
> +};
> +
> +static void __init stm32_timer_init(void)
> +{
> + of_clk_init(NULL);
> + reset_controller_of_init();
> + clocksource_of_init();
Hmm, if reset_controller_of_init was called automatically you wouldn't
need that, right? Maybe arange for that instead?
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
WARNING: multiple messages have this Message-ID (diff)
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: afaerber@suse.de, geert@linux-m68k.org,
Rob Herring <robh+dt@kernel.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Jonathan Corbet <corbet@lwn.net>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
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: Re: [PATCH v2 14/18] ARM: Add STM32 family machine
Date: Fri, 20 Feb 2015 21:00:19 +0100 [thread overview]
Message-ID: <20150220200019.GU19388@pengutronix.de> (raw)
Message-ID: <20150220200019.b3jQv2XlxhyVTjYHPnEAOyQMPWFbNJqTQyjK6-Ni7UM@z> (raw)
In-Reply-To: <1424455277-29983-15-git-send-email-mcoquelin.stm32@gmail.com>
Hello,
On Fri, Feb 20, 2015 at 07:01:13PM +0100, Maxime Coquelin wrote:
> STMicrolectronics's STM32 series is a family of Cortex-M
> microcontrollers. It is used in various applications, and
> proposes a wide range of peripherals.
>
> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> ---
> Documentation/arm/stm32/overview.txt | 32 ++++++++++++++++++++++++++
> Documentation/arm/stm32/stm32f429-overview.txt | 22 ++++++++++++++++++
> arch/arm/Kconfig | 22 ++++++++++++++++++
> arch/arm/Makefile | 1 +
> arch/arm/mach-stm32/Makefile | 1 +
> arch/arm/mach-stm32/Makefile.boot | 0
> arch/arm/mach-stm32/board-dt.c | 31 +++++++++++++++++++++++++
> 7 files changed, 109 insertions(+)
> create mode 100644 Documentation/arm/stm32/overview.txt
> create mode 100644 Documentation/arm/stm32/stm32f429-overview.txt
> 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
>
> diff --git a/Documentation/arm/stm32/overview.txt b/Documentation/arm/stm32/overview.txt
> new file mode 100644
> index 0000000..d8bf6bb
> --- /dev/null
> +++ b/Documentation/arm/stm32/overview.txt
> @@ -0,0 +1,32 @@
> + STM32 ARM Linux Overview
> + ==========================
> +
> +Introduction
> +------------
> +
> + The STMicroelectronics family of Cortex-M based MCUs are supported by the
> + 'STM32' platform of ARM Linux. Currently only the STM32F429 is supported.
> +
> +
> +Configuration
> +-------------
> +
> + A generic configuration is provided for STM32 family, and can be used as the
> + default by
> + make stm32_defconfig
> +
> +Layout
> +------
> +
> + All the files for multiple machine families are located in the platform code
> + contained in arch/arm/mach-stm32
> +
> + There is a generic board board-dt.c in the mach folder which support
> + Flattened Device Tree, which means, It works with any compatible board with
> + Device Trees.
> +
> +
> +Document Author
> +---------------
> +
> + Maxime Coquelin <mcoquelin.stm32@gmail.com>
> diff --git a/Documentation/arm/stm32/stm32f429-overview.txt b/Documentation/arm/stm32/stm32f429-overview.txt
> new file mode 100644
> index 0000000..5206822
> --- /dev/null
> +++ b/Documentation/arm/stm32/stm32f429-overview.txt
> @@ -0,0 +1,22 @@
> + STM32F429 Overview
> + ==================
> +
> + Introduction
> + ------------
> + The STM32F429 is a Cortex-M4 MCU aimed at various applications.
> + It features:
> + - ARM Cortex-M4 up to 180MHz with FPU
> + - 2MB internal Flash Memory
> + - External memory support through FMC controller (PSRAM, SDRAM, NOR, NAND)
> + - I2C, SPI, SAI, CAN, USB OTG, Ethernet controllers
> + - LCD controller & Camera interface
> + - Cryptographic processor
> +
> + Resources
> + ---------
> + Datasheet and reference manual are publicly available on ST website:
> + - http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577/LN1806?ecmp=stm32f429-439_pron_pr-ces2014_nov2013
> +
> + Document Author
> + ---------------
> + Maxime Coquelin <mcoquelin.stm32@gmail.com>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 97d07ed..cfd9532 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -774,6 +774,28 @@ config ARCH_OMAP1
> help
> Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx)
>
> +config ARCH_STM32
> + bool "STMicrolectronics STM32"
> + depends on !MMU
> + select ARCH_REQUIRE_GPIOLIB
> + select ARM_NVIC
> + select AUTO_ZRELADDR
> + select ARCH_HAS_RESET_CONTROLLER
> + select RESET_CONTROLLER
> + select PINCTRL
> + select PINCTRL_STM32
> + select CLKSRC_OF
> + select ARMV7M_SYSTICK
> + select COMMON_CLK
> + select CPU_V7M
> + select GENERIC_CLOCKEVENTS
> + select NO_DMA
> + select NO_IOPORT_MAP
> + select SPARSE_IRQ
> + select USE_OF
Please sort this list alphabetically.
> + help
> + Support for STMicorelectronics STM32 processors.
> +
> endchoice
>
> menu "Multiple platform selection"
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index c1785ee..7d00659 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -196,6 +196,7 @@ machine-$(CONFIG_ARCH_SHMOBILE) += shmobile
> machine-$(CONFIG_ARCH_SIRF) += prima2
> machine-$(CONFIG_ARCH_SOCFPGA) += socfpga
> machine-$(CONFIG_ARCH_STI) += sti
> +machine-$(CONFIG_ARCH_STM32) += stm32
> machine-$(CONFIG_ARCH_SUNXI) += sunxi
> machine-$(CONFIG_ARCH_TEGRA) += tegra
> machine-$(CONFIG_ARCH_U300) += u300
> diff --git a/arch/arm/mach-stm32/Makefile b/arch/arm/mach-stm32/Makefile
> new file mode 100644
> index 0000000..bd0b7b5
> --- /dev/null
> +++ b/arch/arm/mach-stm32/Makefile
> @@ -0,0 +1 @@
> +obj-y += board-dt.o
> diff --git a/arch/arm/mach-stm32/Makefile.boot b/arch/arm/mach-stm32/Makefile.boot
> new file mode 100644
> index 0000000..e69de29
Maybe note there why this file exists and can be empty. Feel free to
copy the content of efm32's Makefile.boot.
> diff --git a/arch/arm/mach-stm32/board-dt.c b/arch/arm/mach-stm32/board-dt.c
> new file mode 100644
> index 0000000..1d681b3
> --- /dev/null
> +++ b/arch/arm/mach-stm32/board-dt.c
> @@ -0,0 +1,31 @@
> +/*
> + * Copyright (C) Maxime Coquelin 2015
> + * Author: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> + * License terms: GNU General Public License (GPL), version 2
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/clk-provider.h>
> +#include <linux/clocksource.h>
> +#include <linux/reset-controller.h>
> +#include <asm/v7m.h>
> +#include <asm/mach/arch.h>
> +
> +static const char *const stm32_compat[] __initconst = {
> + "st,stm32f429",
> + NULL
> +};
> +
> +static void __init stm32_timer_init(void)
> +{
> + of_clk_init(NULL);
> + reset_controller_of_init();
> + clocksource_of_init();
Hmm, if reset_controller_of_init was called automatically you wouldn't
need that, right? Maybe arange for that instead?
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
WARNING: multiple messages have this Message-ID (diff)
From: u.kleine-koenig@pengutronix.de (Uwe Kleine-König)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 14/18] ARM: Add STM32 family machine
Date: Fri, 20 Feb 2015 21:00:19 +0100 [thread overview]
Message-ID: <20150220200019.GU19388@pengutronix.de> (raw)
In-Reply-To: <1424455277-29983-15-git-send-email-mcoquelin.stm32@gmail.com>
Hello,
On Fri, Feb 20, 2015 at 07:01:13PM +0100, Maxime Coquelin wrote:
> STMicrolectronics's STM32 series is a family of Cortex-M
> microcontrollers. It is used in various applications, and
> proposes a wide range of peripherals.
>
> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> ---
> Documentation/arm/stm32/overview.txt | 32 ++++++++++++++++++++++++++
> Documentation/arm/stm32/stm32f429-overview.txt | 22 ++++++++++++++++++
> arch/arm/Kconfig | 22 ++++++++++++++++++
> arch/arm/Makefile | 1 +
> arch/arm/mach-stm32/Makefile | 1 +
> arch/arm/mach-stm32/Makefile.boot | 0
> arch/arm/mach-stm32/board-dt.c | 31 +++++++++++++++++++++++++
> 7 files changed, 109 insertions(+)
> create mode 100644 Documentation/arm/stm32/overview.txt
> create mode 100644 Documentation/arm/stm32/stm32f429-overview.txt
> 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
>
> diff --git a/Documentation/arm/stm32/overview.txt b/Documentation/arm/stm32/overview.txt
> new file mode 100644
> index 0000000..d8bf6bb
> --- /dev/null
> +++ b/Documentation/arm/stm32/overview.txt
> @@ -0,0 +1,32 @@
> + STM32 ARM Linux Overview
> + ==========================
> +
> +Introduction
> +------------
> +
> + The STMicroelectronics family of Cortex-M based MCUs are supported by the
> + 'STM32' platform of ARM Linux. Currently only the STM32F429 is supported.
> +
> +
> +Configuration
> +-------------
> +
> + A generic configuration is provided for STM32 family, and can be used as the
> + default by
> + make stm32_defconfig
> +
> +Layout
> +------
> +
> + All the files for multiple machine families are located in the platform code
> + contained in arch/arm/mach-stm32
> +
> + There is a generic board board-dt.c in the mach folder which support
> + Flattened Device Tree, which means, It works with any compatible board with
> + Device Trees.
> +
> +
> +Document Author
> +---------------
> +
> + Maxime Coquelin <mcoquelin.stm32@gmail.com>
> diff --git a/Documentation/arm/stm32/stm32f429-overview.txt b/Documentation/arm/stm32/stm32f429-overview.txt
> new file mode 100644
> index 0000000..5206822
> --- /dev/null
> +++ b/Documentation/arm/stm32/stm32f429-overview.txt
> @@ -0,0 +1,22 @@
> + STM32F429 Overview
> + ==================
> +
> + Introduction
> + ------------
> + The STM32F429 is a Cortex-M4 MCU aimed at various applications.
> + It features:
> + - ARM Cortex-M4 up to 180MHz with FPU
> + - 2MB internal Flash Memory
> + - External memory support through FMC controller (PSRAM, SDRAM, NOR, NAND)
> + - I2C, SPI, SAI, CAN, USB OTG, Ethernet controllers
> + - LCD controller & Camera interface
> + - Cryptographic processor
> +
> + Resources
> + ---------
> + Datasheet and reference manual are publicly available on ST website:
> + - http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577/LN1806?ecmp=stm32f429-439_pron_pr-ces2014_nov2013
> +
> + Document Author
> + ---------------
> + Maxime Coquelin <mcoquelin.stm32@gmail.com>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 97d07ed..cfd9532 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -774,6 +774,28 @@ config ARCH_OMAP1
> help
> Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx)
>
> +config ARCH_STM32
> + bool "STMicrolectronics STM32"
> + depends on !MMU
> + select ARCH_REQUIRE_GPIOLIB
> + select ARM_NVIC
> + select AUTO_ZRELADDR
> + select ARCH_HAS_RESET_CONTROLLER
> + select RESET_CONTROLLER
> + select PINCTRL
> + select PINCTRL_STM32
> + select CLKSRC_OF
> + select ARMV7M_SYSTICK
> + select COMMON_CLK
> + select CPU_V7M
> + select GENERIC_CLOCKEVENTS
> + select NO_DMA
> + select NO_IOPORT_MAP
> + select SPARSE_IRQ
> + select USE_OF
Please sort this list alphabetically.
> + help
> + Support for STMicorelectronics STM32 processors.
> +
> endchoice
>
> menu "Multiple platform selection"
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index c1785ee..7d00659 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -196,6 +196,7 @@ machine-$(CONFIG_ARCH_SHMOBILE) += shmobile
> machine-$(CONFIG_ARCH_SIRF) += prima2
> machine-$(CONFIG_ARCH_SOCFPGA) += socfpga
> machine-$(CONFIG_ARCH_STI) += sti
> +machine-$(CONFIG_ARCH_STM32) += stm32
> machine-$(CONFIG_ARCH_SUNXI) += sunxi
> machine-$(CONFIG_ARCH_TEGRA) += tegra
> machine-$(CONFIG_ARCH_U300) += u300
> diff --git a/arch/arm/mach-stm32/Makefile b/arch/arm/mach-stm32/Makefile
> new file mode 100644
> index 0000000..bd0b7b5
> --- /dev/null
> +++ b/arch/arm/mach-stm32/Makefile
> @@ -0,0 +1 @@
> +obj-y += board-dt.o
> diff --git a/arch/arm/mach-stm32/Makefile.boot b/arch/arm/mach-stm32/Makefile.boot
> new file mode 100644
> index 0000000..e69de29
Maybe note there why this file exists and can be empty. Feel free to
copy the content of efm32's Makefile.boot.
> diff --git a/arch/arm/mach-stm32/board-dt.c b/arch/arm/mach-stm32/board-dt.c
> new file mode 100644
> index 0000000..1d681b3
> --- /dev/null
> +++ b/arch/arm/mach-stm32/board-dt.c
> @@ -0,0 +1,31 @@
> +/*
> + * Copyright (C) Maxime Coquelin 2015
> + * Author: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> + * License terms: GNU General Public License (GPL), version 2
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/clk-provider.h>
> +#include <linux/clocksource.h>
> +#include <linux/reset-controller.h>
> +#include <asm/v7m.h>
> +#include <asm/mach/arch.h>
> +
> +static const char *const stm32_compat[] __initconst = {
> + "st,stm32f429",
> + NULL
> +};
> +
> +static void __init stm32_timer_init(void)
> +{
> + of_clk_init(NULL);
> + reset_controller_of_init();
> + clocksource_of_init();
Hmm, if reset_controller_of_init was called automatically you wouldn't
need that, right? Maybe arange for that instead?
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
next prev parent reply other threads:[~2015-02-20 20:00 UTC|newest]
Thread overview: 257+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-20 18:00 [PATCH v2 00/18] Add support to STMicroelectronics STM32 family Maxime Coquelin
2015-02-20 18:00 ` Maxime Coquelin
2015-02-20 18:00 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 01/18] scripts: link-vmlinux: Don't pass page offset to kallsyms if XIP Kernel Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 02/18] ARM: ARMv7M: Enlarge vector table to 256 entries Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 19:47 ` Uwe Kleine-König
2015-02-20 19:47 ` Uwe Kleine-König
2015-02-20 19:47 ` Uwe Kleine-König
2015-02-23 10:33 ` Maxime Coquelin
2015-02-23 10:33 ` Maxime Coquelin
2015-02-23 10:33 ` Maxime Coquelin
2015-02-26 10:29 ` Maxime Coquelin
2015-02-26 10:29 ` Maxime Coquelin
2015-02-26 10:29 ` Maxime Coquelin
2015-02-26 10:43 ` Uwe Kleine-König
2015-02-26 10:43 ` Uwe Kleine-König
2015-02-26 10:43 ` Uwe Kleine-König
2015-03-09 0:29 ` Stefan Agner
2015-03-09 0:29 ` Stefan Agner
2015-03-09 0:29 ` Stefan Agner
2015-03-09 17:12 ` Maxime Coquelin
2015-03-09 17:12 ` Maxime Coquelin
2015-03-09 17:12 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 03/18] dt-bindings: Document the ARM System timer bindings Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 04/18] clocksource: Add ARM System timer driver Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 19:54 ` Uwe Kleine-König
2015-02-20 19:54 ` Uwe Kleine-König
2015-02-20 19:54 ` Uwe Kleine-König
2015-02-20 21:48 ` Paul Bolle
2015-02-20 21:48 ` Paul Bolle
2015-02-20 21:48 ` Paul Bolle
2015-03-02 16:53 ` Maxime Coquelin
2015-03-02 16:53 ` Maxime Coquelin
2015-03-02 16:53 ` Maxime Coquelin
2015-03-03 19:43 ` Paul Bolle
2015-03-03 19:43 ` Paul Bolle
2015-03-03 19:43 ` Paul Bolle
2015-03-04 12:08 ` Maxime Coquelin
2015-03-04 12:08 ` Maxime Coquelin
2015-03-04 12:08 ` Maxime Coquelin
2015-03-09 21:12 ` Paul Bolle
2015-03-09 21:12 ` Paul Bolle
2015-03-09 21:12 ` Paul Bolle
2015-03-09 22:17 ` Uwe Kleine-König
2015-03-09 22:17 ` Uwe Kleine-König
2015-03-09 22:17 ` Uwe Kleine-König
2015-03-09 15:50 ` Linus Walleij
2015-03-09 15:50 ` Linus Walleij
2015-03-09 15:50 ` Linus Walleij
2015-03-09 17:00 ` Maxime Coquelin
2015-03-09 17:00 ` Maxime Coquelin
2015-03-09 17:00 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 05/18] reset: Add reset_controller_of_init() function Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-03-10 15:00 ` Arnd Bergmann
2015-03-10 15:00 ` Arnd Bergmann
2015-03-10 15:00 ` Arnd Bergmann
2015-03-10 15:28 ` Maxime Coquelin
2015-03-10 15:28 ` Maxime Coquelin
2015-03-10 15:28 ` Maxime Coquelin
2015-03-10 15:28 ` Maxime Coquelin
2015-03-10 15:28 ` Maxime Coquelin
2015-03-10 20:19 ` Arnd Bergmann
2015-03-10 20:19 ` Arnd Bergmann
2015-03-10 20:19 ` Arnd Bergmann
2015-03-10 21:30 ` Rob Herring
2015-03-10 21:30 ` Rob Herring
2015-03-10 21:30 ` Rob Herring
[not found] ` <CAL_Jsq+_ridpAaUwpqo91xB6Ea1ctCWfYTYUrcZ=gB_0FiBD4g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-12 21:08 ` Maxime Coquelin
2015-03-12 21:08 ` Maxime Coquelin
2015-03-12 21:08 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 06/18] dt-bindings: Document the STM32 reset bindings Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 07/18] drivers: reset: Add STM32 reset driver Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-03-10 15:02 ` Arnd Bergmann
2015-03-10 15:02 ` Arnd Bergmann
2015-03-10 15:02 ` Arnd Bergmann
2015-03-10 15:41 ` Maxime Coquelin
2015-03-10 15:41 ` Maxime Coquelin
2015-03-10 15:41 ` Maxime Coquelin
2015-03-10 15:44 ` Maxime Coquelin
2015-03-10 15:44 ` Maxime Coquelin
2015-03-10 15:44 ` Maxime Coquelin
2015-03-10 20:21 ` Arnd Bergmann
2015-03-10 20:21 ` Arnd Bergmann
2015-03-10 20:21 ` Arnd Bergmann
2015-03-10 21:20 ` Maxime Coquelin
2015-03-10 21:20 ` Maxime Coquelin
2015-03-10 21:20 ` Maxime Coquelin
2015-03-11 13:08 ` Philipp Zabel
2015-03-11 13:08 ` Philipp Zabel
2015-03-11 13:08 ` Philipp Zabel
2015-03-12 21:05 ` Maxime Coquelin
2015-03-12 21:05 ` Maxime Coquelin
2015-03-12 21:05 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 08/18] dt-bindings: Document the STM32 timer bindings Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 09/18] clockevent: Add STM32 Timer driver Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 10/18] dt-bindings: Document the STM32 pin controller Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
[not found] ` <1424455277-29983-11-git-send-email-mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-06 9:12 ` Linus Walleij
2015-03-06 9:12 ` Linus Walleij
2015-03-06 9:12 ` Linus Walleij
2015-03-06 9:35 ` Linus Walleij
2015-03-06 9:35 ` Linus Walleij
2015-03-06 9:35 ` Linus Walleij
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 11/18] pinctrl: Add pinctrl driver for STM32 MCUs Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-03-06 9:24 ` Linus Walleij
2015-03-06 9:24 ` Linus Walleij
2015-03-06 9:24 ` Linus Walleij
2015-03-06 9:57 ` Maxime Coquelin
2015-03-06 9:57 ` Maxime Coquelin
2015-03-06 9:57 ` Maxime Coquelin
2015-03-10 15:08 ` Arnd Bergmann
2015-03-10 15:08 ` Arnd Bergmann
2015-03-10 15:08 ` Arnd Bergmann
2015-03-18 1:08 ` Linus Walleij
2015-03-18 1:08 ` Linus Walleij
2015-03-18 1:08 ` Linus Walleij
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 12/18] dt-bindings: Document the STM32 USART bindings Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-03-10 15:08 ` Arnd Bergmann
2015-03-10 15:08 ` Arnd Bergmann
2015-03-10 15:08 ` Arnd Bergmann
2015-03-10 15:45 ` Maxime Coquelin
2015-03-10 15:45 ` Maxime Coquelin
2015-03-10 15:45 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 13/18] serial: stm32-usart: Add STM32 USART Driver Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 14/18] ARM: Add STM32 family machine Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:33 ` Peter Meerwald
2015-02-20 18:33 ` Peter Meerwald
2015-02-25 11:52 ` Maxime Coquelin
2015-02-25 11:52 ` Maxime Coquelin
2015-02-20 20:00 ` Uwe Kleine-König [this message]
2015-02-20 20:00 ` Uwe Kleine-König
2015-02-20 20:00 ` Uwe Kleine-König
2015-02-20 21:37 ` Paul Bolle
2015-02-20 21:37 ` Paul Bolle
2015-02-20 21:37 ` Paul Bolle
2015-02-25 12:04 ` Maxime Coquelin
2015-02-25 12:04 ` Maxime Coquelin
2015-02-25 12:04 ` Maxime Coquelin
2015-02-25 12:03 ` Maxime Coquelin
2015-02-25 12:03 ` Maxime Coquelin
2015-02-25 12:03 ` Maxime Coquelin
2015-03-10 15:10 ` Arnd Bergmann
2015-03-10 15:10 ` Arnd Bergmann
2015-03-10 15:10 ` Arnd Bergmann
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 15/18] ARM: dts: Add ARM System timer as clockevent in armv7m Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 16/18] ARM: dts: Introduce STM32F429 MCU Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-03-02 17:42 ` Andreas Färber
[not found] ` <1424455277-29983-17-git-send-email-mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-02 17:42 ` Andreas Färber
2015-03-02 17:42 ` Andreas Färber
2015-03-02 17:42 ` Andreas Färber
2015-03-02 17:42 ` Andreas Färber
2015-03-02 17:42 ` Andreas Färber
[not found] ` <54F4A0F7.80606-l3A5Bk7waGM@public.gmane.org>
2015-03-03 17:59 ` Maxime Coquelin
2015-03-03 17:59 ` Maxime Coquelin
2015-03-03 17:59 ` Maxime Coquelin
2015-03-03 17:59 ` Maxime Coquelin
2015-03-09 14:39 ` Linus Walleij
2015-03-09 14:39 ` Linus Walleij
2015-03-09 14:39 ` Linus Walleij
2015-03-09 16:51 ` Maxime Coquelin
2015-03-09 16:51 ` Maxime Coquelin
2015-03-09 16:51 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 17/18] ARM: configs: Add STM32 defconfig Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
[not found] ` <1424455277-29983-1-git-send-email-mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-02-20 18:01 ` [PATCH v2 01/18] scripts: link-vmlinux: Don't pass page offset to kallsyms if XIP Kernel Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 02/18] ARM: ARMv7M: Enlarge vector table to 256 entries Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 03/18] dt-bindings: Document the ARM System timer bindings Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 04/18] clocksource: Add ARM System timer driver Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 05/18] reset: Add reset_controller_of_init() function Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 06/18] dt-bindings: Document the STM32 reset bindings Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 07/18] drivers: reset: Add STM32 reset driver Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 08/18] dt-bindings: Document the STM32 timer bindings Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 09/18] clockevent: Add STM32 Timer driver Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 10/18] dt-bindings: Document the STM32 pin controller Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 11/18] pinctrl: Add pinctrl driver for STM32 MCUs Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 12/18] dt-bindings: Document the STM32 USART bindings Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 13/18] serial: stm32-usart: Add STM32 USART Driver Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 14/18] ARM: Add STM32 family machine Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 15/18] ARM: dts: Add ARM System timer as clockevent in armv7m Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 16/18] ARM: dts: Introduce STM32F429 MCU Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 17/18] ARM: configs: Add STM32 defconfig Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 18/18] MAINTAINERS: Add entry for STM32 MCUs Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-20 18:01 ` Maxime Coquelin
2015-02-24 14:14 ` [PATCH v2 00/18] Add support to STMicroelectronics STM32 family David Howells
2015-02-25 11:50 ` Maxime Coquelin
2015-02-25 16:34 ` David Howells
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=20150220200019.GU19388@pengutronix.de \
--to=u.kleine-koenig@pengutronix.de \
--cc=Nikolay.Borisov@arm.com \
--cc=afaerber@suse.de \
--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=geert@linux-m68k.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=mcoquelin.stm32@gmail.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.