PageRenderTime 30ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/arch/arm/boot/dts/stm32429i-eval.dts

https://github.com/gby/linux
Device Tree | 299 lines | 217 code | 36 blank | 46 comment | 0 complexity | 7542bef2677c022eb2dae92d327d088b MD5 | raw file
  1. /*
  2. * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com>
  3. *
  4. * This file is dual-licensed: you can use it either under the terms
  5. * of the GPL or the X11 license, at your option. Note that this dual
  6. * licensing only applies to this file, and not this project as a
  7. * whole.
  8. *
  9. * a) This file is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU General Public License as
  11. * published by the Free Software Foundation; either version 2 of the
  12. * License, or (at your option) any later version.
  13. *
  14. * This file is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU General Public
  20. * License along with this file; if not, write to the Free
  21. * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
  22. * MA 02110-1301 USA
  23. *
  24. * Or, alternatively,
  25. *
  26. * b) Permission is hereby granted, free of charge, to any person
  27. * obtaining a copy of this software and associated documentation
  28. * files (the "Software"), to deal in the Software without
  29. * restriction, including without limitation the rights to use,
  30. * copy, modify, merge, publish, distribute, sublicense, and/or
  31. * sell copies of the Software, and to permit persons to whom the
  32. * Software is furnished to do so, subject to the following
  33. * conditions:
  34. *
  35. * The above copyright notice and this permission notice shall be
  36. * included in all copies or substantial portions of the Software.
  37. *
  38. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  39. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  40. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  41. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  42. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  43. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  44. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  45. * OTHER DEALINGS IN THE SOFTWARE.
  46. */
  47. /dts-v1/;
  48. #include "stm32f429.dtsi"
  49. #include <dt-bindings/input/input.h>
  50. #include <dt-bindings/gpio/gpio.h>
  51. / {
  52. model = "STMicroelectronics STM32429i-EVAL board";
  53. compatible = "st,stm32429i-eval", "st,stm32f429";
  54. chosen {
  55. bootargs = "root=/dev/ram rdinit=/linuxrc";
  56. stdout-path = "serial0:115200n8";
  57. };
  58. memory {
  59. reg = <0x00000000 0x2000000>;
  60. };
  61. aliases {
  62. serial0 = &usart1;
  63. };
  64. clocks {
  65. clk_ext_camera: clk-ext-camera {
  66. #clock-cells = <0>;
  67. compatible = "fixed-clock";
  68. clock-frequency = <24000000>;
  69. };
  70. };
  71. soc {
  72. dma-ranges = <0xc0000000 0x0 0x10000000>;
  73. };
  74. regulators {
  75. compatible = "simple-bus";
  76. #address-cells = <1>;
  77. #size-cells = <0>;
  78. reg_vref: regulator@0 {
  79. compatible = "regulator-fixed";
  80. reg = <0>;
  81. regulator-name = "vref";
  82. regulator-min-microvolt = <3300000>;
  83. regulator-max-microvolt = <3300000>;
  84. };
  85. };
  86. leds {
  87. compatible = "gpio-leds";
  88. green {
  89. gpios = <&gpiog 6 1>;
  90. linux,default-trigger = "heartbeat";
  91. };
  92. orange {
  93. gpios = <&gpiog 7 1>;
  94. };
  95. red {
  96. gpios = <&gpiog 10 1>;
  97. };
  98. blue {
  99. gpios = <&gpiog 12 1>;
  100. };
  101. };
  102. gpio_keys {
  103. compatible = "gpio-keys";
  104. #address-cells = <1>;
  105. #size-cells = <0>;
  106. autorepeat;
  107. button@0 {
  108. label = "Wake up";
  109. linux,code = <KEY_WAKEUP>;
  110. gpios = <&gpioa 0 0>;
  111. };
  112. button@1 {
  113. label = "Tamper";
  114. linux,code = <KEY_RESTART>;
  115. gpios = <&gpioc 13 0>;
  116. };
  117. };
  118. usbotg_hs_phy: usbphy {
  119. #phy-cells = <0>;
  120. compatible = "usb-nop-xceiv";
  121. clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHSULPI)>;
  122. clock-names = "main_clk";
  123. };
  124. panel_rgb: panel-rgb {
  125. compatible = "ampire,am-480272h3tmqw-t01h";
  126. status = "okay";
  127. port {
  128. panel_in_rgb: endpoint {
  129. remote-endpoint = <&ltdc_out_rgb>;
  130. };
  131. };
  132. };
  133. };
  134. &adc {
  135. pinctrl-names = "default";
  136. pinctrl-0 = <&adc3_in8_pin>;
  137. vref-supply = <&reg_vref>;
  138. status = "okay";
  139. adc3: adc@200 {
  140. st,adc-channels = <8>;
  141. status = "okay";
  142. };
  143. };
  144. &clk_hse {
  145. clock-frequency = <25000000>;
  146. };
  147. &crc {
  148. status = "okay";
  149. };
  150. &dcmi {
  151. status = "okay";
  152. port {
  153. dcmi_0: endpoint {
  154. remote-endpoint = <&ov2640_0>;
  155. bus-width = <8>;
  156. hsync-active = <0>;
  157. vsync-active = <0>;
  158. pclk-sample = <1>;
  159. };
  160. };
  161. };
  162. &i2c1 {
  163. pinctrl-0 = <&i2c1_pins>;
  164. pinctrl-names = "default";
  165. status = "okay";
  166. ov2640: camera@30 {
  167. compatible = "ovti,ov2640";
  168. reg = <0x30>;
  169. resetb-gpios = <&stmpegpio 2 GPIO_ACTIVE_HIGH>;
  170. pwdn-gpios = <&stmpegpio 0 GPIO_ACTIVE_LOW>;
  171. clocks = <&clk_ext_camera>;
  172. clock-names = "xvclk";
  173. status = "okay";
  174. port {
  175. ov2640_0: endpoint {
  176. remote-endpoint = <&dcmi_0>;
  177. };
  178. };
  179. };
  180. stmpe1600: stmpe1600@42 {
  181. compatible = "st,stmpe1600";
  182. reg = <0x42>;
  183. irq-gpio = <&gpioi 8 0>;
  184. irq-trigger = <3>;
  185. interrupts = <8 3>;
  186. interrupt-parent = <&exti>;
  187. interrupt-controller;
  188. wakeup-source;
  189. stmpegpio: stmpe_gpio {
  190. compatible = "st,stmpe-gpio";
  191. gpio-controller;
  192. #gpio-cells = <2>;
  193. };
  194. };
  195. };
  196. &iwdg {
  197. status = "okay";
  198. timeout-sec = <32>;
  199. };
  200. &ltdc {
  201. status = "okay";
  202. pinctrl-0 = <&ltdc_pins>;
  203. pinctrl-names = "default";
  204. dma-ranges;
  205. port {
  206. ltdc_out_rgb: endpoint {
  207. remote-endpoint = <&panel_in_rgb>;
  208. };
  209. };
  210. };
  211. &mac {
  212. status = "okay";
  213. pinctrl-0 = <&ethernet_mii>;
  214. pinctrl-names = "default";
  215. phy-mode = "mii";
  216. phy-handle = <&phy1>;
  217. mdio0 {
  218. #address-cells = <1>;
  219. #size-cells = <0>;
  220. compatible = "snps,dwmac-mdio";
  221. phy1: ethernet-phy@1 {
  222. reg = <1>;
  223. };
  224. };
  225. };
  226. &rtc {
  227. status = "okay";
  228. };
  229. &timers1 {
  230. status = "okay";
  231. pwm {
  232. pinctrl-0 = <&pwm1_pins>;
  233. pinctrl-names = "default";
  234. status = "okay";
  235. };
  236. timer@0 {
  237. status = "okay";
  238. };
  239. };
  240. &timers3 {
  241. status = "okay";
  242. pwm {
  243. pinctrl-0 = <&pwm3_pins>;
  244. pinctrl-names = "default";
  245. status = "okay";
  246. };
  247. timer@2 {
  248. status = "okay";
  249. };
  250. };
  251. &usart1 {
  252. pinctrl-0 = <&usart1_pins_a>;
  253. pinctrl-names = "default";
  254. status = "okay";
  255. };
  256. &usbotg_hs {
  257. dr_mode = "host";
  258. phys = <&usbotg_hs_phy>;
  259. phy-names = "usb2-phy";
  260. pinctrl-0 = <&usbotg_hs_pins_a>;
  261. pinctrl-names = "default";
  262. status = "okay";
  263. };