imx6dl-plybas.dts 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  2. /*
  3. * Copyright (c) 2014 Protonic Holland
  4. * Copyright (c) 2020 Oleksij Rempel <[email protected]>, Pengutronix
  5. */
  6. /dts-v1/;
  7. #include <dt-bindings/gpio/gpio.h>
  8. #include <dt-bindings/leds/common.h>
  9. #include "imx6dl.dtsi"
  10. / {
  11. model = "Plymovent BAS board";
  12. compatible = "ply,plybas", "fsl,imx6dl";
  13. chosen {
  14. stdout-path = &uart4;
  15. };
  16. gpio_keys {
  17. compatible = "gpio-keys";
  18. autorepeat;
  19. button-start {
  20. label = "START";
  21. linux,code = <31>;
  22. gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
  23. };
  24. button-clean {
  25. label = "CLEAN";
  26. linux,code = <46>;
  27. gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
  28. };
  29. };
  30. leds {
  31. compatible = "gpio-leds";
  32. pinctrl-names = "default";
  33. pinctrl-0 = <&pinctrl_leds>;
  34. led-0 {
  35. label = "debug0";
  36. gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
  37. };
  38. led-1 {
  39. label = "debug1";
  40. gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
  41. };
  42. led-2 {
  43. label = "light_tower1";
  44. gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
  45. linux,default-trigger = "heartbeat";
  46. };
  47. led-3 {
  48. label = "light_tower2";
  49. gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
  50. };
  51. led-4 {
  52. label = "light_tower3";
  53. gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>;
  54. };
  55. led-5 {
  56. label = "light_tower4";
  57. gpios = <&gpio4 25 GPIO_ACTIVE_HIGH>;
  58. };
  59. };
  60. clk50m_phy: phy-clock {
  61. compatible = "fixed-clock";
  62. #clock-cells = <0>;
  63. clock-frequency = <50000000>;
  64. };
  65. reg_5v0: regulator-5v0 {
  66. compatible = "regulator-fixed";
  67. regulator-name = "5v0";
  68. regulator-min-microvolt = <5000000>;
  69. regulator-max-microvolt = <5000000>;
  70. };
  71. };
  72. &can1 {
  73. pinctrl-names = "default";
  74. pinctrl-0 = <&pinctrl_can1>;
  75. xceiver-supply = <&reg_5v0>;
  76. status = "okay";
  77. };
  78. &can2 {
  79. pinctrl-names = "default";
  80. pinctrl-0 = <&pinctrl_can2>;
  81. xceiver-supply = <&reg_5v0>;
  82. status = "okay";
  83. };
  84. &ecspi1 {
  85. cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
  86. pinctrl-names = "default";
  87. pinctrl-0 = <&pinctrl_ecspi1>;
  88. status = "okay";
  89. flash@0 {
  90. compatible = "jedec,spi-nor";
  91. reg = <0>;
  92. spi-max-frequency = <20000000>;
  93. };
  94. };
  95. &fec {
  96. pinctrl-names = "default";
  97. pinctrl-0 = <&pinctrl_enet>;
  98. phy-mode = "rmii";
  99. clocks = <&clks IMX6QDL_CLK_ENET>,
  100. <&clks IMX6QDL_CLK_ENET>,
  101. <&clk50m_phy>;
  102. clock-names = "ipg", "ahb", "ptp";
  103. phy-handle = <&rgmii_phy>;
  104. status = "okay";
  105. mdio {
  106. #address-cells = <1>;
  107. #size-cells = <0>;
  108. /* Microchip KSZ8081RNA PHY */
  109. rgmii_phy: ethernet-phy@0 {
  110. reg = <0>;
  111. interrupts-extended = <&gpio4 30 IRQ_TYPE_LEVEL_LOW>;
  112. reset-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
  113. reset-assert-us = <10000>;
  114. reset-deassert-us = <300>;
  115. };
  116. };
  117. };
  118. &gpio1 {
  119. gpio-line-names =
  120. "", "SD1_CD", "", "", "", "", "", "",
  121. "DEBUG_0", "DEBUG_1", "", "", "", "", "", "",
  122. "", "", "", "", "", "", "", "",
  123. "", "", "", "", "", "", "", "";
  124. };
  125. &gpio3 {
  126. gpio-line-names =
  127. "", "", "", "", "", "", "", "",
  128. "", "", "", "", "", "", "", "",
  129. "", "", "", "ECSPI1_SS1", "", "USB_EXT_PWR", "", "",
  130. "", "", "", "", "", "", "", "";
  131. };
  132. &gpio4 {
  133. gpio-line-names =
  134. "", "", "", "", "", "", "", "",
  135. "", "", "", "", "CAN1_SR", "CAN2_SR", "", "",
  136. "LED_DI0_DEBUG_0", "LED_DI0_DEBUG_1", "IMX6_IN12", "IMX6_HMI",
  137. "IMX6_IN11", "IMX6_BUZZER", "IMX6_LED1", "IMX6_LED2",
  138. "IMX6_LED3", "IMX6_LED4", "ETH_RESET", "IMX6_ANA_OUT_SD",
  139. "IMX6_ANA_OUT_ERR", "IMX6_ANA_OUT", "ETH_INTRP", "";
  140. };
  141. &gpio5 {
  142. gpio-line-names =
  143. "", "", "", "", "", "IMX6_RELAY1", "IMX6_RELAY2", "",
  144. "IMX6_IN1", "IMX6_IN2", "IMX6_IN3", "IMX6_IN4", "IMX6_IN5",
  145. "IMX6_IN6", "IMX6_IN7", "IMX6_IN8",
  146. "IMX6_IN9", "IMX6_IN10", "", "", "", "", "", "",
  147. "", "", "", "", "", "", "", "";
  148. };
  149. &i2c1 {
  150. clock-frequency = <100000>;
  151. pinctrl-names = "default";
  152. pinctrl-0 = <&pinctrl_i2c1>;
  153. status = "okay";
  154. /* additional i2c devices are added automatically by the boot loader */
  155. };
  156. &i2c3 {
  157. clock-frequency = <100000>;
  158. pinctrl-names = "default";
  159. pinctrl-0 = <&pinctrl_i2c3>;
  160. status = "okay";
  161. temperature-sensor@70 {
  162. compatible = "ti,tmp103";
  163. reg = <0x70>;
  164. };
  165. rtc@51 {
  166. compatible = "nxp,pcf8563";
  167. reg = <0x51>;
  168. };
  169. };
  170. &pwm1 {
  171. pinctrl-names = "default";
  172. pinctrl-0 = <&pinctrl_pwm1>;
  173. status = "okay";
  174. };
  175. &uart1 {
  176. pinctrl-names = "default";
  177. pinctrl-0 = <&pinctrl_uart1>;
  178. status = "okay";
  179. };
  180. &uart2 {
  181. pinctrl-names = "default";
  182. pinctrl-0 = <&pinctrl_uart2>;
  183. uart-has-rtscts;
  184. linux,rs485-enabled-at-boot-time;
  185. rs485-rts-delay = <0 20>;
  186. status = "okay";
  187. };
  188. &uart4 {
  189. pinctrl-names = "default";
  190. pinctrl-0 = <&pinctrl_uart4>;
  191. status = "okay";
  192. };
  193. &usbotg {
  194. pinctrl-names = "default";
  195. pinctrl-0 = <&pinctrl_usbotg>;
  196. phy_type = "utmi";
  197. dr_mode = "host";
  198. disable-over-current;
  199. status = "okay";
  200. };
  201. &usbphynop1 {
  202. status = "disabled";
  203. };
  204. &usbphynop2 {
  205. status = "disabled";
  206. };
  207. &iomuxc {
  208. pinctrl_can1: can1grp {
  209. fsl,pins = <
  210. MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b000
  211. MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x3008
  212. /* CAN1_SR */
  213. MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x13008
  214. >;
  215. };
  216. pinctrl_can2: can2grp {
  217. fsl,pins = <
  218. MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b000
  219. MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x3008
  220. /* CAN2_SR */
  221. MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x13008
  222. >;
  223. };
  224. pinctrl_ecspi1: ecspi1grp {
  225. fsl,pins = <
  226. MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x1b000
  227. MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x3008
  228. MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x3008
  229. /* CS */
  230. MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x3008
  231. >;
  232. };
  233. pinctrl_enet: enetgrp {
  234. fsl,pins = <
  235. /* MX6QDL_ENET_PINGRP4 */
  236. MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
  237. MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
  238. MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0
  239. MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0
  240. MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER 0x1b0b0
  241. MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0
  242. MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0
  243. MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0
  244. MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0
  245. MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x1b0b0
  246. /* Phy reset */
  247. MX6QDL_PAD_DISP0_DAT5__GPIO4_IO26 0x1b0b0
  248. /* nINTRP */
  249. MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0
  250. >;
  251. };
  252. pinctrl_i2c1: i2c1grp {
  253. fsl,pins = <
  254. MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001f8b1
  255. MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001f8b1
  256. >;
  257. };
  258. pinctrl_i2c3: i2c3grp {
  259. fsl,pins = <
  260. MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
  261. MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
  262. >;
  263. };
  264. pinctrl_leds: ledsgrp {
  265. fsl,pins = <
  266. /* DEBUG_0 */
  267. MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x1b0b0
  268. /* DEBUG_1 */
  269. MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x1b0b0
  270. /* LED1 (lighttower) */
  271. MX6QDL_PAD_DISP0_DAT1__GPIO4_IO22 0x13070
  272. /* LED2 (lighttower) */
  273. MX6QDL_PAD_DISP0_DAT2__GPIO4_IO23 0x13070
  274. /* LED3 (lighttower) */
  275. MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x13070
  276. /* LED4 (lighttower) */
  277. MX6QDL_PAD_DISP0_DAT4__GPIO4_IO25 0x13070
  278. >;
  279. };
  280. pinctrl_pwm1: pwm1grp {
  281. fsl,pins = <
  282. MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b0
  283. >;
  284. };
  285. /* YaCO AUX Uart */
  286. pinctrl_uart1: uart1grp {
  287. fsl,pins = <
  288. MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
  289. MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
  290. >;
  291. };
  292. pinctrl_uart2: uart2grp {
  293. fsl,pins = <
  294. MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
  295. MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
  296. MX6QDL_PAD_EIM_D28__UART2_DTE_CTS_B 0x130b1
  297. >;
  298. };
  299. pinctrl_uart4: uart4grp {
  300. fsl,pins = <
  301. MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
  302. MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
  303. >;
  304. };
  305. pinctrl_usbotg: usbotggrp {
  306. fsl,pins = <
  307. MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x1b0b0
  308. /* power enable, high active */
  309. MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0
  310. >;
  311. };
  312. pinctrl_usdhc1: usdhc1grp {
  313. fsl,pins = <
  314. MX6QDL_PAD_SD1_CMD__SD1_CMD 0x170f9
  315. MX6QDL_PAD_SD1_CLK__SD1_CLK 0x100f9
  316. MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x170f9
  317. MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x170f9
  318. MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x170f9
  319. MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x170f9
  320. MX6QDL_PAD_GPIO_1__GPIO1_IO01 0x1b0b0
  321. >;
  322. };
  323. pinctrl_usdhc3: usdhc3grp {
  324. fsl,pins = <
  325. MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17099
  326. MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10099
  327. MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17099
  328. MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17099
  329. MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17099
  330. MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17099
  331. MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17099
  332. MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17099
  333. MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17099
  334. MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17099
  335. MX6QDL_PAD_SD3_RST__SD3_RESET 0x1b0b1
  336. >;
  337. };
  338. };