Merge branch 'i2c/for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
[deliverable/linux.git] / Documentation / devicetree / bindings / pinctrl / pinctrl-atlas7.txt
CommitLineData
f9367793
WC
1CSR SiRFatlas7 pinmux controller
2
3Required properties:
4- compatible : "sirf,atlas7-ioc"
5- reg : Address range of the pinctrl registers
6
7For example, pinctrl might have properties like the following:
8 pinctrl: ioc@18880000 {
9 compatible = "sirf,atlas7-ioc";
10 reg = <0x18880000 0x1000>;
11
12 a_ac97_pmx: ac97@0 {
13 ac97 {
14 groups = "audio_ac97_grp";
15 function = "audio_ac97";
16 };
17 };
18
19 ...
20
21 sd2_pmx: sd2@0 {
22 sd2 {
23 groups = "sd2_grp0";
24 function = "sd2";
25 };
26 };
27
28 ...
29
30
31 sample0_cfg: sample0@0 {
32 sample0 {
33 pins = "ldd_0", "ldd_1";
34 bias-pull-up;
35 };
36 };
37
38 sample1_cfg: sample1@0 {
39 sample1 {
40 pins = "ldd_2", "ldd_3";
41 input-schmitt-enable;
42 };
43 };
44
45 sample2_cfg: sample2@0 {
46 sample2 {
47 groups = "uart4_nopause_grp";
48 bias-pull-down;
49 };
50 };
51
52 sample3_cfg: sample3@0 {
53 sample3 {
54 pins = "ldd_4", "ldd_5";
55 drive-strength = <2>;
56 };
57 };
58 };
59
60Please refer to pinctrl-bindings.txt in this directory for details of the common
61pinctrl bindings used by client devices.
62
63SiRFatlas7's pinmux nodes act as a container for an abitrary number of subnodes.
64Each of these subnodes represents some desired configuration for a group of pins.
65
66Required subnode-properties:
67- groups : An array of strings. Each string contains the name of a group.
68- function: A string containing the name of the function to mux to the
69 group.
70
71 Valid values for group and function names can be found from looking at the
72 group and function arrays in driver files:
73 drivers/pinctrl/pinctrl-sirf.c
74
75For example, pinctrl might have subnodes like the following:
76 sd0_pmx: sd0@0 {
77 sd0 {
78 groups = "sd0_grp";
79 function = "sd0";
80 };
81 };
82
83 sd1_pmx0: sd1@0 {
84 sd1 {
85 groups = "sd1_grp0";
86 function = "sd1_m0";
87 };
88 };
89
90 sd1_pmx1: sd1@1 {
91 sd1 {
92 groups = "sd1_grp1";
93 function = "sd1_m1";
94 };
95 };
96
97For a specific board, if it wants to use sd1,
98it can add the following to its board-specific .dts file.
99sd1: sd@0x12340000 {
100 pinctrl-names = "default";
101 pinctrl-0 = <&sd1_pmx0>;
102}
103
104or
105
106sd1: sd@0x12340000 {
107 pinctrl-names = "default";
108 pinctrl-0 = <&sd1_pmx1>;
109}
This page took 0.082073 seconds and 5 git commands to generate.