diff options
Diffstat (limited to 'Documentation')
23 files changed, 882 insertions, 522 deletions
diff --git a/Documentation/ABI/testing/sysfs-tty b/Documentation/ABI/testing/sysfs-tty index b138b663bf54..0c430150d929 100644 --- a/Documentation/ABI/testing/sysfs-tty +++ b/Documentation/ABI/testing/sysfs-tty | |||
@@ -17,3 +17,12 @@ Description: | |||
17 | device, like 'tty1'. | 17 | device, like 'tty1'. |
18 | The file supports poll() to detect virtual | 18 | The file supports poll() to detect virtual |
19 | console switches. | 19 | console switches. |
20 | |||
21 | What: /sys/class/tty/ttyS0/uartclk | ||
22 | Date: Sep 2012 | ||
23 | Contact: Tomas Hlavacek <tmshlvck@gmail.com> | ||
24 | Description: | ||
25 | Shows the current uartclk value associated with the | ||
26 | UART port in serial_core, that is bound to TTY like ttyS0. | ||
27 | uartclk = 16 * baud_base | ||
28 | |||
diff --git a/Documentation/devicetree/bindings/arm/mrvl/tauros2.txt b/Documentation/devicetree/bindings/arm/mrvl/tauros2.txt new file mode 100644 index 000000000000..31af1cbb60bd --- /dev/null +++ b/Documentation/devicetree/bindings/arm/mrvl/tauros2.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | * Marvell Tauros2 Cache | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "marvell,tauros2-cache". | ||
5 | - marvell,tauros2-cache-features : Specify the features supported for the | ||
6 | tauros2 cache. | ||
7 | The features including | ||
8 | CACHE_TAUROS2_PREFETCH_ON (1 << 0) | ||
9 | CACHE_TAUROS2_LINEFILL_BURST8 (1 << 1) | ||
10 | The definition can be found at | ||
11 | arch/arm/include/asm/hardware/cache-tauros2.h | ||
12 | |||
13 | Example: | ||
14 | L2: l2-cache { | ||
15 | compatible = "marvell,tauros2-cache"; | ||
16 | marvell,tauros2-cache-features = <0x3>; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/msm/timer.txt b/Documentation/devicetree/bindings/arm/msm/timer.txt new file mode 100644 index 000000000000..8c5907b9cae8 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/msm/timer.txt | |||
@@ -0,0 +1,38 @@ | |||
1 | * MSM Timer | ||
2 | |||
3 | Properties: | ||
4 | |||
5 | - compatible : Should at least contain "qcom,msm-timer". More specific | ||
6 | properties such as "qcom,msm-gpt" and "qcom,msm-dgt" specify a general | ||
7 | purpose timer and a debug timer respectively. | ||
8 | |||
9 | - interrupts : Interrupt indicating a match event. | ||
10 | |||
11 | - reg : Specifies the base address of the timer registers. The second region | ||
12 | specifies an optional register used to configure the clock divider. | ||
13 | |||
14 | - clock-frequency : The frequency of the timer in Hz. | ||
15 | |||
16 | Optional: | ||
17 | |||
18 | - cpu-offset : per-cpu offset used when the timer is accessed without the | ||
19 | CPU remapping facilities. The offset is cpu-offset * cpu-nr. | ||
20 | |||
21 | Example: | ||
22 | |||
23 | timer@200a004 { | ||
24 | compatible = "qcom,msm-gpt", "qcom,msm-timer"; | ||
25 | interrupts = <1 2 0x301>; | ||
26 | reg = <0x0200a004 0x10>; | ||
27 | clock-frequency = <32768>; | ||
28 | cpu-offset = <0x40000>; | ||
29 | }; | ||
30 | |||
31 | timer@200a024 { | ||
32 | compatible = "qcom,msm-dgt", "qcom,msm-timer"; | ||
33 | interrupts = <1 3 0x301>; | ||
34 | reg = <0x0200a024 0x10>, | ||
35 | <0x0200a034 0x4>; | ||
36 | clock-frequency = <6750000>; | ||
37 | cpu-offset = <0x40000>; | ||
38 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index ccdd0e53451f..d0051a750587 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt | |||
@@ -36,6 +36,9 @@ Boards: | |||
36 | - OMAP3 BeagleBoard : Low cost community board | 36 | - OMAP3 BeagleBoard : Low cost community board |
37 | compatible = "ti,omap3-beagle", "ti,omap3" | 37 | compatible = "ti,omap3-beagle", "ti,omap3" |
38 | 38 | ||
39 | - OMAP3 Tobi with Overo : Commercial expansion board with daughter board | ||
40 | compatible = "ti,omap3-tobi", "ti,omap3-overo", "ti,omap3" | ||
41 | |||
39 | - OMAP4 SDP : Software Developement Board | 42 | - OMAP4 SDP : Software Developement Board |
40 | compatible = "ti,omap4-sdp", "ti,omap4430" | 43 | compatible = "ti,omap4-sdp", "ti,omap4430" |
41 | 44 | ||
diff --git a/Documentation/devicetree/bindings/clock/imx23-clock.txt b/Documentation/devicetree/bindings/clock/imx23-clock.txt new file mode 100644 index 000000000000..a0b867ef8d96 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/imx23-clock.txt | |||
@@ -0,0 +1,76 @@ | |||
1 | * Clock bindings for Freescale i.MX23 | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "fsl,imx23-clkctrl" | ||
5 | - reg: Address and length of the register set | ||
6 | - #clock-cells: Should be <1> | ||
7 | |||
8 | The clock consumer should specify the desired clock by having the clock | ||
9 | ID in its "clocks" phandle cell. The following is a full list of i.MX23 | ||
10 | clocks and IDs. | ||
11 | |||
12 | Clock ID | ||
13 | ------------------ | ||
14 | ref_xtal 0 | ||
15 | pll 1 | ||
16 | ref_cpu 2 | ||
17 | ref_emi 3 | ||
18 | ref_pix 4 | ||
19 | ref_io 5 | ||
20 | saif_sel 6 | ||
21 | lcdif_sel 7 | ||
22 | gpmi_sel 8 | ||
23 | ssp_sel 9 | ||
24 | emi_sel 10 | ||
25 | cpu 11 | ||
26 | etm_sel 12 | ||
27 | cpu_pll 13 | ||
28 | cpu_xtal 14 | ||
29 | hbus 15 | ||
30 | xbus 16 | ||
31 | lcdif_div 17 | ||
32 | ssp_div 18 | ||
33 | gpmi_div 19 | ||
34 | emi_pll 20 | ||
35 | emi_xtal 21 | ||
36 | etm_div 22 | ||
37 | saif_div 23 | ||
38 | clk32k_div 24 | ||
39 | rtc 25 | ||
40 | adc 26 | ||
41 | spdif_div 27 | ||
42 | clk32k 28 | ||
43 | dri 29 | ||
44 | pwm 30 | ||
45 | filt 31 | ||
46 | uart 32 | ||
47 | ssp 33 | ||
48 | gpmi 34 | ||
49 | spdif 35 | ||
50 | emi 36 | ||
51 | saif 37 | ||
52 | lcdif 38 | ||
53 | etm 39 | ||
54 | usb 40 | ||
55 | usb_pwr 41 | ||
56 | |||
57 | Examples: | ||
58 | |||
59 | clks: clkctrl@80040000 { | ||
60 | compatible = "fsl,imx23-clkctrl"; | ||
61 | reg = <0x80040000 0x2000>; | ||
62 | #clock-cells = <1>; | ||
63 | clock-output-names = | ||
64 | ... | ||
65 | "uart", /* 32 */ | ||
66 | ... | ||
67 | "end_of_list"; | ||
68 | }; | ||
69 | |||
70 | auart0: serial@8006c000 { | ||
71 | compatible = "fsl,imx23-auart"; | ||
72 | reg = <0x8006c000 0x2000>; | ||
73 | interrupts = <24 25 23>; | ||
74 | clocks = <&clks 32>; | ||
75 | status = "disabled"; | ||
76 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/imx28-clock.txt b/Documentation/devicetree/bindings/clock/imx28-clock.txt new file mode 100644 index 000000000000..aa2af2866fe8 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/imx28-clock.txt | |||
@@ -0,0 +1,99 @@ | |||
1 | * Clock bindings for Freescale i.MX28 | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "fsl,imx28-clkctrl" | ||
5 | - reg: Address and length of the register set | ||
6 | - #clock-cells: Should be <1> | ||
7 | |||
8 | The clock consumer should specify the desired clock by having the clock | ||
9 | ID in its "clocks" phandle cell. The following is a full list of i.MX28 | ||
10 | clocks and IDs. | ||
11 | |||
12 | Clock ID | ||
13 | ------------------ | ||
14 | ref_xtal 0 | ||
15 | pll0 1 | ||
16 | pll1 2 | ||
17 | pll2 3 | ||
18 | ref_cpu 4 | ||
19 | ref_emi 5 | ||
20 | ref_io0 6 | ||
21 | ref_io1 7 | ||
22 | ref_pix 8 | ||
23 | ref_hsadc 9 | ||
24 | ref_gpmi 10 | ||
25 | saif0_sel 11 | ||
26 | saif1_sel 12 | ||
27 | gpmi_sel 13 | ||
28 | ssp0_sel 14 | ||
29 | ssp1_sel 15 | ||
30 | ssp2_sel 16 | ||
31 | ssp3_sel 17 | ||
32 | emi_sel 18 | ||
33 | etm_sel 19 | ||
34 | lcdif_sel 20 | ||
35 | cpu 21 | ||
36 | ptp_sel 22 | ||
37 | cpu_pll 23 | ||
38 | cpu_xtal 24 | ||
39 | hbus 25 | ||
40 | xbus 26 | ||
41 | ssp0_div 27 | ||
42 | ssp1_div 28 | ||
43 | ssp2_div 29 | ||
44 | ssp3_div 30 | ||
45 | gpmi_div 31 | ||
46 | emi_pll 32 | ||
47 | emi_xtal 33 | ||
48 | lcdif_div 34 | ||
49 | etm_div 35 | ||
50 | ptp 36 | ||
51 | saif0_div 37 | ||
52 | saif1_div 38 | ||
53 | clk32k_div 39 | ||
54 | rtc 40 | ||
55 | lradc 41 | ||
56 | spdif_div 42 | ||
57 | clk32k 43 | ||
58 | pwm 44 | ||
59 | uart 45 | ||
60 | ssp0 46 | ||
61 | ssp1 47 | ||
62 | ssp2 48 | ||
63 | ssp3 49 | ||
64 | gpmi 50 | ||
65 | spdif 51 | ||
66 | emi 52 | ||
67 | saif0 53 | ||
68 | saif1 54 | ||
69 | lcdif 55 | ||
70 | etm 56 | ||
71 | fec 57 | ||
72 | can0 58 | ||
73 | can1 59 | ||
74 | usb0 60 | ||
75 | usb1 61 | ||
76 | usb0_pwr 62 | ||
77 | usb1_pwr 63 | ||
78 | enet_out 64 | ||
79 | |||
80 | Examples: | ||
81 | |||
82 | clks: clkctrl@80040000 { | ||
83 | compatible = "fsl,imx28-clkctrl"; | ||
84 | reg = <0x80040000 0x2000>; | ||
85 | #clock-cells = <1>; | ||
86 | clock-output-names = | ||
87 | ... | ||
88 | "uart", /* 45 */ | ||
89 | ... | ||
90 | "end_of_list"; | ||
91 | }; | ||
92 | |||
93 | auart0: serial@8006a000 { | ||
94 | compatible = "fsl,imx28-auart", "fsl,imx23-auart"; | ||
95 | reg = <0x8006a000 0x2000>; | ||
96 | interrupts = <112 70 71>; | ||
97 | clocks = <&clks 45>; | ||
98 | status = "disabled"; | ||
99 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.txt b/Documentation/devicetree/bindings/clock/imx6q-clock.txt new file mode 100644 index 000000000000..492bd991d52a --- /dev/null +++ b/Documentation/devicetree/bindings/clock/imx6q-clock.txt | |||
@@ -0,0 +1,222 @@ | |||
1 | * Clock bindings for Freescale i.MX6 Quad | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "fsl,imx6q-ccm" | ||
5 | - reg: Address and length of the register set | ||
6 | - interrupts: Should contain CCM interrupt | ||
7 | - #clock-cells: Should be <1> | ||
8 | |||
9 | The clock consumer should specify the desired clock by having the clock | ||
10 | ID in its "clocks" phandle cell. The following is a full list of i.MX6Q | ||
11 | clocks and IDs. | ||
12 | |||
13 | Clock ID | ||
14 | --------------------------- | ||
15 | dummy 0 | ||
16 | ckil 1 | ||
17 | ckih 2 | ||
18 | osc 3 | ||
19 | pll2_pfd0_352m 4 | ||
20 | pll2_pfd1_594m 5 | ||
21 | pll2_pfd2_396m 6 | ||
22 | pll3_pfd0_720m 7 | ||
23 | pll3_pfd1_540m 8 | ||
24 | pll3_pfd2_508m 9 | ||
25 | pll3_pfd3_454m 10 | ||
26 | pll2_198m 11 | ||
27 | pll3_120m 12 | ||
28 | pll3_80m 13 | ||
29 | pll3_60m 14 | ||
30 | twd 15 | ||
31 | step 16 | ||
32 | pll1_sw 17 | ||
33 | periph_pre 18 | ||
34 | periph2_pre 19 | ||
35 | periph_clk2_sel 20 | ||
36 | periph2_clk2_sel 21 | ||
37 | axi_sel 22 | ||
38 | esai_sel 23 | ||
39 | asrc_sel 24 | ||
40 | spdif_sel 25 | ||
41 | gpu2d_axi 26 | ||
42 | gpu3d_axi 27 | ||
43 | gpu2d_core_sel 28 | ||
44 | gpu3d_core_sel 29 | ||
45 | gpu3d_shader_sel 30 | ||
46 | ipu1_sel 31 | ||
47 | ipu2_sel 32 | ||
48 | ldb_di0_sel 33 | ||
49 | ldb_di1_sel 34 | ||
50 | ipu1_di0_pre_sel 35 | ||
51 | ipu1_di1_pre_sel 36 | ||
52 | ipu2_di0_pre_sel 37 | ||
53 | ipu2_di1_pre_sel 38 | ||
54 | ipu1_di0_sel 39 | ||
55 | ipu1_di1_sel 40 | ||
56 | ipu2_di0_sel 41 | ||
57 | ipu2_di1_sel 42 | ||
58 | hsi_tx_sel 43 | ||
59 | pcie_axi_sel 44 | ||
60 | ssi1_sel 45 | ||
61 | ssi2_sel 46 | ||
62 | ssi3_sel 47 | ||
63 | usdhc1_sel 48 | ||
64 | usdhc2_sel 49 | ||
65 | usdhc3_sel 50 | ||
66 | usdhc4_sel 51 | ||
67 | enfc_sel 52 | ||
68 | emi_sel 53 | ||
69 | emi_slow_sel 54 | ||
70 | vdo_axi_sel 55 | ||
71 | vpu_axi_sel 56 | ||
72 | cko1_sel 57 | ||
73 | periph 58 | ||
74 | periph2 59 | ||
75 | periph_clk2 60 | ||
76 | periph2_clk2 61 | ||
77 | ipg 62 | ||
78 | ipg_per 63 | ||
79 | esai_pred 64 | ||
80 | esai_podf 65 | ||
81 | asrc_pred 66 | ||
82 | asrc_podf 67 | ||
83 | spdif_pred 68 | ||
84 | spdif_podf 69 | ||
85 | can_root 70 | ||
86 | ecspi_root 71 | ||
87 | gpu2d_core_podf 72 | ||
88 | gpu3d_core_podf 73 | ||
89 | gpu3d_shader 74 | ||
90 | ipu1_podf 75 | ||
91 | ipu2_podf 76 | ||
92 | ldb_di0_podf 77 | ||
93 | ldb_di1_podf 78 | ||
94 | ipu1_di0_pre 79 | ||
95 | ipu1_di1_pre 80 | ||
96 | ipu2_di0_pre 81 | ||
97 | ipu2_di1_pre 82 | ||
98 | hsi_tx_podf 83 | ||
99 | ssi1_pred 84 | ||
100 | ssi1_podf 85 | ||
101 | ssi2_pred 86 | ||
102 | ssi2_podf 87 | ||
103 | ssi3_pred 88 | ||
104 | ssi3_podf 89 | ||
105 | uart_serial_podf 90 | ||
106 | usdhc1_podf 91 | ||
107 | usdhc2_podf 92 | ||
108 | usdhc3_podf 93 | ||
109 | usdhc4_podf 94 | ||
110 | enfc_pred 95 | ||
111 | enfc_podf 96 | ||
112 | emi_podf 97 | ||
113 | emi_slow_podf 98 | ||
114 | vpu_axi_podf 99 | ||
115 | cko1_podf 100 | ||
116 | axi 101 | ||
117 | mmdc_ch0_axi_podf 102 | ||
118 | mmdc_ch1_axi_podf 103 | ||
119 | arm 104 | ||
120 | ahb 105 | ||
121 | apbh_dma 106 | ||
122 | asrc 107 | ||
123 | can1_ipg 108 | ||
124 | can1_serial 109 | ||
125 | can2_ipg 110 | ||
126 | can2_serial 111 | ||
127 | ecspi1 112 | ||
128 | ecspi2 113 | ||
129 | ecspi3 114 | ||
130 | ecspi4 115 | ||
131 | ecspi5 116 | ||
132 | enet 117 | ||
133 | esai 118 | ||
134 | gpt_ipg 119 | ||
135 | gpt_ipg_per 120 | ||
136 | gpu2d_core 121 | ||
137 | gpu3d_core 122 | ||
138 | hdmi_iahb 123 | ||
139 | hdmi_isfr 124 | ||
140 | i2c1 125 | ||
141 | i2c2 126 | ||
142 | i2c3 127 | ||
143 | iim 128 | ||
144 | enfc 129 | ||
145 | ipu1 130 | ||
146 | ipu1_di0 131 | ||
147 | ipu1_di1 132 | ||
148 | ipu2 133 | ||
149 | ipu2_di0 134 | ||
150 | ldb_di0 135 | ||
151 | ldb_di1 136 | ||
152 | ipu2_di1 137 | ||
153 | hsi_tx 138 | ||
154 | mlb 139 | ||
155 | mmdc_ch0_axi 140 | ||
156 | mmdc_ch1_axi 141 | ||
157 | ocram 142 | ||
158 | openvg_axi 143 | ||
159 | pcie_axi 144 | ||
160 | pwm1 145 | ||
161 | pwm2 146 | ||
162 | pwm3 147 | ||
163 | pwm4 148 | ||
164 | per1_bch 149 | ||
165 | gpmi_bch_apb 150 | ||
166 | gpmi_bch 151 | ||
167 | gpmi_io 152 | ||
168 | gpmi_apb 153 | ||
169 | sata 154 | ||
170 | sdma 155 | ||
171 | spba 156 | ||
172 | ssi1 157 | ||
173 | ssi2 158 | ||
174 | ssi3 159 | ||
175 | uart_ipg 160 | ||
176 | uart_serial 161 | ||
177 | usboh3 162 | ||
178 | usdhc1 163 | ||
179 | usdhc2 164 | ||
180 | usdhc3 165 | ||
181 | usdhc4 166 | ||
182 | vdo_axi 167 | ||
183 | vpu_axi 168 | ||
184 | cko1 169 | ||
185 | pll1_sys 170 | ||
186 | pll2_bus 171 | ||
187 | pll3_usb_otg 172 | ||
188 | pll4_audio 173 | ||
189 | pll5_video 174 | ||
190 | pll6_mlb 175 | ||
191 | pll7_usb_host 176 | ||
192 | pll8_enet 177 | ||
193 | ssi1_ipg 178 | ||
194 | ssi2_ipg 179 | ||
195 | ssi3_ipg 180 | ||
196 | rom 181 | ||
197 | usbphy1 182 | ||
198 | usbphy2 183 | ||
199 | ldb_di0_div_3_5 184 | ||
200 | ldb_di1_div_3_5 185 | ||
201 | |||
202 | Examples: | ||
203 | |||
204 | clks: ccm@020c4000 { | ||
205 | compatible = "fsl,imx6q-ccm"; | ||
206 | reg = <0x020c4000 0x4000>; | ||
207 | interrupts = <0 87 0x04 0 88 0x04>; | ||
208 | #clock-cells = <1>; | ||
209 | clock-output-names = ... | ||
210 | "uart_ipg", | ||
211 | "uart_serial", | ||
212 | ...; | ||
213 | }; | ||
214 | |||
215 | uart1: serial@02020000 { | ||
216 | compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; | ||
217 | reg = <0x02020000 0x4000>; | ||
218 | interrupts = <0 26 0x04>; | ||
219 | clocks = <&clks 160>, <&clks 161>; | ||
220 | clock-names = "ipg", "per"; | ||
221 | status = "disabled"; | ||
222 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-samsung.txt b/Documentation/devicetree/bindings/gpio/gpio-samsung.txt index 5375625e8cd2..f1e5dfecf55d 100644 --- a/Documentation/devicetree/bindings/gpio/gpio-samsung.txt +++ b/Documentation/devicetree/bindings/gpio/gpio-samsung.txt | |||
@@ -39,3 +39,46 @@ Example: | |||
39 | #gpio-cells = <4>; | 39 | #gpio-cells = <4>; |
40 | gpio-controller; | 40 | gpio-controller; |
41 | }; | 41 | }; |
42 | |||
43 | |||
44 | Samsung S3C24XX GPIO Controller | ||
45 | |||
46 | Required properties: | ||
47 | - compatible: Compatible property value should be "samsung,s3c24xx-gpio". | ||
48 | |||
49 | - reg: Physical base address of the controller and length of memory mapped | ||
50 | region. | ||
51 | |||
52 | - #gpio-cells: Should be 3. The syntax of the gpio specifier used by client nodes | ||
53 | should be the following with values derived from the SoC user manual. | ||
54 | <[phandle of the gpio controller node] | ||
55 | [pin number within the gpio controller] | ||
56 | [mux function] | ||
57 | [flags and pull up/down] | ||
58 | |||
59 | Values for gpio specifier: | ||
60 | - Pin number: depending on the controller a number from 0 up to 15. | ||
61 | - Mux function: Depending on the SoC and the gpio bank the gpio can be set | ||
62 | as input, output or a special function | ||
63 | - Flags and Pull Up/Down: the values to use differ for the individual SoCs | ||
64 | example S3C2416/S3C2450: | ||
65 | 0 - Pull Up/Down Disabled. | ||
66 | 1 - Pull Down Enabled. | ||
67 | 2 - Pull Up Enabled. | ||
68 | Bit 16 (0x00010000) - Input is active low. | ||
69 | Consult the user manual for the correct values of Mux and Pull Up/Down. | ||
70 | |||
71 | - gpio-controller: Specifies that the node is a gpio controller. | ||
72 | - #address-cells: should be 1. | ||
73 | - #size-cells: should be 1. | ||
74 | |||
75 | Example: | ||
76 | |||
77 | gpa: gpio-controller@56000000 { | ||
78 | #address-cells = <1>; | ||
79 | #size-cells = <1>; | ||
80 | compatible = "samsung,s3c24xx-gpio"; | ||
81 | reg = <0x56000000 0x10>; | ||
82 | #gpio-cells = <3>; | ||
83 | gpio-controller; | ||
84 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-twl4030.txt b/Documentation/devicetree/bindings/gpio/gpio-twl4030.txt index 16695d9cf1e8..66788fda1db3 100644 --- a/Documentation/devicetree/bindings/gpio/gpio-twl4030.txt +++ b/Documentation/devicetree/bindings/gpio/gpio-twl4030.txt | |||
@@ -11,6 +11,11 @@ Required properties: | |||
11 | - interrupt-controller: Mark the device node as an interrupt controller | 11 | - interrupt-controller: Mark the device node as an interrupt controller |
12 | The first cell is the GPIO number. | 12 | The first cell is the GPIO number. |
13 | The second cell is not used. | 13 | The second cell is not used. |
14 | - ti,use-leds : Enables LEDA and LEDB outputs if set | ||
15 | - ti,debounce : if n-th bit is set, debounces GPIO-n | ||
16 | - ti,mmc-cd : if n-th bit is set, GPIO-n controls VMMC(n+1) | ||
17 | - ti,pullups : if n-th bit is set, set a pullup on GPIO-n | ||
18 | - ti,pulldowns : if n-th bit is set, set a pulldown on GPIO-n | ||
14 | 19 | ||
15 | Example: | 20 | Example: |
16 | 21 | ||
@@ -20,4 +25,5 @@ twl_gpio: gpio { | |||
20 | gpio-controller; | 25 | gpio-controller; |
21 | #interrupt-cells = <2>; | 26 | #interrupt-cells = <2>; |
22 | interrupt-controller; | 27 | interrupt-controller; |
28 | ti,use-leds; | ||
23 | }; | 29 | }; |
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt index 1a85f986961b..2f5322b119eb 100644 --- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt +++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt | |||
@@ -56,3 +56,4 @@ stm,m41t00 Serial Access TIMEKEEPER | |||
56 | stm,m41t62 Serial real-time clock (RTC) with alarm | 56 | stm,m41t62 Serial real-time clock (RTC) with alarm |
57 | stm,m41t80 M41T80 - SERIAL ACCESS RTC WITH ALARMS | 57 | stm,m41t80 M41T80 - SERIAL ACCESS RTC WITH ALARMS |
58 | ti,tsc2003 I2C Touch-Screen Controller | 58 | ti,tsc2003 I2C Touch-Screen Controller |
59 | ti,tmp102 Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface | ||
diff --git a/Documentation/devicetree/bindings/lpddr2/lpddr2-timings.txt b/Documentation/devicetree/bindings/lpddr2/lpddr2-timings.txt new file mode 100644 index 000000000000..9ceb19e0c7fd --- /dev/null +++ b/Documentation/devicetree/bindings/lpddr2/lpddr2-timings.txt | |||
@@ -0,0 +1,52 @@ | |||
1 | * AC timing parameters of LPDDR2(JESD209-2) memories for a given speed-bin | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "jedec,lpddr2-timings" | ||
5 | - min-freq : minimum DDR clock frequency for the speed-bin. Type is <u32> | ||
6 | - max-freq : maximum DDR clock frequency for the speed-bin. Type is <u32> | ||
7 | |||
8 | Optional properties: | ||
9 | |||
10 | The following properties represent AC timing parameters from the memory | ||
11 | data-sheet of the device for a given speed-bin. All these properties are | ||
12 | of type <u32> and the default unit is ps (pico seconds). Parameters with | ||
13 | a different unit have a suffix indicating the unit such as 'tRAS-max-ns' | ||
14 | - tRCD | ||
15 | - tWR | ||
16 | - tRAS-min | ||
17 | - tRRD | ||
18 | - tWTR | ||
19 | - tXP | ||
20 | - tRTP | ||
21 | - tDQSCK-max | ||
22 | - tFAW | ||
23 | - tZQCS | ||
24 | - tZQinit | ||
25 | - tRPab | ||
26 | - tZQCL | ||
27 | - tCKESR | ||
28 | - tRAS-max-ns | ||
29 | - tDQSCK-max-derated | ||
30 | |||
31 | Example: | ||
32 | |||
33 | timings_elpida_ECB240ABACN_400mhz: lpddr2-timings@0 { | ||
34 | compatible = "jedec,lpddr2-timings"; | ||
35 | min-freq = <10000000>; | ||
36 | max-freq = <400000000>; | ||
37 | tRPab = <21000>; | ||
38 | tRCD = <18000>; | ||
39 | tWR = <15000>; | ||
40 | tRAS-min = <42000>; | ||
41 | tRRD = <10000>; | ||
42 | tWTR = <7500>; | ||
43 | tXP = <7500>; | ||
44 | tRTP = <7500>; | ||
45 | tCKESR = <15000>; | ||
46 | tDQSCK-max = <5500>; | ||
47 | tFAW = <50000>; | ||
48 | tZQCS = <90000>; | ||
49 | tZQCL = <360000>; | ||
50 | tZQinit = <1000000>; | ||
51 | tRAS-max-ns = <70000>; | ||
52 | }; | ||
diff --git a/Documentation/devicetree/bindings/lpddr2/lpddr2.txt b/Documentation/devicetree/bindings/lpddr2/lpddr2.txt new file mode 100644 index 000000000000..58354a075e13 --- /dev/null +++ b/Documentation/devicetree/bindings/lpddr2/lpddr2.txt | |||
@@ -0,0 +1,102 @@ | |||
1 | * LPDDR2 SDRAM memories compliant to JEDEC JESD209-2 | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be one of - "jedec,lpddr2-nvm", "jedec,lpddr2-s2", | ||
5 | "jedec,lpddr2-s4" | ||
6 | |||
7 | "ti,jedec-lpddr2-s2" should be listed if the memory part is LPDDR2-S2 type | ||
8 | |||
9 | "ti,jedec-lpddr2-s4" should be listed if the memory part is LPDDR2-S4 type | ||
10 | |||
11 | "ti,jedec-lpddr2-nvm" should be listed if the memory part is LPDDR2-NVM type | ||
12 | |||
13 | - density : <u32> representing density in Mb (Mega bits) | ||
14 | |||
15 | - io-width : <u32> representing bus width. Possible values are 8, 16, and 32 | ||
16 | |||
17 | Optional properties: | ||
18 | |||
19 | The following optional properties represent the minimum value of some AC | ||
20 | timing parameters of the DDR device in terms of number of clock cycles. | ||
21 | These values shall be obtained from the device data-sheet. | ||
22 | - tRRD-min-tck | ||
23 | - tWTR-min-tck | ||
24 | - tXP-min-tck | ||
25 | - tRTP-min-tck | ||
26 | - tCKE-min-tck | ||
27 | - tRPab-min-tck | ||
28 | - tRCD-min-tck | ||
29 | - tWR-min-tck | ||
30 | - tRASmin-min-tck | ||
31 | - tCKESR-min-tck | ||
32 | - tFAW-min-tck | ||
33 | |||
34 | Child nodes: | ||
35 | - The lpddr2 node may have one or more child nodes of type "lpddr2-timings". | ||
36 | "lpddr2-timings" provides AC timing parameters of the device for | ||
37 | a given speed-bin. The user may provide the timings for as many | ||
38 | speed-bins as is required. Please see Documentation/devicetree/ | ||
39 | bindings/lpddr2/lpddr2-timings.txt for more information on "lpddr2-timings" | ||
40 | |||
41 | Example: | ||
42 | |||
43 | elpida_ECB240ABACN : lpddr2 { | ||
44 | compatible = "Elpida,ECB240ABACN","jedec,lpddr2-s4"; | ||
45 | density = <2048>; | ||
46 | io-width = <32>; | ||
47 | |||
48 | tRPab-min-tck = <3>; | ||
49 | tRCD-min-tck = <3>; | ||
50 | tWR-min-tck = <3>; | ||
51 | tRASmin-min-tck = <3>; | ||
52 | tRRD-min-tck = <2>; | ||
53 | tWTR-min-tck = <2>; | ||
54 | tXP-min-tck = <2>; | ||
55 | tRTP-min-tck = <2>; | ||
56 | tCKE-min-tck = <3>; | ||
57 | tCKESR-min-tck = <3>; | ||
58 | tFAW-min-tck = <8>; | ||
59 | |||
60 | timings_elpida_ECB240ABACN_400mhz: lpddr2-timings@0 { | ||
61 | compatible = "jedec,lpddr2-timings"; | ||
62 | min-freq = <10000000>; | ||
63 | max-freq = <400000000>; | ||
64 | tRPab = <21000>; | ||
65 | tRCD = <18000>; | ||
66 | tWR = <15000>; | ||
67 | tRAS-min = <42000>; | ||
68 | tRRD = <10000>; | ||
69 | tWTR = <7500>; | ||
70 | tXP = <7500>; | ||
71 | tRTP = <7500>; | ||
72 | tCKESR = <15000>; | ||
73 | tDQSCK-max = <5500>; | ||
74 | tFAW = <50000>; | ||
75 | tZQCS = <90000>; | ||
76 | tZQCL = <360000>; | ||
77 | tZQinit = <1000000>; | ||
78 | tRAS-max-ns = <70000>; | ||
79 | }; | ||
80 | |||
81 | timings_elpida_ECB240ABACN_200mhz: lpddr2-timings@1 { | ||
82 | compatible = "jedec,lpddr2-timings"; | ||
83 | min-freq = <10000000>; | ||
84 | max-freq = <200000000>; | ||
85 | tRPab = <21000>; | ||
86 | tRCD = <18000>; | ||
87 | tWR = <15000>; | ||
88 | tRAS-min = <42000>; | ||
89 | tRRD = <10000>; | ||
90 | tWTR = <10000>; | ||
91 | tXP = <7500>; | ||
92 | tRTP = <7500>; | ||
93 | tCKESR = <15000>; | ||
94 | tDQSCK-max = <5500>; | ||
95 | tFAW = <50000>; | ||
96 | tZQCS = <90000>; | ||
97 | tZQCL = <360000>; | ||
98 | tZQinit = <1000000>; | ||
99 | tRAS-max-ns = <70000>; | ||
100 | }; | ||
101 | |||
102 | } | ||
diff --git a/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt b/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt new file mode 100644 index 000000000000..938f8e1ba205 --- /dev/null +++ b/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt | |||
@@ -0,0 +1,55 @@ | |||
1 | * EMIF family of TI SDRAM controllers | ||
2 | |||
3 | EMIF - External Memory Interface - is an SDRAM controller used in | ||
4 | TI SoCs. EMIF supports, based on the IP revision, one or more of | ||
5 | DDR2/DDR3/LPDDR2 protocols. This binding describes a given instance | ||
6 | of the EMIF IP and memory parts attached to it. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev> | ||
10 | is the IP revision of the specific EMIF instance. | ||
11 | |||
12 | - phy-type : <u32> indicating the DDR phy type. Following are the | ||
13 | allowed values | ||
14 | <1> : Attila PHY | ||
15 | <2> : Intelli PHY | ||
16 | |||
17 | - device-handle : phandle to a "lpddr2" node representing the memory part | ||
18 | |||
19 | - ti,hwmods : For TI hwmods processing and omap device creation | ||
20 | the value shall be "emif<n>" where <n> is the number of the EMIF | ||
21 | instance with base 1. | ||
22 | |||
23 | Optional properties: | ||
24 | - cs1-used : Have this property if CS1 of this EMIF | ||
25 | instance has a memory part attached to it. If there is a memory | ||
26 | part attached to CS1, it should be the same type as the one on CS0, | ||
27 | so there is no need to give the details of this memory part. | ||
28 | |||
29 | - cal-resistor-per-cs : Have this property if the board has one | ||
30 | calibration resistor per chip-select. | ||
31 | |||
32 | - hw-caps-read-idle-ctrl: Have this property if the controller | ||
33 | supports read idle window programming | ||
34 | |||
35 | - hw-caps-dll-calib-ctrl: Have this property if the controller | ||
36 | supports dll calibration control | ||
37 | |||
38 | - hw-caps-ll-interface : Have this property if the controller | ||
39 | has a low latency interface and corresponding interrupt events | ||
40 | |||
41 | - hw-caps-temp-alert : Have this property if the controller | ||
42 | has capability for generating SDRAM temperature alerts | ||
43 | |||
44 | Example: | ||
45 | |||
46 | emif1: emif@0x4c000000 { | ||
47 | compatible = "ti,emif-4d"; | ||
48 | ti,hwmods = "emif2"; | ||
49 | phy-type = <1>; | ||
50 | device-handle = <&elpida_ECB240ABACN>; | ||
51 | cs1-used; | ||
52 | hw-caps-read-idle-ctrl; | ||
53 | hw-caps-ll-interface; | ||
54 | hw-caps-temp-alert; | ||
55 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/ab8500.txt b/Documentation/devicetree/bindings/mfd/ab8500.txt index 69e757a657a0..ce83c8d3c00e 100644 --- a/Documentation/devicetree/bindings/mfd/ab8500.txt +++ b/Documentation/devicetree/bindings/mfd/ab8500.txt | |||
@@ -23,6 +23,7 @@ Device IRQ Names Supply Names Description | |||
23 | ab8500-bm : : : Battery Manager | 23 | ab8500-bm : : : Battery Manager |
24 | ab8500-btemp : : : Battery Temperature | 24 | ab8500-btemp : : : Battery Temperature |
25 | ab8500-charger : : : Battery Charger | 25 | ab8500-charger : : : Battery Charger |
26 | ab8500-codec : : : Audio Codec | ||
26 | ab8500-fg : : : Fuel Gauge | 27 | ab8500-fg : : : Fuel Gauge |
27 | ab8500-gpadc : HW_CONV_END : vddadc : Analogue to Digital Converter | 28 | ab8500-gpadc : HW_CONV_END : vddadc : Analogue to Digital Converter |
28 | SW_CONV_END : : | 29 | SW_CONV_END : : |
@@ -52,6 +53,14 @@ Optional child device properties: | |||
52 | supplied in the interrupts property | 53 | supplied in the interrupts property |
53 | - <supply_name>-supply : contains a phandle to the regulator supply node in Device Tree | 54 | - <supply_name>-supply : contains a phandle to the regulator supply node in Device Tree |
54 | 55 | ||
56 | Non-standard child device properties: | ||
57 | - Audio CODEC: | ||
58 | - stericsson,amic[1|2]-type-single-ended : Single-ended Analoge Mic (default: differential) | ||
59 | - stericsson,amic1a-bias-vamic2 : Analoge Mic wishes to use a non-standard Vamic | ||
60 | - stericsson,amic1b-bias-vamic2 : Analoge Mic wishes to use a non-standard Vamic | ||
61 | - stericsson,amic2-bias-vamic1 : Analoge Mic wishes to use a non-standard Vamic | ||
62 | - stericsson,earpeice-cmv : Earpeice voltage (only: 950 | 1100 | 1270 | 1580) | ||
63 | |||
55 | ab8500@5 { | 64 | ab8500@5 { |
56 | compatible = "stericsson,ab8500"; | 65 | compatible = "stericsson,ab8500"; |
57 | reg = <5>; /* mailbox 5 is i2c */ | 66 | reg = <5>; /* mailbox 5 is i2c */ |
@@ -110,6 +119,12 @@ ab8500@5 { | |||
110 | compatible = "stericsson,ab8500-pwm"; | 119 | compatible = "stericsson,ab8500-pwm"; |
111 | }; | 120 | }; |
112 | 121 | ||
122 | codec: ab8500-codec { | ||
123 | compatible = "stericsson,ab8500-codec"; | ||
124 | |||
125 | stericsson,earpeice-cmv = <950>; /* Units in mV. */ | ||
126 | }; | ||
127 | |||
113 | ab8500-regulators { | 128 | ab8500-regulators { |
114 | compatible = "stericsson,ab8500-regulator"; | 129 | compatible = "stericsson,ab8500-regulator"; |
115 | 130 | ||
diff --git a/Documentation/devicetree/bindings/mtd/pxa3xx-nand.txt b/Documentation/devicetree/bindings/mtd/pxa3xx-nand.txt new file mode 100644 index 000000000000..f1421e2bbab7 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/pxa3xx-nand.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | PXA3xx NAND DT bindings | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: Should be "marvell,pxa3xx-nand" | ||
6 | - reg: The register base for the controller | ||
7 | - interrupts: The interrupt to map | ||
8 | - #address-cells: Set to <1> if the node includes partitions | ||
9 | |||
10 | Optional properties: | ||
11 | |||
12 | - marvell,nand-enable-arbiter: Set to enable the bus arbiter | ||
13 | - marvell,nand-keep-config: Set to keep the NAND controller config as set | ||
14 | by the bootloader | ||
15 | - num-cs: Number of chipselect lines to usw | ||
16 | |||
17 | Example: | ||
18 | |||
19 | nand0: nand@43100000 { | ||
20 | compatible = "marvell,pxa3xx-nand"; | ||
21 | reg = <0x43100000 90>; | ||
22 | interrupts = <45>; | ||
23 | #address-cells = <1>; | ||
24 | |||
25 | marvell,nand-enable-arbiter; | ||
26 | marvell,nand-keep-config; | ||
27 | num-cs = <1>; | ||
28 | |||
29 | /* partitions (optional) */ | ||
30 | }; | ||
31 | |||
diff --git a/Documentation/devicetree/bindings/rtc/pxa-rtc.txt b/Documentation/devicetree/bindings/rtc/pxa-rtc.txt new file mode 100644 index 000000000000..8c6672a1b7d7 --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/pxa-rtc.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | * PXA RTC | ||
2 | |||
3 | PXA specific RTC driver. | ||
4 | |||
5 | Required properties: | ||
6 | - compatible : Should be "marvell,pxa-rtc" | ||
7 | |||
8 | Examples: | ||
9 | |||
10 | rtc@40900000 { | ||
11 | compatible = "marvell,pxa-rtc"; | ||
12 | reg = <0x40900000 0x3c>; | ||
13 | interrupts = <30 31>; | ||
14 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/ux500-mop500.txt b/Documentation/devicetree/bindings/sound/ux500-mop500.txt new file mode 100644 index 000000000000..48e071c96b46 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/ux500-mop500.txt | |||
@@ -0,0 +1,39 @@ | |||
1 | * MOP500 Audio Machine Driver | ||
2 | |||
3 | This node is responsible for linking together all ux500 Audio Driver components. | ||
4 | |||
5 | Required properties: | ||
6 | - compatible : "stericsson,snd-soc-mop500" | ||
7 | |||
8 | Non-standard properties: | ||
9 | - stericsson,cpu-dai : Phandle to the CPU-side DAI | ||
10 | - stericsson,audio-codec : Phandle to the Audio CODEC | ||
11 | - stericsson,card-name : Over-ride default card name | ||
12 | |||
13 | Example: | ||
14 | |||
15 | sound { | ||
16 | compatible = "stericsson,snd-soc-mop500"; | ||
17 | |||
18 | stericsson,cpu-dai = <&msp1 &msp3>; | ||
19 | stericsson,audio-codec = <&codec>; | ||
20 | }; | ||
21 | |||
22 | msp1: msp@80124000 { | ||
23 | compatible = "stericsson,ux500-msp-i2s"; | ||
24 | reg = <0x80124000 0x1000>; | ||
25 | interrupts = <0 62 0x4>; | ||
26 | v-ape-supply = <&db8500_vape_reg>; | ||
27 | }; | ||
28 | |||
29 | msp3: msp@80125000 { | ||
30 | compatible = "stericsson,ux500-msp-i2s"; | ||
31 | reg = <0x80125000 0x1000>; | ||
32 | interrupts = <0 62 0x4>; | ||
33 | v-ape-supply = <&db8500_vape_reg>; | ||
34 | }; | ||
35 | |||
36 | codec: ab8500-codec { | ||
37 | compatible = "stericsson,ab8500-codec"; | ||
38 | stericsson,earpeice-cmv = <950>; /* Units in mV. */ | ||
39 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/ux500-msp.txt b/Documentation/devicetree/bindings/sound/ux500-msp.txt new file mode 100644 index 000000000000..99acd9c774e1 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/ux500-msp.txt | |||
@@ -0,0 +1,43 @@ | |||
1 | * ux500 MSP (CPU-side Digital Audio Interface) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible :"stericsson,ux500-msp-i2s" | ||
5 | - reg : Physical base address and length of the device's registers. | ||
6 | |||
7 | Optional properties: | ||
8 | - interrupts : The interrupt output from the device. | ||
9 | - interrupt-parent : The parent interrupt controller. | ||
10 | - <name>-supply : Phandle to the regulator <name> supply | ||
11 | |||
12 | Example: | ||
13 | |||
14 | sound { | ||
15 | compatible = "stericsson,snd-soc-mop500"; | ||
16 | |||
17 | stericsson,platform-pcm-dma = <&pcm>; | ||
18 | stericsson,cpu-dai = <&msp1 &msp3>; | ||
19 | stericsson,audio-codec = <&codec>; | ||
20 | }; | ||
21 | |||
22 | pcm: ux500-pcm { | ||
23 | compatible = "stericsson,ux500-pcm"; | ||
24 | }; | ||
25 | |||
26 | msp1: msp@80124000 { | ||
27 | compatible = "stericsson,ux500-msp-i2s"; | ||
28 | reg = <0x80124000 0x1000>; | ||
29 | interrupts = <0 62 0x4>; | ||
30 | v-ape-supply = <&db8500_vape_reg>; | ||
31 | }; | ||
32 | |||
33 | msp3: msp@80125000 { | ||
34 | compatible = "stericsson,ux500-msp-i2s"; | ||
35 | reg = <0x80125000 0x1000>; | ||
36 | interrupts = <0 62 0x4>; | ||
37 | v-ape-supply = <&db8500_vape_reg>; | ||
38 | }; | ||
39 | |||
40 | codec: ab8500-codec { | ||
41 | compatible = "stericsson,ab8500-codec"; | ||
42 | stericsson,earpeice-cmv = <950>; /* Units in mV. */ | ||
43 | }; | ||
diff --git a/Documentation/devicetree/bindings/tty/serial/nxp-lpc32xx-hsuart.txt b/Documentation/devicetree/bindings/tty/serial/nxp-lpc32xx-hsuart.txt new file mode 100644 index 000000000000..0d439dfc1aa5 --- /dev/null +++ b/Documentation/devicetree/bindings/tty/serial/nxp-lpc32xx-hsuart.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | * NXP LPC32xx SoC High Speed UART | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "nxp,lpc3220-hsuart" | ||
5 | - reg: Should contain registers location and length | ||
6 | - interrupts: Should contain interrupt | ||
7 | |||
8 | Example: | ||
9 | |||
10 | uart1: serial@40014000 { | ||
11 | compatible = "nxp,lpc3220-hsuart"; | ||
12 | reg = <0x40014000 0x1000>; | ||
13 | interrupts = <26 0>; | ||
14 | }; | ||
diff --git a/Documentation/devicetree/bindings/tty/serial/of-serial.txt b/Documentation/devicetree/bindings/tty/serial/of-serial.txt index 0847fdeee11a..ba385f2e0ddc 100644 --- a/Documentation/devicetree/bindings/tty/serial/of-serial.txt +++ b/Documentation/devicetree/bindings/tty/serial/of-serial.txt | |||
@@ -25,6 +25,8 @@ Optional properties: | |||
25 | accesses to the UART (e.g. TI davinci). | 25 | accesses to the UART (e.g. TI davinci). |
26 | - used-by-rtas : set to indicate that the port is in use by the OpenFirmware | 26 | - used-by-rtas : set to indicate that the port is in use by the OpenFirmware |
27 | RTAS and should not be registered. | 27 | RTAS and should not be registered. |
28 | - no-loopback-test: set to indicate that the port does not implements loopback | ||
29 | test mode | ||
28 | 30 | ||
29 | Example: | 31 | Example: |
30 | 32 | ||
diff --git a/Documentation/i2c/busses/i2c-i801 b/Documentation/i2c/busses/i2c-i801 index 615142da4ef6..157416e78cc4 100644 --- a/Documentation/i2c/busses/i2c-i801 +++ b/Documentation/i2c/busses/i2c-i801 | |||
@@ -21,6 +21,7 @@ Supported adapters: | |||
21 | * Intel DH89xxCC (PCH) | 21 | * Intel DH89xxCC (PCH) |
22 | * Intel Panther Point (PCH) | 22 | * Intel Panther Point (PCH) |
23 | * Intel Lynx Point (PCH) | 23 | * Intel Lynx Point (PCH) |
24 | * Intel Lynx Point-LP (PCH) | ||
24 | Datasheets: Publicly available at the Intel website | 25 | Datasheets: Publicly available at the Intel website |
25 | 26 | ||
26 | On Intel Patsburg and later chipsets, both the normal host SMBus controller | 27 | On Intel Patsburg and later chipsets, both the normal host SMBus controller |
diff --git a/Documentation/serial/00-INDEX b/Documentation/serial/00-INDEX index e09468ad3cb1..f7b0c7dc25ef 100644 --- a/Documentation/serial/00-INDEX +++ b/Documentation/serial/00-INDEX | |||
@@ -2,8 +2,6 @@ | |||
2 | - this file. | 2 | - this file. |
3 | README.cycladesZ | 3 | README.cycladesZ |
4 | - info on Cyclades-Z firmware loading. | 4 | - info on Cyclades-Z firmware loading. |
5 | computone.txt | ||
6 | - info on Computone Intelliport II/Plus Multiport Serial Driver. | ||
7 | digiepca.txt | 5 | digiepca.txt |
8 | - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards. | 6 | - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards. |
9 | hayes-esp.txt | 7 | hayes-esp.txt |
diff --git a/Documentation/serial/computone.txt b/Documentation/serial/computone.txt deleted file mode 100644 index a6a1158ea2ba..000000000000 --- a/Documentation/serial/computone.txt +++ /dev/null | |||
@@ -1,520 +0,0 @@ | |||
1 | NOTE: This is an unmaintained driver. It is not guaranteed to work due to | ||
2 | changes made in the tty layer in 2.6. If you wish to take over maintenance of | ||
3 | this driver, contact Michael Warfield <mhw@wittsend.com>. | ||
4 | |||
5 | Changelog: | ||
6 | ---------- | ||
7 | 11-01-2001: Original Document | ||
8 | |||
9 | 10-29-2004: Minor misspelling & format fix, update status of driver. | ||
10 | James Nelson <james4765@gmail.com> | ||
11 | |||
12 | Computone Intelliport II/Plus Multiport Serial Driver | ||
13 | ----------------------------------------------------- | ||
14 | |||
15 | Release Notes For Linux Kernel 2.2 and higher. | ||
16 | These notes are for the drivers which have already been integrated into the | ||
17 | kernel and have been tested on Linux kernels 2.0, 2.2, 2.3, and 2.4. | ||
18 | |||
19 | Version: 1.2.14 | ||
20 | Date: 11/01/2001 | ||
21 | Historical Author: Andrew Manison <amanison@america.net> | ||
22 | Primary Author: Doug McNash | ||
23 | |||
24 | This file assumes that you are using the Computone drivers which are | ||
25 | integrated into the kernel sources. For updating the drivers or installing | ||
26 | drivers into kernels which do not already have Computone drivers, please | ||
27 | refer to the instructions in the README.computone file in the driver patch. | ||
28 | |||
29 | |||
30 | 1. INTRODUCTION | ||
31 | |||
32 | This driver supports the entire family of Intelliport II/Plus controllers | ||
33 | with the exception of the MicroChannel controllers. It does not support | ||
34 | products previous to the Intelliport II. | ||
35 | |||
36 | This driver was developed on the v2.0.x Linux tree and has been tested up | ||
37 | to v2.4.14; it will probably not work with earlier v1.X kernels,. | ||
38 | |||
39 | |||
40 | 2. QUICK INSTALLATION | ||
41 | |||
42 | Hardware - If you have an ISA card, find a free interrupt and io port. | ||
43 | List those in use with `cat /proc/interrupts` and | ||
44 | `cat /proc/ioports`. Set the card dip switches to a free | ||
45 | address. You may need to configure your BIOS to reserve an | ||
46 | irq for an ISA card. PCI and EISA parameters are set | ||
47 | automagically. Insert card into computer with the power off | ||
48 | before or after drivers installation. | ||
49 | |||
50 | Note the hardware address from the Computone ISA cards installed into | ||
51 | the system. These are required for editing ip2.c or editing | ||
52 | /etc/modprobe.d/*.conf, or for specification on the modprobe | ||
53 | command line. | ||
54 | |||
55 | Note that the /etc/modules.conf should be used for older (pre-2.6) | ||
56 | kernels. | ||
57 | |||
58 | Software - | ||
59 | |||
60 | Module installation: | ||
61 | |||
62 | a) Determine free irq/address to use if any (configure BIOS if need be) | ||
63 | b) Run "make config" or "make menuconfig" or "make xconfig" | ||
64 | Select (m) module for CONFIG_COMPUTONE under character | ||
65 | devices. CONFIG_PCI and CONFIG_MODULES also may need to be set. | ||
66 | c) Set address on ISA cards then: | ||
67 | edit /usr/src/linux/drivers/char/ip2.c if needed | ||
68 | or | ||
69 | edit config file in /etc/modprobe.d/ if needed (module). | ||
70 | or both to match this setting. | ||
71 | d) Run "make modules" | ||
72 | e) Run "make modules_install" | ||
73 | f) Run "/sbin/depmod -a" | ||
74 | g) install driver using `modprobe ip2 <options>` (options listed below) | ||
75 | h) run ip2mkdev (either the script below or the binary version) | ||
76 | |||
77 | |||
78 | Kernel installation: | ||
79 | |||
80 | a) Determine free irq/address to use if any (configure BIOS if need be) | ||
81 | b) Run "make config" or "make menuconfig" or "make xconfig" | ||
82 | Select (y) kernel for CONFIG_COMPUTONE under character | ||
83 | devices. CONFIG_PCI may need to be set if you have PCI bus. | ||
84 | c) Set address on ISA cards then: | ||
85 | edit /usr/src/linux/drivers/char/ip2.c | ||
86 | (Optional - may be specified on kernel command line now) | ||
87 | d) Run "make zImage" or whatever target you prefer. | ||
88 | e) mv /usr/src/linux/arch/x86/boot/zImage to /boot. | ||
89 | f) Add new config for this kernel into /etc/lilo.conf, run "lilo" | ||
90 | or copy to a floppy disk and boot from that floppy disk. | ||
91 | g) Reboot using this kernel | ||
92 | h) run ip2mkdev (either the script below or the binary version) | ||
93 | |||
94 | Kernel command line options: | ||
95 | |||
96 | When compiling the driver into the kernel, io and irq may be | ||
97 | compiled into the driver by editing ip2.c and setting the values for | ||
98 | io and irq in the appropriate array. An alternative is to specify | ||
99 | a command line parameter to the kernel at boot up. | ||
100 | |||
101 | ip2=io0,irq0,io1,irq1,io2,irq2,io3,irq3 | ||
102 | |||
103 | Note that this order is very different from the specifications for the | ||
104 | modload parameters which have separate IRQ and IO specifiers. | ||
105 | |||
106 | The io port also selects PCI (1) and EISA (2) boards. | ||
107 | |||
108 | io=0 No board | ||
109 | io=1 PCI board | ||
110 | io=2 EISA board | ||
111 | else ISA board io address | ||
112 | |||
113 | You only need to specify the boards which are present. | ||
114 | |||
115 | Examples: | ||
116 | |||
117 | 2 PCI boards: | ||
118 | |||
119 | ip2=1,0,1,0 | ||
120 | |||
121 | 1 ISA board at 0x310 irq 5: | ||
122 | |||
123 | ip2=0x310,5 | ||
124 | |||
125 | This can be added to and "append" option in lilo.conf similar to this: | ||
126 | |||
127 | append="ip2=1,0,1,0" | ||
128 | |||
129 | |||
130 | 3. INSTALLATION | ||
131 | |||
132 | Previously, the driver sources were packaged with a set of patch files | ||
133 | to update the character drivers' makefile and configuration file, and other | ||
134 | kernel source files. A build script (ip2build) was included which applies | ||
135 | the patches if needed, and build any utilities needed. | ||
136 | What you receive may be a single patch file in conventional kernel | ||
137 | patch format build script. That form can also be applied by | ||
138 | running patch -p1 < ThePatchFile. Otherwise run ip2build. | ||
139 | |||
140 | The driver can be installed as a module (recommended) or built into the | ||
141 | kernel. This is selected as for other drivers through the `make config` | ||
142 | command from the root of the Linux source tree. If the driver is built | ||
143 | into the kernel you will need to edit the file ip2.c to match the boards | ||
144 | you are installing. See that file for instructions. If the driver is | ||
145 | installed as a module the configuration can also be specified on the | ||
146 | modprobe command line as follows: | ||
147 | |||
148 | modprobe ip2 irq=irq1,irq2,irq3,irq4 io=addr1,addr2,addr3,addr4 | ||
149 | |||
150 | where irqnum is one of the valid Intelliport II interrupts (3,4,5,7,10,11, | ||
151 | 12,15) and addr1-4 are the base addresses for up to four controllers. If | ||
152 | the irqs are not specified the driver uses the default in ip2.c (which | ||
153 | selects polled mode). If no base addresses are specified the defaults in | ||
154 | ip2.c are used. If you are autoloading the driver module with kerneld or | ||
155 | kmod the base addresses and interrupt number must also be set in ip2.c | ||
156 | and recompile or just insert and options line in /etc/modprobe.d/*.conf or both. | ||
157 | The options line is equivalent to the command line and takes precedence over | ||
158 | what is in ip2.c. | ||
159 | |||
160 | config sample to put /etc/modprobe.d/*.conf: | ||
161 | options ip2 io=1,0x328 irq=1,10 | ||
162 | alias char-major-71 ip2 | ||
163 | alias char-major-72 ip2 | ||
164 | alias char-major-73 ip2 | ||
165 | |||
166 | The equivalent in ip2.c: | ||
167 | |||
168 | static int io[IP2_MAX_BOARDS]= { 1, 0x328, 0, 0 }; | ||
169 | static int irq[IP2_MAX_BOARDS] = { 1, 10, -1, -1 }; | ||
170 | |||
171 | The equivalent for the kernel command line (in lilo.conf): | ||
172 | |||
173 | append="ip2=1,1,0x328,10" | ||
174 | |||
175 | |||
176 | Note: Both io and irq should be updated to reflect YOUR system. An "io" | ||
177 | address of 1 or 2 indicates a PCI or EISA card in the board table. | ||
178 | The PCI or EISA irq will be assigned automatically. | ||
179 | |||
180 | Specifying an invalid or in-use irq will default the driver into | ||
181 | running in polled mode for that card. If all irq entries are 0 then | ||
182 | all cards will operate in polled mode. | ||
183 | |||
184 | If you select the driver as part of the kernel run : | ||
185 | |||
186 | make zlilo (or whatever you do to create a bootable kernel) | ||
187 | |||
188 | If you selected a module run : | ||
189 | |||
190 | make modules && make modules_install | ||
191 | |||
192 | The utility ip2mkdev (see 5 and 7 below) creates all the device nodes | ||
193 | required by the driver. For a device to be created it must be configured | ||
194 | in the driver and the board must be installed. Only devices corresponding | ||
195 | to real IntelliPort II ports are created. With multiple boards and expansion | ||
196 | boxes this will leave gaps in the sequence of device names. ip2mkdev uses | ||
197 | Linux tty naming conventions: ttyF0 - ttyF255 for normal devices, and | ||
198 | cuf0 - cuf255 for callout devices. | ||
199 | |||
200 | |||
201 | 4. USING THE DRIVERS | ||
202 | |||
203 | As noted above, the driver implements the ports in accordance with Linux | ||
204 | conventions, and the devices should be interchangeable with the standard | ||
205 | serial devices. (This is a key point for problem reporting: please make | ||
206 | sure that what you are trying do works on the ttySx/cuax ports first; then | ||
207 | tell us what went wrong with the ip2 ports!) | ||
208 | |||
209 | Higher speeds can be obtained using the setserial utility which remaps | ||
210 | 38,400 bps (extb) to 57,600 bps, 115,200 bps, or a custom speed. | ||
211 | Intelliport II installations using the PowerPort expansion module can | ||
212 | use the custom speed setting to select the highest speeds: 153,600 bps, | ||
213 | 230,400 bps, 307,200 bps, 460,800bps and 921,600 bps. The base for | ||
214 | custom baud rate configuration is fixed at 921,600 for cards/expansion | ||
215 | modules with ST654's and 115200 for those with Cirrus CD1400's. This | ||
216 | corresponds to the maximum bit rates those chips are capable. | ||
217 | For example if the baud base is 921600 and the baud divisor is 18 then | ||
218 | the custom rate is 921600/18 = 51200 bps. See the setserial man page for | ||
219 | complete details. Of course if stty accepts the higher rates now you can | ||
220 | use that as well as the standard ioctls(). | ||
221 | |||
222 | |||
223 | 5. ip2mkdev and assorted utilities... | ||
224 | |||
225 | Several utilities, including the source for a binary ip2mkdev utility are | ||
226 | available under .../drivers/char/ip2. These can be build by changing to | ||
227 | that directory and typing "make" after the kernel has be built. If you do | ||
228 | not wish to compile the binary utilities, the shell script below can be | ||
229 | cut out and run as "ip2mkdev" to create the necessary device files. To | ||
230 | use the ip2mkdev script, you must have procfs enabled and the proc file | ||
231 | system mounted on /proc. | ||
232 | |||
233 | |||
234 | 6. NOTES | ||
235 | |||
236 | This is a release version of the driver, but it is impossible to test it | ||
237 | in all configurations of Linux. If there is any anomalous behaviour that | ||
238 | does not match the standard serial port's behaviour please let us know. | ||
239 | |||
240 | |||
241 | 7. ip2mkdev shell script | ||
242 | |||
243 | Previously, this script was simply attached here. It is now attached as a | ||
244 | shar archive to make it easier to extract the script from the documentation. | ||
245 | To create the ip2mkdev shell script change to a convenient directory (/tmp | ||
246 | works just fine) and run the following command: | ||
247 | |||
248 | unshar Documentation/serial/computone.txt | ||
249 | (This file) | ||
250 | |||
251 | You should now have a file ip2mkdev in your current working directory with | ||
252 | permissions set to execute. Running that script with then create the | ||
253 | necessary devices for the Computone boards, interfaces, and ports which | ||
254 | are present on you system at the time it is run. | ||
255 | |||
256 | |||
257 | #!/bin/sh | ||
258 | # This is a shell archive (produced by GNU sharutils 4.2.1). | ||
259 | # To extract the files from this archive, save it to some FILE, remove | ||
260 | # everything before the `!/bin/sh' line above, then type `sh FILE'. | ||
261 | # | ||
262 | # Made on 2001-10-29 10:32 EST by <mhw@alcove.wittsend.com>. | ||
263 | # Source directory was `/home2/src/tmp'. | ||
264 | # | ||
265 | # Existing files will *not* be overwritten unless `-c' is specified. | ||
266 | # | ||
267 | # This shar contains: | ||
268 | # length mode name | ||
269 | # ------ ---------- ------------------------------------------ | ||
270 | # 4251 -rwxr-xr-x ip2mkdev | ||
271 | # | ||
272 | save_IFS="${IFS}" | ||
273 | IFS="${IFS}:" | ||
274 | gettext_dir=FAILED | ||
275 | locale_dir=FAILED | ||
276 | first_param="$1" | ||
277 | for dir in $PATH | ||
278 | do | ||
279 | if test "$gettext_dir" = FAILED && test -f $dir/gettext \ | ||
280 | && ($dir/gettext --version >/dev/null 2>&1) | ||
281 | then | ||
282 | set `$dir/gettext --version 2>&1` | ||
283 | if test "$3" = GNU | ||
284 | then | ||
285 | gettext_dir=$dir | ||
286 | fi | ||
287 | fi | ||
288 | if test "$locale_dir" = FAILED && test -f $dir/shar \ | ||
289 | && ($dir/shar --print-text-domain-dir >/dev/null 2>&1) | ||
290 | then | ||
291 | locale_dir=`$dir/shar --print-text-domain-dir` | ||
292 | fi | ||
293 | done | ||
294 | IFS="$save_IFS" | ||
295 | if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED | ||
296 | then | ||
297 | echo=echo | ||
298 | else | ||
299 | TEXTDOMAINDIR=$locale_dir | ||
300 | export TEXTDOMAINDIR | ||
301 | TEXTDOMAIN=sharutils | ||
302 | export TEXTDOMAIN | ||
303 | echo="$gettext_dir/gettext -s" | ||
304 | fi | ||
305 | if touch -am -t 200112312359.59 $$.touch >/dev/null 2>&1 && test ! -f 200112312359.59 -a -f $$.touch; then | ||
306 | shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"' | ||
307 | elif touch -am 123123592001.59 $$.touch >/dev/null 2>&1 && test ! -f 123123592001.59 -a ! -f 123123592001.5 -a -f $$.touch; then | ||
308 | shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"' | ||
309 | elif touch -am 1231235901 $$.touch >/dev/null 2>&1 && test ! -f 1231235901 -a -f $$.touch; then | ||
310 | shar_touch='touch -am $3$4$5$6$2 "$8"' | ||
311 | else | ||
312 | shar_touch=: | ||
313 | echo | ||
314 | $echo 'WARNING: not restoring timestamps. Consider getting and' | ||
315 | $echo "installing GNU \`touch', distributed in GNU File Utilities..." | ||
316 | echo | ||
317 | fi | ||
318 | rm -f 200112312359.59 123123592001.59 123123592001.5 1231235901 $$.touch | ||
319 | # | ||
320 | if mkdir _sh17581; then | ||
321 | $echo 'x -' 'creating lock directory' | ||
322 | else | ||
323 | $echo 'failed to create lock directory' | ||
324 | exit 1 | ||
325 | fi | ||
326 | # ============= ip2mkdev ============== | ||
327 | if test -f 'ip2mkdev' && test "$first_param" != -c; then | ||
328 | $echo 'x -' SKIPPING 'ip2mkdev' '(file already exists)' | ||
329 | else | ||
330 | $echo 'x -' extracting 'ip2mkdev' '(text)' | ||
331 | sed 's/^X//' << 'SHAR_EOF' > 'ip2mkdev' && | ||
332 | #!/bin/sh - | ||
333 | # | ||
334 | # ip2mkdev | ||
335 | # | ||
336 | # Make or remove devices as needed for Computone Intelliport drivers | ||
337 | # | ||
338 | # First rule! If the dev file exists and you need it, don't mess | ||
339 | # with it. That prevents us from screwing up open ttys, ownership | ||
340 | # and permissions on a running system! | ||
341 | # | ||
342 | # This script will NOT remove devices that no longer exist if their | ||
343 | # board or interface box has been removed. If you want to get rid | ||
344 | # of them, you can manually do an "rm -f /dev/ttyF* /dev/cuaf*" | ||
345 | # before running this script. Running this script will then recreate | ||
346 | # all the valid devices. | ||
347 | # | ||
348 | # Michael H. Warfield | ||
349 | # /\/\|=mhw=|\/\/ | ||
350 | # mhw@wittsend.com | ||
351 | # | ||
352 | # Updated 10/29/2000 for version 1.2.13 naming convention | ||
353 | # under devfs. /\/\|=mhw=|\/\/ | ||
354 | # | ||
355 | # Updated 03/09/2000 for devfs support in ip2 drivers. /\/\|=mhw=|\/\/ | ||
356 | # | ||
357 | X | ||
358 | if test -d /dev/ip2 ; then | ||
359 | # This is devfs mode... We don't do anything except create symlinks | ||
360 | # from the real devices to the old names! | ||
361 | X cd /dev | ||
362 | X echo "Creating symbolic links to devfs devices" | ||
363 | X for i in `ls ip2` ; do | ||
364 | X if test ! -L ip2$i ; then | ||
365 | X # Remove it incase it wasn't a symlink (old device) | ||
366 | X rm -f ip2$i | ||
367 | X ln -s ip2/$i ip2$i | ||
368 | X fi | ||
369 | X done | ||
370 | X for i in `( cd tts ; ls F* )` ; do | ||
371 | X if test ! -L tty$i ; then | ||
372 | X # Remove it incase it wasn't a symlink (old device) | ||
373 | X rm -f tty$i | ||
374 | X ln -s tts/$i tty$i | ||
375 | X fi | ||
376 | X done | ||
377 | X for i in `( cd cua ; ls F* )` ; do | ||
378 | X DEVNUMBER=`expr $i : 'F\(.*\)'` | ||
379 | X if test ! -L cuf$DEVNUMBER ; then | ||
380 | X # Remove it incase it wasn't a symlink (old device) | ||
381 | X rm -f cuf$DEVNUMBER | ||
382 | X ln -s cua/$i cuf$DEVNUMBER | ||
383 | X fi | ||
384 | X done | ||
385 | X exit 0 | ||
386 | fi | ||
387 | X | ||
388 | if test ! -f /proc/tty/drivers | ||
389 | then | ||
390 | X echo "\ | ||
391 | Unable to check driver status. | ||
392 | Make sure proc file system is mounted." | ||
393 | X | ||
394 | X exit 255 | ||
395 | fi | ||
396 | X | ||
397 | if test ! -f /proc/tty/driver/ip2 | ||
398 | then | ||
399 | X echo "\ | ||
400 | Unable to locate ip2 proc file. | ||
401 | Attempting to load driver" | ||
402 | X | ||
403 | X if /sbin/insmod ip2 | ||
404 | X then | ||
405 | X if test ! -f /proc/tty/driver/ip2 | ||
406 | X then | ||
407 | X echo "\ | ||
408 | Unable to locate ip2 proc file after loading driver. | ||
409 | Driver initialization failure or driver version error. | ||
410 | " | ||
411 | X exit 255 | ||
412 | X fi | ||
413 | X else | ||
414 | X echo "Unable to load ip2 driver." | ||
415 | X exit 255 | ||
416 | X fi | ||
417 | fi | ||
418 | X | ||
419 | # Ok... So we got the driver loaded and we can locate the procfs files. | ||
420 | # Next we need our major numbers. | ||
421 | X | ||
422 | TTYMAJOR=`sed -e '/^ip2/!d' -e '/\/dev\/tt/!d' -e 's/.*tt[^ ]*[ ]*\([0-9]*\)[ ]*.*/\1/' < /proc/tty/drivers` | ||
423 | CUAMAJOR=`sed -e '/^ip2/!d' -e '/\/dev\/cu/!d' -e 's/.*cu[^ ]*[ ]*\([0-9]*\)[ ]*.*/\1/' < /proc/tty/drivers` | ||
424 | BRDMAJOR=`sed -e '/^Driver: /!d' -e 's/.*IMajor=\([0-9]*\)[ ]*.*/\1/' < /proc/tty/driver/ip2` | ||
425 | X | ||
426 | echo "\ | ||
427 | TTYMAJOR = $TTYMAJOR | ||
428 | CUAMAJOR = $CUAMAJOR | ||
429 | BRDMAJOR = $BRDMAJOR | ||
430 | " | ||
431 | X | ||
432 | # Ok... Now we should know our major numbers, if appropriate... | ||
433 | # Now we need our boards and start the device loops. | ||
434 | X | ||
435 | grep '^Board [0-9]:' /proc/tty/driver/ip2 | while read token number type alltherest | ||
436 | do | ||
437 | X # The test for blank "type" will catch the stats lead-in lines | ||
438 | X # if they exist in the file | ||
439 | X if test "$type" = "vacant" -o "$type" = "Vacant" -o "$type" = "" | ||
440 | X then | ||
441 | X continue | ||
442 | X fi | ||
443 | X | ||
444 | X BOARDNO=`expr "$number" : '\([0-9]\):'` | ||
445 | X PORTS=`expr "$alltherest" : '.*ports=\([0-9]*\)' | tr ',' ' '` | ||
446 | X MINORS=`expr "$alltherest" : '.*minors=\([0-9,]*\)' | tr ',' ' '` | ||
447 | X | ||
448 | X if test "$BOARDNO" = "" -o "$PORTS" = "" | ||
449 | X then | ||
450 | # This may be a bug. We should at least get this much information | ||
451 | X echo "Unable to process board line" | ||
452 | X continue | ||
453 | X fi | ||
454 | X | ||
455 | X if test "$MINORS" = "" | ||
456 | X then | ||
457 | # Silently skip this one. This board seems to have no boxes | ||
458 | X continue | ||
459 | X fi | ||
460 | X | ||
461 | X echo "board $BOARDNO: $type ports = $PORTS; port numbers = $MINORS" | ||
462 | X | ||
463 | X if test "$BRDMAJOR" != "" | ||
464 | X then | ||
465 | X BRDMINOR=`expr $BOARDNO \* 4` | ||
466 | X STSMINOR=`expr $BRDMINOR + 1` | ||
467 | X if test ! -c /dev/ip2ipl$BOARDNO ; then | ||
468 | X mknod /dev/ip2ipl$BOARDNO c $BRDMAJOR $BRDMINOR | ||
469 | X fi | ||
470 | X if test ! -c /dev/ip2stat$BOARDNO ; then | ||
471 | X mknod /dev/ip2stat$BOARDNO c $BRDMAJOR $STSMINOR | ||
472 | X fi | ||
473 | X fi | ||
474 | X | ||
475 | X if test "$TTYMAJOR" != "" | ||
476 | X then | ||
477 | X PORTNO=$BOARDBASE | ||
478 | X | ||
479 | X for PORTNO in $MINORS | ||
480 | X do | ||
481 | X if test ! -c /dev/ttyF$PORTNO ; then | ||
482 | X # We got the hardware but no device - make it | ||
483 | X mknod /dev/ttyF$PORTNO c $TTYMAJOR $PORTNO | ||
484 | X fi | ||
485 | X done | ||
486 | X fi | ||
487 | X | ||
488 | X if test "$CUAMAJOR" != "" | ||
489 | X then | ||
490 | X PORTNO=$BOARDBASE | ||
491 | X | ||
492 | X for PORTNO in $MINORS | ||
493 | X do | ||
494 | X if test ! -c /dev/cuf$PORTNO ; then | ||
495 | X # We got the hardware but no device - make it | ||
496 | X mknod /dev/cuf$PORTNO c $CUAMAJOR $PORTNO | ||
497 | X fi | ||
498 | X done | ||
499 | X fi | ||
500 | done | ||
501 | X | ||
502 | Xexit 0 | ||
503 | SHAR_EOF | ||
504 | (set 20 01 10 29 10 32 01 'ip2mkdev'; eval "$shar_touch") && | ||
505 | chmod 0755 'ip2mkdev' || | ||
506 | $echo 'restore of' 'ip2mkdev' 'failed' | ||
507 | if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ | ||
508 | && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then | ||
509 | md5sum -c << SHAR_EOF >/dev/null 2>&1 \ | ||
510 | || $echo 'ip2mkdev:' 'MD5 check failed' | ||
511 | cb5717134509f38bad9fde6b1f79b4a4 ip2mkdev | ||
512 | SHAR_EOF | ||
513 | else | ||
514 | shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'ip2mkdev'`" | ||
515 | test 4251 -eq "$shar_count" || | ||
516 | $echo 'ip2mkdev:' 'original size' '4251,' 'current size' "$shar_count!" | ||
517 | fi | ||
518 | fi | ||
519 | rm -fr _sh17581 | ||
520 | exit 0 | ||