e60k02.dtsi 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Copyright 2019 Andreas Kemnade
  4. * based on works
  5. * Copyright 2016 Freescale Semiconductor, Inc.
  6. * and
  7. * Copyright (C) 2014 Ricoh Electronic Devices Co., Ltd
  8. *
  9. * Netronix E60K02 board common.
  10. * This board is equipped with different SoCs and
  11. * found in ebook-readers like the Kobo Clara HD (with i.MX6SLL) and
  12. * the Tolino Shine 3 (with i.MX6SL)
  13. */
  14. #include <dt-bindings/input/input.h>
  15. / {
  16. chosen {
  17. stdout-path = &uart1;
  18. };
  19. gpio_keys: gpio-keys {
  20. compatible = "gpio-keys";
  21. key-power {
  22. label = "Power";
  23. gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
  24. linux,code = <KEY_POWER>;
  25. wakeup-source;
  26. };
  27. key-cover {
  28. label = "Cover";
  29. gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
  30. linux,code = <SW_LID>;
  31. linux,input-type = <EV_SW>;
  32. wakeup-source;
  33. };
  34. };
  35. leds: leds {
  36. compatible = "gpio-leds";
  37. led {
  38. label = "e60k02:white:on";
  39. gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;
  40. linux,default-trigger = "timer";
  41. };
  42. };
  43. memory@80000000 {
  44. device_type = "memory";
  45. reg = <0x80000000 0x20000000>;
  46. };
  47. reg_wifi: regulator-wifi {
  48. compatible = "regulator-fixed";
  49. regulator-name = "SD3_SPWR";
  50. regulator-min-microvolt = <3000000>;
  51. regulator-max-microvolt = <3000000>;
  52. gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
  53. enable-active-high;
  54. };
  55. wifi_pwrseq: wifi_pwrseq {
  56. compatible = "mmc-pwrseq-simple";
  57. post-power-on-delay-ms = <20>;
  58. reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
  59. };
  60. };
  61. &i2c1 {
  62. clock-frequency = <100000>;
  63. status = "okay";
  64. lm3630a: backlight@36 {
  65. reg = <0x36>;
  66. compatible = "ti,lm3630a";
  67. enable-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
  68. #address-cells = <1>;
  69. #size-cells = <0>;
  70. led@0 {
  71. reg = <0>;
  72. led-sources = <0>;
  73. label = "backlight_warm";
  74. default-brightness = <0>;
  75. max-brightness = <255>;
  76. };
  77. led@1 {
  78. reg = <1>;
  79. led-sources = <1>;
  80. label = "backlight_cold";
  81. default-brightness = <0>;
  82. max-brightness = <255>;
  83. };
  84. };
  85. };
  86. &i2c2 {
  87. clock-frequency = <100000>;
  88. status = "okay";
  89. /* TODO: CYTTSP5 touch controller at 0x24 */
  90. /* TODO: TPS65185 PMIC for E Ink at 0x68 */
  91. };
  92. &i2c3 {
  93. clock-frequency = <100000>;
  94. status = "okay";
  95. ricoh619: pmic@32 {
  96. compatible = "ricoh,rc5t619";
  97. reg = <0x32>;
  98. interrupt-parent = <&gpio5>;
  99. interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
  100. system-power-controller;
  101. regulators {
  102. dcdc1_reg: DCDC1 {
  103. regulator-name = "DCDC1";
  104. regulator-min-microvolt = <300000>;
  105. regulator-max-microvolt = <1875000>;
  106. regulator-always-on;
  107. regulator-boot-on;
  108. regulator-state-mem {
  109. regulator-on-in-suspend;
  110. regulator-suspend-max-microvolt = <900000>;
  111. regulator-suspend-min-microvolt = <900000>;
  112. };
  113. };
  114. /* Core3_3V3 */
  115. dcdc2_reg: DCDC2 {
  116. regulator-name = "DCDC2";
  117. regulator-always-on;
  118. regulator-boot-on;
  119. regulator-state-mem {
  120. regulator-on-in-suspend;
  121. regulator-suspend-max-microvolt = <3300000>;
  122. regulator-suspend-min-microvolt = <3300000>;
  123. };
  124. };
  125. dcdc3_reg: DCDC3 {
  126. regulator-name = "DCDC3";
  127. regulator-min-microvolt = <300000>;
  128. regulator-max-microvolt = <1875000>;
  129. regulator-always-on;
  130. regulator-boot-on;
  131. regulator-state-mem {
  132. regulator-on-in-suspend;
  133. regulator-suspend-max-microvolt = <1140000>;
  134. regulator-suspend-min-microvolt = <1140000>;
  135. };
  136. };
  137. /* Core4_1V2 */
  138. dcdc4_reg: DCDC4 {
  139. regulator-name = "DCDC4";
  140. regulator-min-microvolt = <1200000>;
  141. regulator-max-microvolt = <1200000>;
  142. regulator-always-on;
  143. regulator-boot-on;
  144. regulator-state-mem {
  145. regulator-on-in-suspend;
  146. regulator-suspend-max-microvolt = <1140000>;
  147. regulator-suspend-min-microvolt = <1140000>;
  148. };
  149. };
  150. /* Core4_1V8 */
  151. dcdc5_reg: DCDC5 {
  152. regulator-name = "DCDC5";
  153. regulator-min-microvolt = <1800000>;
  154. regulator-max-microvolt = <1800000>;
  155. regulator-always-on;
  156. regulator-boot-on;
  157. regulator-state-mem {
  158. regulator-on-in-suspend;
  159. regulator-suspend-max-microvolt = <1700000>;
  160. regulator-suspend-min-microvolt = <1700000>;
  161. };
  162. };
  163. /* IR_3V3 */
  164. ldo1_reg: LDO1 {
  165. regulator-name = "LDO1";
  166. regulator-boot-on;
  167. };
  168. /* Core1_3V3 */
  169. ldo2_reg: LDO2 {
  170. regulator-name = "LDO2";
  171. regulator-always-on;
  172. regulator-boot-on;
  173. regulator-state-mem {
  174. regulator-on-in-suspend;
  175. regulator-suspend-max-microvolt = <3000000>;
  176. regulator-suspend-min-microvolt = <3000000>;
  177. };
  178. };
  179. /* Core5_1V2 */
  180. ldo3_reg: LDO3 {
  181. regulator-name = "LDO3";
  182. regulator-always-on;
  183. regulator-boot-on;
  184. };
  185. ldo4_reg: LDO4 {
  186. regulator-name = "LDO4";
  187. regulator-boot-on;
  188. };
  189. /* SPD_3V3 */
  190. ldo5_reg: LDO5 {
  191. regulator-name = "LDO5";
  192. regulator-always-on;
  193. regulator-boot-on;
  194. };
  195. /* DDR_0V6 */
  196. ldo6_reg: LDO6 {
  197. regulator-name = "LDO6";
  198. regulator-always-on;
  199. regulator-boot-on;
  200. };
  201. /* VDD_PWM */
  202. ldo7_reg: LDO7 {
  203. regulator-name = "LDO7";
  204. regulator-always-on;
  205. regulator-boot-on;
  206. };
  207. /* ldo_1v8 */
  208. ldo8_reg: LDO8 {
  209. regulator-name = "LDO8";
  210. regulator-min-microvolt = <1800000>;
  211. regulator-max-microvolt = <1800000>;
  212. regulator-always-on;
  213. regulator-boot-on;
  214. };
  215. ldo9_reg: LDO9 {
  216. regulator-name = "LDO9";
  217. regulator-boot-on;
  218. };
  219. ldo10_reg: LDO10 {
  220. regulator-name = "LDO10";
  221. regulator-boot-on;
  222. };
  223. ldortc1_reg: LDORTC1 {
  224. regulator-name = "LDORTC1";
  225. regulator-boot-on;
  226. };
  227. };
  228. };
  229. };
  230. &snvs_rtc {
  231. /* we are using the rtc in the pmic, not disabled in imx6sll.dtsi */
  232. status = "disabled";
  233. };
  234. &uart1 {
  235. /* J4, through-hole */
  236. status = "okay";
  237. };
  238. &uart4 {
  239. /* TP198, next to J4, SMD pads */
  240. status = "okay";
  241. };
  242. &usdhc2 {
  243. non-removable;
  244. status = "okay";
  245. };
  246. &usdhc3 {
  247. vmmc-supply = <&reg_wifi>;
  248. mmc-pwrseq = <&wifi_pwrseq>;
  249. cap-power-off-card;
  250. non-removable;
  251. status = "okay";
  252. };
  253. &usbotg1 {
  254. pinctrl-names = "default";
  255. pinctrl-0 = <&pinctrl_usbotg1>;
  256. disable-over-current;
  257. srp-disable;
  258. hnp-disable;
  259. adp-disable;
  260. status = "okay";
  261. };