devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Maxime Coquelin <mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	afaerber-l3A5Bk7waGM@public.gmane.org,
	geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Philipp Zabel <p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	Jonathan Corbet <corbet-T1hC0tSOHrs@public.gmane.org>,
	Maxime Coquelin
	<mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	Ian Campbell
	<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
	Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Daniel Lezcano
	<daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
	Linus Walleij
	<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
	Jiri Slaby <jslaby-AlSwsSmVLrQ@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Andrew Morton
	<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	"David S. Miller" <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>,
	Mauro Carvalho Chehab
	<mchehab-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>,
	Joe Perches <joe-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>,
	Antti Palosaari <crope-X3B1VOXEql0@public.gmane.org>,
	Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Will
Subject: [PATCH v2 10/18] dt-bindings: Document the STM32 pin controller
Date: Fri, 20 Feb 2015 19:01:09 +0100	[thread overview]
Message-ID: <1424455277-29983-11-git-send-email-mcoquelin.stm32@gmail.com> (raw)
In-Reply-To: <1424455277-29983-1-git-send-email-mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

This adds documentation of device tree bindings for the
STM32 pin controller.

Signed-off-by: Maxime Coquelin <mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 .../devicetree/bindings/pinctrl/pinctrl-stm32.txt  | 99 ++++++++++++++++++++++
 1 file changed, 99 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stm32.txt

diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-stm32.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-stm32.txt
new file mode 100644
index 0000000..0fb5b24
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-stm32.txt
@@ -0,0 +1,99 @@
+* STM32 GPIO and Pin Mux/Config controller
+
+STMicroelectronics's STM32 MCUs intregrate a GPIO and Pin mux/config hardware
+controller. It controls the input/output settings on the available pins and
+also provides ability to multiplex and configure the output of various on-chip
+controllers onto these pads.
+
+Pin controller node:
+Required properies:
+- compatible	: "st,stm32-pinctrl"
+- #address-cells: The value of this property must be 1
+- #size-cells	: The value of this property must be 1
+- ranges	: defines mapping between pin controller node (parent) to
+  gpio-bank node (children).
+
+GPIO controller/bank node:
+Required properties:
+- gpio-controller : Indicates this device is a GPIO controller
+- #gpio-cells	  : Should be two.
+			The first cell is the pin number
+			The second one is the polarity:
+				- 0 for active high
+				- 1 for active low
+- reg		  : The gpio address range, relative to the pinctrl range
+- st,bank-name	  : Should be a name string for this bank as specified in
+  the datasheet
+
+Optional properties:
+- reset:	  : Reference to the reset controller
+
+Example:
+#include <dt-bindings/pinctrl/pinctrl-stm32.h>
+...
+
+	pin-controller {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "st,stm32-pinctrl";
+		ranges = <0 0x40020000 0x3000>;
+
+		gpioa: gpio@40020000 {
+			gpio-controller;
+			#gpio-cells = <2>;
+			reg = <0x0 0x400>;
+			resets = <&reset_ahb1 0>;
+			st,bank-name = "GPIOA";
+		};
+		...
+		pin-functions nodes follow...
+	};
+
+Contents of function subnode node:
+----------------------------------
+
+Required properties for pin configuration node:
+- st,pins	: Child node with list of pins with configuration.
+
+Below is the format of how each pin conf should look like.
+
+<bank offset altmode pull type speed>
+
+Every PIO is represented with 4 to 6 parameters.
+Each parameter is explained as below.
+
+- bank	  : Should be bank phandle to which this PIO belongs.
+- offset  : Offset in the PIO bank.
+- altmode : Should be mode or alternate function number associated this pin, as
+described in the datasheet (IN, OUT, ALT0...ALT15, ANALOG)
+- pull	  : Should be either NO_PULL, PULL_UP or PULL_DOWN
+- type	  : Should be either PUSH_PULL or OPEN_DRAIN.
+	    Setting it is not needed for IN and ANALOG modes, or alternate
+	    functions acting as inputs.
+- speed	  : Value taken from the datasheet, depending on the function
+(LOW_SPEED, MEDIUM_SPEED, FAST_SPEED, HIGH_SPEED)
+	    Setting it is not needed for IN and ANALOG modes, or alternate
+	    functions acting as inputs.
+
+usart1 {
+	pinctrl_usart1: usart1-0 {
+		st,pins {
+			tx = <&gpioa 9 ALT7 NO_PULL PUSH_PULL LOW_SPEED>;
+			rx = <&gpioa 10 ALT7 NO_PULL PUSH_PULL LOW_SPEED>;
+		};
+	};
+};
+
+adc2 {
+	pinctrl_adc2: adc2-0 {
+		st,pins {
+			adc0 = <&gpioe 4 ANALOG NO_PULL>;
+		};
+	};
+};
+
+usart1: usart@40011000 {
+	...
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usart1>;
+};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-02-20 18:01 UTC|newest]

