e70k02.dtsi 6.1 KB

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