Commit | Line | Data |
---|---|---|
896dd272 SH |
1 | /* |
2 | * Device Tree include for Compulab CM-A510 System-on-Module | |
3 | * | |
4 | * Copyright (C) 2015, Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | |
5 | * | |
6 | * This file is dual-licensed: you can use it either under the terms | |
7 | * of the GPL or the X11 license, at your option. Note that this dual | |
8 | * licensing only applies to this file, and not this project as a | |
9 | * whole. | |
10 | * | |
11 | * a) This file is free software; you can redistribute it and/or | |
12 | * modify it under the terms of the GNU General Public License as | |
13 | * published by the Free Software Foundation; version 2 of the | |
14 | * License. | |
15 | * | |
16 | * This file is distributed in the hope that it will be useful | |
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 | * GNU General Public License for more details. | |
20 | * | |
21 | * Or, alternatively | |
22 | * | |
23 | * b) Permission is hereby granted, free of charge, to any person | |
24 | * obtaining a copy of this software and associated documentation | |
25 | * files (the "Software"), to deal in the Software without | |
26 | * restriction, including without limitation the rights to use | |
27 | * copy, modify, merge, publish, distribute, sublicense, and/or | |
28 | * sell copies of the Software, and to permit persons to whom the | |
29 | * Software is furnished to do so, subject to the following | |
30 | * conditions: | |
31 | * | |
32 | * The above copyright notice and this permission notice shall be | |
33 | * included in all copies or substantial portions of the Software. | |
34 | * | |
35 | * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND | |
36 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | |
37 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
38 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | |
39 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY | |
40 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
41 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |
42 | * OTHER DEALINGS IN THE SOFTWARE. | |
43 | */ | |
44 | ||
45 | /* | |
46 | * The CM-A510 comes with several optional components: | |
47 | * | |
48 | * Memory options: | |
49 | * D512: 512M | |
50 | * D1024: 1G | |
51 | * | |
52 | * NAND options: | |
53 | * N512: 512M NAND | |
54 | * | |
55 | * Ethernet options: | |
56 | * E1: PHY RTL8211D on internal GbE (SMI address 0x03) | |
57 | * E2: Additional ethernet NIC RTL8111D on PCIe1 | |
58 | * | |
59 | * Audio options: | |
60 | * A: TI TLV320AIC23b audio codec (I2C address 0x1a) | |
61 | * | |
62 | * Touchscreen options: | |
63 | * I: TI TSC2046 touchscreen controller (on SPI1) | |
64 | * | |
65 | * USB options: | |
66 | * U2: 2 dual-role USB2.0 ports | |
67 | * U4: 2 additional USB2.0 host ports (via USB1) | |
68 | * | |
69 | * WiFi options: | |
70 | * W: Broadcom BCM4319 802.11b/g/n (USI WM-N-BM-01 on SDIO1) | |
71 | * | |
72 | * GPIOs used on CM-A510: | |
73 | * 1 GbE PHY reset (active low) | |
74 | * 3 WakeUp | |
75 | * 8 PowerOff (active low) | |
76 | * 13 Touchscreen pen irq (active low) | |
77 | * 65 System LED (active high) | |
78 | * 69 USB Hub reset (active low) | |
79 | * 70 WLAN reset (active low) | |
80 | * 71 WLAN regulator (active high) | |
81 | */ | |
82 | ||
83 | #include "dove.dtsi" | |
84 | ||
85 | / { | |
86 | model = "Compulab CM-A510"; | |
87 | compatible = "compulab,cm-a510", "marvell,dove"; | |
88 | ||
89 | /* | |
90 | * Set the minimum memory size here and let the | |
91 | * bootloader set the real size. | |
92 | */ | |
93 | memory { | |
94 | device_type = "memory"; | |
95 | reg = <0x00000000 0x20000000>; | |
96 | }; | |
97 | ||
98 | leds { | |
99 | compatible = "gpio-leds"; | |
100 | /* Set upper NAND data bit to GPO */ | |
101 | pinctrl-0 = <&pmx_nand_gpo>; | |
102 | pinctrl-names = "default"; | |
103 | ||
104 | system { | |
105 | label = "cm-a510:system:green"; | |
106 | gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; | |
107 | default-state = "keep"; | |
108 | }; | |
109 | }; | |
110 | ||
111 | regulators { | |
112 | compatible = "simple-bus"; | |
113 | #address-cells = <1>; | |
114 | #size-cells = <0>; | |
115 | ||
116 | wifi_power: regulator@1 { | |
117 | compatible = "regulator-fixed"; | |
118 | regulator-name = "WiFi Power"; | |
119 | regulator-min-microvolt = <3300000>; | |
120 | regulator-max-microvolt = <3300000>; | |
121 | gpio = <&gpio2 7 GPIO_ACTIVE_HIGH>; | |
122 | }; | |
123 | }; | |
124 | }; | |
125 | ||
126 | /* Optional RTL8211D GbE PHY on SMI address 0x03 */ | |
127 | ðphy { | |
128 | reg = <3>; | |
129 | status = "disabled"; | |
130 | }; | |
131 | ||
132 | &i2c0 { | |
133 | /* Optional TI TLV320AIC23b audio codec */ | |
134 | opt_audio: audio@1a { | |
135 | compatible = "ti,tlv320aic23"; | |
136 | reg = <0x1a>; | |
137 | status = "disabled"; | |
138 | }; | |
139 | }; | |
140 | ||
141 | /* Optional RTL8111D GbE NIC on PCIe1 */ | |
142 | &pcie { status = "disabled"; }; | |
143 | ||
144 | &pcie1 { | |
145 | pinctrl-0 = <&pmx_pcie1_clkreq>; | |
146 | pinctrl-names = "default"; | |
147 | status = "disabled"; | |
148 | }; | |
149 | ||
150 | &pinctrl { | |
151 | pmx_uart2: pmx-uart2 { | |
152 | marvell,pins = "mpp14", "mpp15"; | |
153 | marvell,function = "uart2"; | |
154 | }; | |
155 | }; | |
156 | ||
157 | /* Optional Broadcom BCM4319 802.11b/g/n WiFi module */ | |
158 | &sdio1 { | |
159 | non-removable; | |
160 | vmmc-supply = <&wifi_power>; | |
161 | reset-gpio = <&gpio2 6 GPIO_ACTIVE_LOW>; | |
162 | status = "disabled"; | |
163 | }; | |
164 | ||
165 | &spi0 { | |
166 | status = "okay"; | |
167 | ||
168 | /* 1M Flash Winbond W25Q80BL */ | |
169 | flash@0 { | |
170 | compatible = "winbond,w25q80"; | |
171 | spi-max-frequency = <80000000>; | |
172 | reg = <0>; | |
173 | }; | |
174 | }; | |
175 | ||
176 | &spi1 { | |
177 | pinctrl-0 = <&pmx_spi1_20_23>; | |
178 | pinctrl-names = "default"; | |
179 | status = "disabled"; | |
180 | ||
181 | /* Optional TI TSC2046 touchscreen controller */ | |
182 | opt_touch: touchscreen@0 { | |
183 | compatible = "ti,tsc2046"; | |
184 | spi-max-frequency = <2500000>; | |
185 | reg = <0>; | |
186 | pinctrl-0 = <&pmx_gpio_13>; | |
187 | pinctrl-names = "default"; | |
188 | interrupts-extended = <&gpio0 13 IRQ_TYPE_EDGE_FALLING>; | |
189 | }; | |
190 | }; | |
191 | ||
192 | &uart2 { | |
193 | pinctrl-0 = <&pmx_uart2>; | |
194 | pinctrl-names = "default"; | |
195 | }; |