About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / pinctrl / abilis,tb10x-iomux.txt




Custom Search

Based on kernel version 3.16. Page generated on 2014-08-06 21:37 EST.

1	Abilis Systems TB10x pin controller
2	===================================
3	
4	Required properties
5	-------------------
6	
7	- compatible: should be "abilis,tb10x-iomux";
8	- reg: should contain the physical address and size of the pin controller's
9	  register range.
10	
11	
12	Function definitions
13	--------------------
14	
15	Functions are defined (and referenced) by sub-nodes of the pin controller.
16	Every sub-node defines exactly one function (implying a set of pins).
17	Every function is associated to one named pin group inside the pin controller
18	driver and these names are used to associate pin group predefinitions to pin
19	controller sub-nodes.
20	
21	Required function definition subnode properties:
22	  - abilis,function: should be set to the name of the function's pin group.
23	
24	The following pin groups are available:
25	  - GPIO ports: gpioa, gpiob, gpioc, gpiod, gpioe, gpiof, gpiog,
26	                gpioh, gpioi, gpioj, gpiok, gpiol, gpiom, gpion
27	  - Serial TS input ports: mis0, mis1, mis2, mis3, mis4, mis5, mis6, mis7
28	  - Parallel TS input ports: mip1, mip3, mip5, mip7
29	  - Serial TS output ports: mos0, mos1, mos2, mos3
30	  - Parallel TS output port: mop
31	  - CI+ port: ciplus
32	  - CableCard (Mcard) port: mcard
33	  - Smart card ports: stc0, stc1
34	  - UART ports: uart0, uart1
35	  - SPI ports: spi1, spi3
36	  - JTAG: jtag
37	
38	All other ports of the chip are not multiplexed and thus not managed by this
39	driver.
40	
41	
42	GPIO ranges definition
43	----------------------
44	
45	The named pin groups of GPIO ports can be used to define GPIO ranges as
46	explained in Documentation/devicetree/bindings/gpio/gpio.txt.
47	
48	
49	Example
50	-------
51	
52	iomux: iomux@FF10601c {
53		compatible = "abilis,tb10x-iomux";
54		reg = <0xFF10601c 0x4>;
55		pctl_gpio_a: pctl-gpio-a {
56			abilis,function = "gpioa";
57		};
58		pctl_uart0: pctl-uart0 {
59			abilis,function = "uart0";
60		};
61	};
62	uart@FF100000 {
63		compatible = "snps,dw-apb-uart";
64		reg = <0xFF100000 0x100>;
65		clock-frequency = <166666666>;
66		interrupts = <25 1>;
67		reg-shift = <2>;
68		reg-io-width = <4>;
69		pinctrl-names = "default";
70		pinctrl-0 = <&pctl_uart0>;
71	};
72	gpioa: gpio@FF140000 {
73		compatible = "abilis,tb10x-gpio";
74		reg = <0xFF140000 0x1000>;
75		gpio-controller;
76		#gpio-cells = <2>;
77		ngpio = <3>;
78		gpio-ranges = <&iomux 0 0>;
79		gpio-ranges-group-names = "gpioa";
80	};
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.