.. | .. |
---|
20 | 20 | }; |
---|
21 | 21 | |
---|
22 | 22 | chosen { |
---|
23 | | - bootargs = "console=ttyS0,19200n8 root=/dev/sda1 rw rootwait"; |
---|
| 23 | + bootargs = "console=ttyS0,19200n8 root=/dev/sda1 rw rootwait consoleblank=300"; |
---|
24 | 24 | stdout-path = "uart0:19200n8"; |
---|
25 | 25 | }; |
---|
26 | 26 | |
---|
.. | .. |
---|
28 | 28 | compatible = "gpio-keys"; |
---|
29 | 29 | |
---|
30 | 30 | button-esc { |
---|
31 | | - debounce-interval = <50>; |
---|
| 31 | + debounce-interval = <100>; |
---|
32 | 32 | wakeup-source; |
---|
33 | 33 | linux,code = <KEY_ESC>; |
---|
34 | 34 | label = "reset"; |
---|
.. | .. |
---|
36 | 36 | gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; |
---|
37 | 37 | }; |
---|
38 | 38 | button-eject { |
---|
39 | | - debounce-interval = <50>; |
---|
| 39 | + debounce-interval = <100>; |
---|
40 | 40 | wakeup-source; |
---|
41 | 41 | linux,code = <KEY_EJECTCD>; |
---|
42 | 42 | label = "unmount"; |
---|
.. | .. |
---|
64 | 64 | gpio-sck = <&gpio1 5 GPIO_ACTIVE_HIGH>; |
---|
65 | 65 | gpio-miso = <&gpio1 8 GPIO_ACTIVE_HIGH>; |
---|
66 | 66 | gpio-mosi = <&gpio1 7 GPIO_ACTIVE_HIGH>; |
---|
67 | | - /* Collides with pflash CE1, not so cool */ |
---|
68 | 67 | cs-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>; |
---|
69 | 68 | num-chipselects = <1>; |
---|
70 | 69 | |
---|
.. | .. |
---|
73 | 72 | reg = <0>; |
---|
74 | 73 | /* 50 ns min period = 20 MHz */ |
---|
75 | 74 | spi-max-frequency = <20000000>; |
---|
76 | | - spi-cpol; /* Clock active low */ |
---|
77 | 75 | vcc-supply = <&vdisp>; |
---|
78 | 76 | iovcc-supply = <&vdisp>; |
---|
79 | 77 | vci-supply = <&vdisp>; |
---|
.. | .. |
---|
121 | 119 | |
---|
122 | 120 | /* |
---|
123 | 121 | * This is a Sunon Maglev GM0502PFV2-8 cooling fan @10000 RPM. |
---|
124 | | - * Since the platform has no temperature sensor, this is controlled |
---|
125 | | - * from userspace by using the hard disks S.M.A.R.T. temperature |
---|
126 | 122 | * sensor. It is turned on when the temperature exceeds 46 degrees |
---|
127 | 123 | * and turned off when the temperatures goes below 41 degrees |
---|
128 | 124 | * (celsius). |
---|
129 | 125 | */ |
---|
130 | | - gpio-fan { |
---|
| 126 | + fan0: gpio-fan { |
---|
131 | 127 | compatible = "gpio-fan"; |
---|
132 | 128 | /* Collides with IDE */ |
---|
133 | 129 | gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; |
---|
134 | 130 | gpio-fan,speed-map = <0 0>, <10000 1>; |
---|
135 | 131 | #cooling-cells = <2>; |
---|
| 132 | + }; |
---|
| 133 | + |
---|
| 134 | + thermal-zones { |
---|
| 135 | + chassis-thermal { |
---|
| 136 | + /* Poll every 20 seconds */ |
---|
| 137 | + polling-delay = <20000>; |
---|
| 138 | + /* Poll every 2nd second when cooling */ |
---|
| 139 | + polling-delay-passive = <2000>; |
---|
| 140 | + /* Use the thermal sensor in the hard drive */ |
---|
| 141 | + thermal-sensors = <&drive0>; |
---|
| 142 | + |
---|
| 143 | + /* Tripping points from the fan.script in the rootfs */ |
---|
| 144 | + trips { |
---|
| 145 | + alert: chassis-alert { |
---|
| 146 | + /* At 43 degrees turn on the fan */ |
---|
| 147 | + temperature = <43000>; |
---|
| 148 | + hysteresis = <3000>; |
---|
| 149 | + type = "active"; |
---|
| 150 | + }; |
---|
| 151 | + crit: chassis-crit { |
---|
| 152 | + /* Just shut down at 60 degrees */ |
---|
| 153 | + temperature = <60000>; |
---|
| 154 | + hysteresis = <2000>; |
---|
| 155 | + type = "critical"; |
---|
| 156 | + }; |
---|
| 157 | + }; |
---|
| 158 | + |
---|
| 159 | + cooling-maps { |
---|
| 160 | + map0 { |
---|
| 161 | + trip = <&alert>; |
---|
| 162 | + cooling-device = <&fan0 1 1>; |
---|
| 163 | + }; |
---|
| 164 | + }; |
---|
| 165 | + }; |
---|
136 | 166 | }; |
---|
137 | 167 | |
---|
138 | 168 | /* |
---|
.. | .. |
---|
253 | 283 | soc { |
---|
254 | 284 | flash@30000000 { |
---|
255 | 285 | /* |
---|
256 | | - * Flash access is by default disabled, because it |
---|
257 | | - * collides with the Chip Enable signal for the display |
---|
258 | | - * panel, that reuse the parallel flash Chip Select 1 |
---|
259 | | - * (CS1). Enabling flash makes graphics stop working. |
---|
260 | | - * |
---|
261 | | - * We might be able to hack around this by letting |
---|
262 | | - * GPIO poke around in the flash controller registers. |
---|
| 286 | + * Flash access collides with the Chip Enable signal for |
---|
| 287 | + * the display panel, that reuse the parallel flash Chip |
---|
| 288 | + * Select 1 (CS1). We switch the pin control state so we |
---|
| 289 | + * enable these pins for flash access only when we need |
---|
| 290 | + * then, and when disabled they can be used for GPIO which |
---|
| 291 | + * is what the display panel needs. |
---|
263 | 292 | */ |
---|
264 | | - /* status = "okay"; */ |
---|
| 293 | + status = "okay"; |
---|
| 294 | + pinctrl-names = "enabled", "disabled"; |
---|
| 295 | + pinctrl-0 = <&pflash_default_pins>; |
---|
| 296 | + pinctrl-1 = <&pflash_disabled_pins>; |
---|
| 297 | + |
---|
265 | 298 | /* 32MB of flash */ |
---|
266 | 299 | reg = <0x30000000 0x02000000>; |
---|
267 | 300 | |
---|
268 | | - /* |
---|
269 | | - * This "RedBoot" is the Storlink derivative. |
---|
270 | | - */ |
---|
271 | | - partition@0 { |
---|
272 | | - label = "RedBoot"; |
---|
273 | | - reg = <0x00000000 0x00040000>; |
---|
274 | | - read-only; |
---|
275 | | - }; |
---|
276 | | - /* |
---|
277 | | - * This firmware image contains the kernel catenated |
---|
278 | | - * with the squashfs root filesystem. For some reason |
---|
279 | | - * this is called "upgrade" on the vendor system. |
---|
280 | | - */ |
---|
281 | | - partition@40000 { |
---|
282 | | - label = "upgrade"; |
---|
283 | | - reg = <0x00040000 0x01f40000>; |
---|
284 | | - read-only; |
---|
285 | | - }; |
---|
286 | | - /* RGDB, Residental Gateway Database? */ |
---|
287 | | - partition@1f80000 { |
---|
288 | | - label = "rgdb"; |
---|
289 | | - reg = <0x01f80000 0x00040000>; |
---|
290 | | - read-only; |
---|
291 | | - }; |
---|
292 | | - /* |
---|
293 | | - * This partition contains MAC addresses for WAN, |
---|
294 | | - * WLAN and LAN, and the country code (for wireless |
---|
295 | | - * I guess). |
---|
296 | | - */ |
---|
297 | | - partition@1fc0000 { |
---|
298 | | - label = "nvram"; |
---|
299 | | - reg = <0x01fc0000 0x00020000>; |
---|
300 | | - read-only; |
---|
301 | | - }; |
---|
302 | | - partition@1fe0000 { |
---|
303 | | - label = "LangPack"; |
---|
304 | | - reg = <0x01fe0000 0x00020000>; |
---|
305 | | - read-only; |
---|
| 301 | + partitions { |
---|
| 302 | + compatible = "fixed-partitions"; |
---|
| 303 | + #address-cells = <1>; |
---|
| 304 | + #size-cells = <1>; |
---|
| 305 | + |
---|
| 306 | + /* |
---|
| 307 | + * This "RedBoot" is the Storlink derivative. |
---|
| 308 | + */ |
---|
| 309 | + partition@0 { |
---|
| 310 | + label = "RedBoot"; |
---|
| 311 | + reg = <0x00000000 0x00040000>; |
---|
| 312 | + read-only; |
---|
| 313 | + }; |
---|
| 314 | + /* |
---|
| 315 | + * This firmware image contains the kernel catenated |
---|
| 316 | + * with the squashfs root filesystem. For some reason |
---|
| 317 | + * this is called "upgrade" on the vendor system. |
---|
| 318 | + */ |
---|
| 319 | + partition@40000 { |
---|
| 320 | + label = "upgrade"; |
---|
| 321 | + reg = <0x00040000 0x01f40000>; |
---|
| 322 | + read-only; |
---|
| 323 | + }; |
---|
| 324 | + /* RGDB, Residental Gateway Database? */ |
---|
| 325 | + partition@1f80000 { |
---|
| 326 | + label = "rgdb"; |
---|
| 327 | + reg = <0x01f80000 0x00040000>; |
---|
| 328 | + read-only; |
---|
| 329 | + }; |
---|
| 330 | + /* |
---|
| 331 | + * This partition contains MAC addresses for WAN, |
---|
| 332 | + * WLAN and LAN, and the country code (for wireless |
---|
| 333 | + * I guess). |
---|
| 334 | + */ |
---|
| 335 | + partition@1fc0000 { |
---|
| 336 | + label = "nvram"; |
---|
| 337 | + reg = <0x01fc0000 0x00020000>; |
---|
| 338 | + read-only; |
---|
| 339 | + }; |
---|
| 340 | + partition@1fe0000 { |
---|
| 341 | + label = "LangPack"; |
---|
| 342 | + reg = <0x01fe0000 0x00020000>; |
---|
| 343 | + read-only; |
---|
| 344 | + }; |
---|
306 | 345 | }; |
---|
307 | 346 | }; |
---|
308 | 347 | |
---|
.. | .. |
---|
327 | 366 | "gpio0cgrp", |
---|
328 | 367 | "gpio0egrp", |
---|
329 | 368 | "gpio0fgrp", |
---|
330 | | - "gpio0ggrp", |
---|
331 | 369 | "gpio0hgrp"; |
---|
332 | 370 | }; |
---|
333 | 371 | }; |
---|
.. | .. |
---|
340 | 378 | mux { |
---|
341 | 379 | function = "gpio1"; |
---|
342 | 380 | groups = "gpio1bgrp"; |
---|
| 381 | + }; |
---|
| 382 | + }; |
---|
| 383 | + /* |
---|
| 384 | + * These GPIO groups will be mapped in over some |
---|
| 385 | + * of the flash pins when the flash is not in |
---|
| 386 | + * active use. |
---|
| 387 | + */ |
---|
| 388 | + pflash_disabled_pins: pinctrl-pflash-disabled { |
---|
| 389 | + mux { |
---|
| 390 | + function = "gpio0"; |
---|
| 391 | + groups = "gpio0ggrp", "gpio0igrp", "gpio0jgrp", |
---|
| 392 | + "gpio0kgrp"; |
---|
343 | 393 | }; |
---|
344 | 394 | }; |
---|
345 | 395 | pinctrl-gmii { |
---|
.. | .. |
---|
425 | 475 | }; |
---|
426 | 476 | }; |
---|
427 | 477 | |
---|
428 | | - ata@63000000 { |
---|
| 478 | + ide@63000000 { |
---|
429 | 479 | status = "okay"; |
---|
| 480 | + |
---|
| 481 | + /* |
---|
| 482 | + * This drive may have a temperature sensor with a |
---|
| 483 | + * thermal zone we can use for thermal control of the |
---|
| 484 | + * chassis temperature using the fan. |
---|
| 485 | + */ |
---|
| 486 | + drive0: ide-port@0 { |
---|
| 487 | + reg = <0>; |
---|
| 488 | + #thermal-sensor-cells = <0>; |
---|
| 489 | + }; |
---|
430 | 490 | }; |
---|
431 | 491 | |
---|
432 | 492 | display-controller@6a000000 { |
---|
.. | .. |
---|
439 | 499 | }; |
---|
440 | 500 | }; |
---|
441 | 501 | }; |
---|
| 502 | + |
---|
| 503 | + usb@68000000 { |
---|
| 504 | + status = "okay"; |
---|
| 505 | + }; |
---|
| 506 | + |
---|
| 507 | + usb@69000000 { |
---|
| 508 | + status = "okay"; |
---|
| 509 | + }; |
---|
442 | 510 | }; |
---|
443 | 511 | }; |
---|