imx53-usbarmory.dts 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. /*
  2. * USB armory MkI device tree file
  3. * https://inversepath.com/usbarmory
  4. *
  5. * Copyright (C) 2015, Inverse Path
  6. * Andrej Rosano <andrej@inversepath.com>
  7. *
  8. * This file is dual-licensed: you can use it either under the terms
  9. * of the GPL or the X11 license, at your option. Note that this dual
  10. * licensing only applies to this file, and not this project as a
  11. * whole.
  12. *
  13. * a) This file is free software; you can redistribute it and/or
  14. * modify it under the terms of the GNU General Public License as
  15. * published by the Free Software Foundation; either version 2 of the
  16. * License, or (at your option) any later version.
  17. *
  18. * This file is distributed in the hope that it will be useful,
  19. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  21. * GNU General Public License for more details.
  22. *
  23. * Or, alternatively,
  24. *
  25. * b) Permission is hereby granted, free of charge, to any person
  26. * obtaining a copy of this software and associated documentation
  27. * files (the "Software"), to deal in the Software without
  28. * restriction, including without limitation the rights to use,
  29. * copy, modify, merge, publish, distribute, sublicense, and/or
  30. * sell copies of the Software, and to permit persons to whom the
  31. * Software is furnished to do so, subject to the following
  32. * conditions:
  33. *
  34. * The above copyright notice and this permission notice shall be
  35. * included in all copies or substantial portions of the Software.
  36. *
  37. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  38. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  39. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  40. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  41. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  42. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  43. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  44. * OTHER DEALINGS IN THE SOFTWARE.
  45. */
  46. /dts-v1/;
  47. #include "imx53.dtsi"
  48. / {
  49. model = "Inverse Path USB armory";
  50. compatible = "inversepath,imx53-usbarmory", "fsl,imx53";
  51. };
  52. / {
  53. chosen {
  54. stdout-path = &uart1;
  55. };
  56. memory@70000000 {
  57. device_type = "memory";
  58. reg = <0x70000000 0x20000000>;
  59. };
  60. leds {
  61. compatible = "gpio-leds";
  62. pinctrl-names = "default";
  63. pinctrl-0 = <&pinctrl_led>;
  64. user {
  65. label = "LED";
  66. gpios = <&gpio4 27 GPIO_ACTIVE_LOW>;
  67. linux,default-trigger = "heartbeat";
  68. };
  69. };
  70. };
  71. /*
  72. * Not every i.MX53 P/N supports clock > 800MHz.
  73. * As USB armory does not mount a specific P/N set a safe clock upper limit.
  74. */
  75. &cpu0 {
  76. operating-points = <
  77. /* kHz */
  78. 166666 850000
  79. 400000 900000
  80. 800000 1050000
  81. >;
  82. };
  83. &esdhc1 {
  84. pinctrl-names = "default";
  85. pinctrl-0 = <&pinctrl_esdhc1>;
  86. status = "okay";
  87. };
  88. &iomuxc {
  89. pinctrl_esdhc1: esdhc1grp {
  90. fsl,pins = <
  91. MX53_PAD_SD1_DATA0__ESDHC1_DAT0 0x1d5
  92. MX53_PAD_SD1_DATA1__ESDHC1_DAT1 0x1d5
  93. MX53_PAD_SD1_DATA2__ESDHC1_DAT2 0x1d5
  94. MX53_PAD_SD1_DATA3__ESDHC1_DAT3 0x1d5
  95. MX53_PAD_SD1_CMD__ESDHC1_CMD 0x1d5
  96. MX53_PAD_SD1_CLK__ESDHC1_CLK 0x1d5
  97. >;
  98. };
  99. pinctrl_i2c1_pmic: i2c1grp {
  100. fsl,pins = <
  101. MX53_PAD_EIM_D21__I2C1_SCL 0x80
  102. MX53_PAD_EIM_D28__I2C1_SDA 0x80
  103. >;
  104. };
  105. pinctrl_led: ledgrp {
  106. fsl,pins = <
  107. MX53_PAD_DISP0_DAT6__GPIO4_27 0x1e4
  108. >;
  109. };
  110. /*
  111. * UART mode pin header configuration
  112. * 3 - GPIO5[26], pull-down 100K
  113. * 4 - GPIO5[27], pull-down 100K
  114. * 5 - TX, pull-up 100K
  115. * 6 - RX, pull-up 100K
  116. * 7 - GPIO5[30], pull-down 100K
  117. */
  118. pinctrl_uart1: uart1grp {
  119. fsl,pins = <
  120. MX53_PAD_CSI0_DAT8__GPIO5_26 0xc0
  121. MX53_PAD_CSI0_DAT9__GPIO5_27 0xc0
  122. MX53_PAD_CSI0_DAT10__UART1_TXD_MUX 0x1e4
  123. MX53_PAD_CSI0_DAT11__UART1_RXD_MUX 0x1e4
  124. MX53_PAD_CSI0_DAT12__GPIO5_30 0xc0
  125. >;
  126. };
  127. };
  128. &i2c1 {
  129. pinctrl-0 = <&pinctrl_i2c1_pmic>;
  130. status = "okay";
  131. ltc3589: pmic@34 {
  132. compatible = "lltc,ltc3589-2";
  133. reg = <0x34>;
  134. regulators {
  135. sw1_reg: sw1 {
  136. regulator-min-microvolt = <591930>;
  137. regulator-max-microvolt = <1224671>;
  138. lltc,fb-voltage-divider = <100000 158000>;
  139. regulator-ramp-delay = <7000>;
  140. regulator-boot-on;
  141. regulator-always-on;
  142. };
  143. sw2_reg: sw2 {
  144. regulator-min-microvolt = <704123>;
  145. regulator-max-microvolt = <1456803>;
  146. lltc,fb-voltage-divider = <180000 191000>;
  147. regulator-ramp-delay = <7000>;
  148. regulator-boot-on;
  149. regulator-always-on;
  150. };
  151. sw3_reg: sw3 {
  152. regulator-min-microvolt = <1341250>;
  153. regulator-max-microvolt = <2775000>;
  154. lltc,fb-voltage-divider = <270000 100000>;
  155. regulator-ramp-delay = <7000>;
  156. regulator-boot-on;
  157. regulator-always-on;
  158. };
  159. bb_out_reg: bb-out {
  160. regulator-min-microvolt = <3387341>;
  161. regulator-max-microvolt = <3387341>;
  162. lltc,fb-voltage-divider = <511000 158000>;
  163. regulator-boot-on;
  164. regulator-always-on;
  165. };
  166. ldo1_reg: ldo1 {
  167. regulator-min-microvolt = <1306329>;
  168. regulator-max-microvolt = <1306329>;
  169. lltc,fb-voltage-divider = <100000 158000>;
  170. regulator-boot-on;
  171. regulator-always-on;
  172. };
  173. ldo2_reg: ldo2 {
  174. regulator-min-microvolt = <704123>;
  175. regulator-max-microvolt = <1456806>;
  176. lltc,fb-voltage-divider = <180000 191000>;
  177. regulator-ramp-delay = <7000>;
  178. regulator-boot-on;
  179. regulator-always-on;
  180. };
  181. ldo3_reg: ldo3 {
  182. regulator-min-microvolt = <2800000>;
  183. regulator-max-microvolt = <2800000>;
  184. regulator-boot-on;
  185. };
  186. ldo4_reg: ldo4 {
  187. regulator-min-microvolt = <1200000>;
  188. regulator-max-microvolt = <3200000>;
  189. };
  190. };
  191. };
  192. };
  193. &uart1 {
  194. pinctrl-names = "default";
  195. pinctrl-0 = <&pinctrl_uart1>;
  196. status = "okay";
  197. };
  198. &usbotg {
  199. dr_mode = "peripheral";
  200. status = "okay";
  201. };