Thread overview: 83+ 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: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 ` [PATCH v2 02/18] ARM: ARMv7M: Enlarge vector table to 256 entries Maxime Coquelin
2015-02-20 19:47   ` Uwe Kleine-König
2015-02-23 10:33     ` Maxime Coquelin
2015-02-26 10:29       ` Maxime Coquelin
2015-02-26 10:43         ` Uwe Kleine-König
2015-03-09  0:29   ` Stefan Agner
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
     [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   ` [PATCH v2 02/18] ARM: ARMv7M: Enlarge vector table to 256 entries 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   ` [PATCH v2 04/18] clocksource: Add ARM System timer driver 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   ` [PATCH v2 06/18] dt-bindings: Document the STM32 reset bindings Maxime Coquelin
2015-02-20 18:01   ` [PATCH v2 07/18] drivers: reset: Add STM32 reset driver 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   ` [PATCH v2 09/18] clockevent: Add STM32 Timer driver Maxime Coquelin
2015-02-20 18:01   ` Maxime Coquelin [this message]
     [not found]     ` <1424455277-29983-11-git-send-email-mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-06  9:12       ` [PATCH v2 10/18] dt-bindings: Document the STM32 pin controller Linus Walleij
2015-03-06  9:35     ` Linus Walleij
2015-02-20 18:01   ` [PATCH v2 11/18] pinctrl: Add pinctrl driver for STM32 MCUs 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   ` [PATCH v2 13/18] serial: stm32-usart: Add STM32 USART Driver Maxime Coquelin
2015-02-20 18:01   ` [PATCH v2 14/18] ARM: Add STM32 family machine 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   ` [PATCH v2 16/18] ARM: dts: Introduce STM32F429 MCU Maxime Coquelin
2015-02-20 18:01   ` [PATCH v2 17/18] ARM: configs: Add STM32 defconfig Maxime Coquelin
2015-02-20 18:01   ` [PATCH v2 18/18] MAINTAINERS: Add entry for STM32 MCUs Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 04/18] clocksource: Add ARM System timer driver Maxime Coquelin
2015-02-20 19:54   ` Uwe Kleine-König
2015-02-20 21:48     ` Paul Bolle
2015-03-02 16:53       ` Maxime Coquelin
2015-03-03 19:43         ` Paul Bolle
2015-03-04 12:08           ` Maxime Coquelin
2015-03-09 21:12             ` Paul Bolle
2015-03-09 22:17               ` Uwe Kleine-König
2015-03-09 15:50   ` Linus Walleij
2015-03-09 17:00     ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 05/18] reset: Add reset_controller_of_init() function Maxime Coquelin
2015-03-10 15:00   ` Arnd Bergmann
2015-03-10 15:28     ` Maxime Coquelin
2015-03-10 20:19       ` Arnd Bergmann
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-02-20 18:01 ` [PATCH v2 06/18] dt-bindings: Document the STM32 reset bindings Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 07/18] drivers: reset: Add STM32 reset driver Maxime Coquelin
2015-03-10 15:02   ` Arnd Bergmann
2015-03-10 15:41     ` Maxime Coquelin
2015-03-10 15:44     ` Maxime Coquelin
2015-03-10 20:21       ` Arnd Bergmann
2015-03-10 21:20         ` Maxime Coquelin
2015-03-11 13:08           ` Philipp Zabel
2015-03-12 21:05             ` 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 ` [PATCH v2 09/18] clockevent: Add STM32 Timer driver Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 11/18] pinctrl: Add pinctrl driver for STM32 MCUs Maxime Coquelin
2015-03-06  9:24   ` Linus Walleij
2015-03-06  9:57     ` Maxime Coquelin
2015-03-10 15:08   ` Arnd Bergmann
2015-03-18  1:08     ` Linus Walleij
2015-02-20 18:01 ` [PATCH v2 12/18] dt-bindings: Document the STM32 USART bindings Maxime Coquelin
2015-03-10 15:08   ` Arnd Bergmann
2015-03-10 15:45     ` 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 ` [PATCH v2 14/18] ARM: Add STM32 family machine Maxime Coquelin
2015-02-20 18:33   ` Peter Meerwald
2015-02-25 11:52     ` Maxime Coquelin
2015-02-20 20:00   ` Uwe Kleine-König
2015-02-20 21:37     ` Paul Bolle
2015-02-25 12:04       ` Maxime Coquelin
2015-02-25 12:03     ` Maxime Coquelin
2015-03-10 15:10   ` Arnd Bergmann
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 ` [PATCH v2 16/18] ARM: dts: Introduce STM32F429 MCU Maxime Coquelin
     [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
     [not found]     ` <54F4A0F7.80606-l3A5Bk7waGM@public.gmane.org>
2015-03-03 17:59       ` Maxime Coquelin
2015-03-09 14:39   ` Linus Walleij
2015-03-09 16:51     ` Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 17/18] ARM: configs: Add STM32 defconfig Maxime Coquelin
2015-02-20 18:01 ` [PATCH v2 18/18] MAINTAINERS: Add entry for STM32 MCUs 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=1424455277-29983-11-git-send-email-mcoquelin.stm32@gmail.com \
    --to=mcoquelin.stm32-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=afaerber-l3A5Bk7waGM@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=corbet-T1hC0tSOHrs@public.gmane.org \
    --cc=crope-X3B1VOXEql0@public.gmane.org \
    --cc=daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
    --cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
    --cc=joe-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org \
    --cc=jslaby-AlSwsSmVLrQ@public.gmane.org \
    --cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=mchehab-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org \
    --cc=p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
    --cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    /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 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).