imx7d-remarkable2.dts 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (C) 2015 Freescale Semiconductor, Inc.
  4. * Copyright (C) 2019 reMarkable AS - http://www.remarkable.com/
  5. *
  6. */
  7. /dts-v1/;
  8. #include "imx7d.dtsi"
  9. / {
  10. model = "reMarkable 2.0";
  11. compatible = "remarkable,imx7d-remarkable2", "fsl,imx7d";
  12. chosen {
  13. stdout-path = &uart6;
  14. };
  15. memory@80000000 {
  16. device_type = "memory";
  17. reg = <0x80000000 0x40000000>;
  18. };
  19. reg_brcm: regulator-brcm {
  20. compatible = "regulator-fixed";
  21. regulator-name = "brcm_reg";
  22. regulator-min-microvolt = <3300000>;
  23. regulator-max-microvolt = <3300000>;
  24. pinctrl-names = "default";
  25. pinctrl-0 = <&pinctrl_brcm_reg>;
  26. gpio = <&gpio6 13 GPIO_ACTIVE_HIGH>;
  27. enable-active-high;
  28. startup-delay-us = <150>;
  29. };
  30. reg_digitizer: regulator-digitizer {
  31. compatible = "regulator-fixed";
  32. regulator-name = "VDD_3V3_DIGITIZER";
  33. regulator-min-microvolt = <3300000>;
  34. regulator-max-microvolt = <3300000>;
  35. pinctrl-names = "default", "sleep";
  36. pinctrl-0 = <&pinctrl_digitizer_reg>;
  37. pinctrl-1 = <&pinctrl_digitizer_reg>;
  38. gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
  39. enable-active-high;
  40. startup-delay-us = <100000>; /* 100 ms */
  41. };
  42. wifi_pwrseq: wifi_pwrseq {
  43. compatible = "mmc-pwrseq-simple";
  44. pinctrl-names = "default";
  45. pinctrl-0 = <&pinctrl_wifi>;
  46. reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
  47. clocks = <&clks IMX7D_CLKO2_ROOT_DIV>;
  48. clock-names = "ext_clock";
  49. };
  50. };
  51. &clks {
  52. assigned-clocks = <&clks IMX7D_CLKO2_ROOT_SRC>,
  53. <&clks IMX7D_CLKO2_ROOT_DIV>;
  54. assigned-clock-parents = <&clks IMX7D_CKIL>;
  55. assigned-clock-rates = <0>, <32768>;
  56. };
  57. &i2c1 {
  58. clock-frequency = <400000>;
  59. pinctrl-names = "default";
  60. pinctrl-0 = <&pinctrl_i2c1>;
  61. status = "okay";
  62. wacom_digitizer: digitizer@9 {
  63. compatible = "hid-over-i2c";
  64. reg = <0x09>;
  65. hid-descr-addr = <0x01>;
  66. pinctrl-names = "default";
  67. pinctrl-0 = <&pinctrl_wacom>;
  68. interrupt-parent = <&gpio1>;
  69. interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
  70. touchscreen-inverted-x;
  71. touchscreen-inverted-y;
  72. vdd-supply = <&reg_digitizer>;
  73. };
  74. };
  75. &snvs_pwrkey {
  76. status = "okay";
  77. };
  78. &uart1 {
  79. pinctrl-names = "default";
  80. pinctrl-0 = <&pinctrl_uart1>;
  81. assigned-clocks = <&clks IMX7D_UART1_ROOT_SRC>;
  82. assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>;
  83. status = "okay";
  84. };
  85. &uart6 {
  86. pinctrl-names = "default";
  87. pinctrl-0 = <&pinctrl_uart6>;
  88. assigned-clocks = <&clks IMX7D_UART6_ROOT_SRC>;
  89. assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>;
  90. status = "okay";
  91. };
  92. &usbotg2 {
  93. srp-disable;
  94. hnp-disable;
  95. status = "okay";
  96. };
  97. &usdhc2 {
  98. #address-cells = <1>;
  99. #size-cells = <0>;
  100. pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
  101. pinctrl-0 = <&pinctrl_usdhc2>;
  102. pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
  103. pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
  104. mmc-pwrseq = <&wifi_pwrseq>;
  105. vmmc-supply = <&reg_brcm>;
  106. bus-width = <4>;
  107. non-removable;
  108. keep-power-in-suspend;
  109. cap-power-off-card;
  110. status = "okay";
  111. brcmf: bcrmf@1 {
  112. reg = <1>;
  113. compatible = "brcm,bcm4329-fmac";
  114. };
  115. };
  116. &usdhc3 {
  117. pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
  118. pinctrl-0 = <&pinctrl_usdhc3>;
  119. pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
  120. pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
  121. pinctrl-3 = <&pinctrl_usdhc3>;
  122. assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
  123. assigned-clock-rates = <400000000>;
  124. bus-width = <8>;
  125. non-removable;
  126. status = "okay";
  127. };
  128. &wdog1 {
  129. pinctrl-names = "default";
  130. pinctrl-0 = <&pinctrl_wdog>;
  131. fsl,ext-reset-output;
  132. };
  133. &iomuxc_lpsr {
  134. pinctrl_digitizer_reg: digitizerreggrp {
  135. fsl,pins = <
  136. /* DIGITIZER_PWR_EN */
  137. MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6 0x14
  138. >;
  139. };
  140. pinctrl_wacom: wacomgrp {
  141. fsl,pins = <
  142. /*MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5 0x00000014 FWE */
  143. MX7D_PAD_LPSR_GPIO1_IO04__GPIO1_IO4 0x00000074 /* PDCTB */
  144. MX7D_PAD_LPSR_GPIO1_IO01__GPIO1_IO1 0x00000034 /* WACOM INT */
  145. /*MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6 0x00000014 WACOM PWR ENABLE */
  146. /*MX7D_PAD_LPSR_GPIO1_IO00__GPIO1_IO0 0x00000074 WACOM RESET */
  147. >;
  148. };
  149. };
  150. &iomuxc {
  151. pinctrl_brcm_reg: brcmreggrp {
  152. fsl,pins = <
  153. /* WIFI_PWR_EN */
  154. MX7D_PAD_SAI1_TX_BCLK__GPIO6_IO13 0x14
  155. >;
  156. };
  157. pinctrl_i2c1: i2c1grp {
  158. fsl,pins = <
  159. MX7D_PAD_I2C1_SDA__I2C1_SDA 0x4000007f
  160. MX7D_PAD_I2C1_SCL__I2C1_SCL 0x4000007f
  161. >;
  162. };
  163. pinctrl_uart1: uart1grp {
  164. fsl,pins = <
  165. MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79
  166. MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX 0x79
  167. >;
  168. };
  169. pinctrl_uart6: uart6grp {
  170. fsl,pins = <
  171. MX7D_PAD_EPDC_DATA09__UART6_DCE_TX 0x79
  172. MX7D_PAD_EPDC_DATA08__UART6_DCE_RX 0x79
  173. >;
  174. };
  175. pinctrl_usdhc2: usdhc2grp {
  176. fsl,pins = <
  177. MX7D_PAD_SD2_CMD__SD2_CMD 0x59
  178. MX7D_PAD_SD2_CLK__SD2_CLK 0x19
  179. MX7D_PAD_SD2_DATA0__SD2_DATA0 0x59
  180. MX7D_PAD_SD2_DATA1__SD2_DATA1 0x59
  181. MX7D_PAD_SD2_DATA2__SD2_DATA2 0x59
  182. MX7D_PAD_SD2_DATA3__SD2_DATA3 0x59
  183. >;
  184. };
  185. pinctrl_usdhc2_100mhz: usdhc2grp_100mhz {
  186. fsl,pins = <
  187. MX7D_PAD_SD2_CMD__SD2_CMD 0x5a
  188. MX7D_PAD_SD2_CLK__SD2_CLK 0x1a
  189. MX7D_PAD_SD2_DATA0__SD2_DATA0 0x5a
  190. MX7D_PAD_SD2_DATA1__SD2_DATA1 0x5a
  191. MX7D_PAD_SD2_DATA2__SD2_DATA2 0x5a
  192. MX7D_PAD_SD2_DATA3__SD2_DATA3 0x5a
  193. >;
  194. };
  195. pinctrl_usdhc2_200mhz: usdhc2grp_200mhz {
  196. fsl,pins = <
  197. MX7D_PAD_SD2_CMD__SD2_CMD 0x5b
  198. MX7D_PAD_SD2_CLK__SD2_CLK 0x1b
  199. MX7D_PAD_SD2_DATA0__SD2_DATA0 0x5b
  200. MX7D_PAD_SD2_DATA1__SD2_DATA1 0x5b
  201. MX7D_PAD_SD2_DATA2__SD2_DATA2 0x5b
  202. MX7D_PAD_SD2_DATA3__SD2_DATA3 0x5b
  203. >;
  204. };
  205. pinctrl_usdhc3: usdhc3grp {
  206. fsl,pins = <
  207. MX7D_PAD_SD3_CMD__SD3_CMD 0x59
  208. MX7D_PAD_SD3_CLK__SD3_CLK 0x19
  209. MX7D_PAD_SD3_DATA0__SD3_DATA0 0x59
  210. MX7D_PAD_SD3_DATA1__SD3_DATA1 0x59
  211. MX7D_PAD_SD3_DATA2__SD3_DATA2 0x59
  212. MX7D_PAD_SD3_DATA3__SD3_DATA3 0x59
  213. MX7D_PAD_SD3_DATA4__SD3_DATA4 0x59
  214. MX7D_PAD_SD3_DATA5__SD3_DATA5 0x59
  215. MX7D_PAD_SD3_DATA6__SD3_DATA6 0x59
  216. MX7D_PAD_SD3_DATA7__SD3_DATA7 0x59
  217. MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19
  218. >;
  219. };
  220. pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
  221. fsl,pins = <
  222. MX7D_PAD_SD3_CMD__SD3_CMD 0x5a
  223. MX7D_PAD_SD3_CLK__SD3_CLK 0x1a
  224. MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5a
  225. MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5a
  226. MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5a
  227. MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5a
  228. MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5a
  229. MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5a
  230. MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5a
  231. MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5a
  232. MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1a
  233. >;
  234. };
  235. pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
  236. fsl,pins = <
  237. MX7D_PAD_SD3_CMD__SD3_CMD 0x5b
  238. MX7D_PAD_SD3_CLK__SD3_CLK 0x1b
  239. MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5b
  240. MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5b
  241. MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5b
  242. MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5b
  243. MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5b
  244. MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5b
  245. MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5b
  246. MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5b
  247. MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1b
  248. >;
  249. };
  250. pinctrl_wdog: wdoggrp {
  251. fsl,pins = <
  252. MX7D_PAD_ENET1_COL__WDOG1_WDOG_ANY 0x74
  253. >;
  254. };
  255. pinctrl_wifi: wifigrp {
  256. fsl,pins = <
  257. /* WiFi Reg On */
  258. MX7D_PAD_SD2_CD_B__GPIO5_IO9 0x00000014
  259. /* WiFi Sleep 32k */
  260. MX7D_PAD_SD1_WP__CCM_CLKO2 0x00000014
  261. >;
  262. };
  263. };