1*724ba675SRob Herring/*
2*724ba675SRob Herring * Copyright 2015 Lothar Waßmann <LW@KARO-electronics.de>
3*724ba675SRob Herring *
4*724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms
5*724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual
6*724ba675SRob Herring * licensing only applies to this file, and not this project as a
7*724ba675SRob Herring * whole.
8*724ba675SRob Herring *
9*724ba675SRob Herring *  a) This file is free software; you can redistribute it and/or
10*724ba675SRob Herring *     modify it under the terms of the GNU General Public License
11*724ba675SRob Herring *     version 2 as published by the Free Software Foundation.
12*724ba675SRob Herring *
13*724ba675SRob Herring *     This file is distributed in the hope that it will be useful,
14*724ba675SRob Herring *     but WITHOUT ANY WARRANTY; without even the implied warranty of
15*724ba675SRob Herring *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16*724ba675SRob Herring *     GNU General Public License for more details.
17*724ba675SRob Herring *
18*724ba675SRob Herring * Or, alternatively,
19*724ba675SRob Herring *
20*724ba675SRob Herring *  b) Permission is hereby granted, free of charge, to any person
21*724ba675SRob Herring *     obtaining a copy of this software and associated documentation
22*724ba675SRob Herring *     files (the "Software"), to deal in the Software without
23*724ba675SRob Herring *     restriction, including without limitation the rights to use,
24*724ba675SRob Herring *     copy, modify, merge, publish, distribute, sublicense, and/or
25*724ba675SRob Herring *     sell copies of the Software, and to permit persons to whom the
26*724ba675SRob Herring *     Software is furnished to do so, subject to the following
27*724ba675SRob Herring *     conditions:
28*724ba675SRob Herring *
29*724ba675SRob Herring *     The above copyright notice and this permission notice shall be
30*724ba675SRob Herring *     included in all copies or substantial portions of the Software.
31*724ba675SRob Herring *
32*724ba675SRob Herring *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33*724ba675SRob Herring *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34*724ba675SRob Herring *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35*724ba675SRob Herring *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36*724ba675SRob Herring *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37*724ba675SRob Herring *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38*724ba675SRob Herring *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39*724ba675SRob Herring *     OTHER DEALINGS IN THE SOFTWARE.
40*724ba675SRob Herring */
41*724ba675SRob Herring
42*724ba675SRob Herring/dts-v1/;
43*724ba675SRob Herring#include "imx6ul.dtsi"
44*724ba675SRob Herring#include "imx6ul-tx6ul.dtsi"
45*724ba675SRob Herring
46*724ba675SRob Herring/ {
47*724ba675SRob Herring	model = "Ka-Ro electronics TXUL-0010 Module on TXUL Mainboard";
48*724ba675SRob Herring	compatible = "karo,imx6ul-tx6ul", "fsl,imx6ul";
49*724ba675SRob Herring
50*724ba675SRob Herring	aliases {
51*724ba675SRob Herring		lcdif-24bit-pins-a = &pinctrl_disp0_3;
52*724ba675SRob Herring		mmc0 = &usdhc1;
53*724ba675SRob Herring		/delete-property/ mmc1;
54*724ba675SRob Herring		serial2 = &uart3;
55*724ba675SRob Herring		serial4 = &uart5;
56*724ba675SRob Herring	};
57*724ba675SRob Herring	/delete-node/ sound;
58*724ba675SRob Herring};
59*724ba675SRob Herring
60*724ba675SRob Herring&can1 {
61*724ba675SRob Herring	xceiver-supply = <&reg_3v3>;
62*724ba675SRob Herring};
63*724ba675SRob Herring
64*724ba675SRob Herring&can2 {
65*724ba675SRob Herring	xceiver-supply = <&reg_3v3>;
66*724ba675SRob Herring};
67*724ba675SRob Herring
68*724ba675SRob Herring&ds1339 {
69*724ba675SRob Herring	status = "disabled";
70*724ba675SRob Herring};
71*724ba675SRob Herring
72*724ba675SRob Herring&fec1 {
73*724ba675SRob Herring	pinctrl-0 = <&pinctrl_enet1 &pinctrl_etnphy0_rst>;
74*724ba675SRob Herring	/delete-node/ mdio;
75*724ba675SRob Herring};
76*724ba675SRob Herring
77*724ba675SRob Herring&fec2 {
78*724ba675SRob Herring	pinctrl-names = "default";
79*724ba675SRob Herring	pinctrl-0 = <&pinctrl_enet2 &pinctrl_enet2_mdio &pinctrl_etnphy1_rst>;
80*724ba675SRob Herring	phy-mode = "rmii";
81*724ba675SRob Herring	phy-reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
82*724ba675SRob Herring	phy-supply = <&reg_3v3_etn>;
83*724ba675SRob Herring	phy-handle = <&etnphy1>;
84*724ba675SRob Herring	status = "okay";
85*724ba675SRob Herring
86*724ba675SRob Herring	mdio {
87*724ba675SRob Herring		#address-cells = <1>;
88*724ba675SRob Herring		#size-cells = <0>;
89*724ba675SRob Herring
90*724ba675SRob Herring		etnphy0: ethernet-phy@0 {
91*724ba675SRob Herring			compatible = "ethernet-phy-ieee802.3-c22";
92*724ba675SRob Herring			reg = <0>;
93*724ba675SRob Herring			pinctrl-names = "default";
94*724ba675SRob Herring			pinctrl-0 = <&pinctrl_etnphy0_int>;
95*724ba675SRob Herring			interrupt-parent = <&gpio5>;
96*724ba675SRob Herring			interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
97*724ba675SRob Herring			interrupts-extended = <&gpio5 5 IRQ_TYPE_EDGE_FALLING>;
98*724ba675SRob Herring			status = "okay";
99*724ba675SRob Herring		};
100*724ba675SRob Herring
101*724ba675SRob Herring		etnphy1: ethernet-phy@2 {
102*724ba675SRob Herring			compatible = "ethernet-phy-ieee802.3-c22";
103*724ba675SRob Herring			reg = <2>;
104*724ba675SRob Herring			pinctrl-names = "default";
105*724ba675SRob Herring			pinctrl-0 = <&pinctrl_etnphy1_int>;
106*724ba675SRob Herring			interrupt-parent = <&gpio4>;
107*724ba675SRob Herring			interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
108*724ba675SRob Herring			interrupts-extended = <&gpio4 27 IRQ_TYPE_EDGE_FALLING>;
109*724ba675SRob Herring			status = "okay";
110*724ba675SRob Herring		};
111*724ba675SRob Herring	};
112*724ba675SRob Herring};
113*724ba675SRob Herring
114*724ba675SRob Herring&i2c_gpio {
115*724ba675SRob Herring	status = "disabled";
116*724ba675SRob Herring};
117*724ba675SRob Herring
118*724ba675SRob Herring&i2c2 {
119*724ba675SRob Herring	/delete-node/ codec@a;
120*724ba675SRob Herring	/delete-node/ touchscreen@48;
121*724ba675SRob Herring
122*724ba675SRob Herring	rtc: rtc@6f {
123*724ba675SRob Herring		compatible = "microchip,mcp7940x";
124*724ba675SRob Herring		reg = <0x6f>;
125*724ba675SRob Herring	};
126*724ba675SRob Herring};
127*724ba675SRob Herring
128*724ba675SRob Herring&kpp {
129*724ba675SRob Herring	status = "disabled";
130*724ba675SRob Herring};
131*724ba675SRob Herring
132*724ba675SRob Herring&lcdif {
133*724ba675SRob Herring	pinctrl-0 = <&pinctrl_disp0_3>;
134*724ba675SRob Herring};
135*724ba675SRob Herring
136*724ba675SRob Herring&reg_usbotg_vbus {
137*724ba675SRob Herring	status = "disabled";
138*724ba675SRob Herring};
139*724ba675SRob Herring
140*724ba675SRob Herring&usdhc1 {
141*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc1>;
142*724ba675SRob Herring	non-removable;
143*724ba675SRob Herring	/delete-property/ cd-gpios;
144*724ba675SRob Herring	cap-sdio-irq;
145*724ba675SRob Herring};
146*724ba675SRob Herring
147*724ba675SRob Herring&uart1 {
148*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
149*724ba675SRob Herring	/delete-property/ uart-has-rtscts;
150*724ba675SRob Herring};
151*724ba675SRob Herring
152*724ba675SRob Herring&uart2 {
153*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart2>;
154*724ba675SRob Herring	/delete-property/ uart-has-rtscts;
155*724ba675SRob Herring	status = "okay";
156*724ba675SRob Herring};
157*724ba675SRob Herring
158*724ba675SRob Herring&uart3 {
159*724ba675SRob Herring	pinctrl-names = "default";
160*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart3>;
161*724ba675SRob Herring	status = "okay";
162*724ba675SRob Herring};
163*724ba675SRob Herring
164*724ba675SRob Herring&uart4 {
165*724ba675SRob Herring	pinctrl-names = "default";
166*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart4>;
167*724ba675SRob Herring	status = "okay";
168*724ba675SRob Herring};
169*724ba675SRob Herring
170*724ba675SRob Herring&uart5 {
171*724ba675SRob Herring	pinctrl-names = "default";
172*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart5>;
173*724ba675SRob Herring	status = "okay";
174*724ba675SRob Herring};
175*724ba675SRob Herring
176*724ba675SRob Herring&uart6 {
177*724ba675SRob Herring	pinctrl-names = "default";
178*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart6>;
179*724ba675SRob Herring	status = "okay";
180*724ba675SRob Herring};
181*724ba675SRob Herring
182*724ba675SRob Herring&uart7 {
183*724ba675SRob Herring	pinctrl-names = "default";
184*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart7>;
185*724ba675SRob Herring	status = "okay";
186*724ba675SRob Herring};
187*724ba675SRob Herring
188*724ba675SRob Herring&uart8 {
189*724ba675SRob Herring	pinctrl-names = "default";
190*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart8>;
191*724ba675SRob Herring	status = "disabled"; /* conflicts with LCDIF */
192*724ba675SRob Herring};
193*724ba675SRob Herring
194*724ba675SRob Herring&iomuxc {
195*724ba675SRob Herring	hoggrp {
196*724ba675SRob Herring		fsl,pins = <
197*724ba675SRob Herring			MX6UL_PAD_CSI_DATA01__GPIO4_IO22	0x0b0b0 /* WLAN_RESET */
198*724ba675SRob Herring		>;
199*724ba675SRob Herring	};
200*724ba675SRob Herring
201*724ba675SRob Herring	pinctrl_disp0_3: disp0grp-3 {
202*724ba675SRob Herring		fsl,pins = <
203*724ba675SRob Herring			MX6UL_PAD_LCD_CLK__LCDIF_CLK		0x10 /* LSCLK */
204*724ba675SRob Herring			MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE	0x10 /* OE_ACD */
205*724ba675SRob Herring			MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC	0x10 /* HSYNC */
206*724ba675SRob Herring			MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC	0x10 /* VSYNC */
207*724ba675SRob Herring			MX6UL_PAD_LCD_DATA02__LCDIF_DATA02	0x10
208*724ba675SRob Herring			MX6UL_PAD_LCD_DATA03__LCDIF_DATA03	0x10
209*724ba675SRob Herring			MX6UL_PAD_LCD_DATA04__LCDIF_DATA04	0x10
210*724ba675SRob Herring			MX6UL_PAD_LCD_DATA05__LCDIF_DATA05	0x10
211*724ba675SRob Herring			MX6UL_PAD_LCD_DATA06__LCDIF_DATA06	0x10
212*724ba675SRob Herring			MX6UL_PAD_LCD_DATA07__LCDIF_DATA07	0x10
213*724ba675SRob Herring			/* LCD_DATA08..09 not wired */
214*724ba675SRob Herring			MX6UL_PAD_LCD_DATA10__LCDIF_DATA10	0x10
215*724ba675SRob Herring			MX6UL_PAD_LCD_DATA11__LCDIF_DATA11	0x10
216*724ba675SRob Herring			MX6UL_PAD_LCD_DATA12__LCDIF_DATA12	0x10
217*724ba675SRob Herring			MX6UL_PAD_LCD_DATA13__LCDIF_DATA13	0x10
218*724ba675SRob Herring			MX6UL_PAD_LCD_DATA14__LCDIF_DATA14	0x10
219*724ba675SRob Herring			MX6UL_PAD_LCD_DATA15__LCDIF_DATA15	0x10
220*724ba675SRob Herring			/* LCD_DATA16..17 not wired */
221*724ba675SRob Herring			MX6UL_PAD_LCD_DATA18__LCDIF_DATA18	0x10
222*724ba675SRob Herring			MX6UL_PAD_LCD_DATA19__LCDIF_DATA19	0x10
223*724ba675SRob Herring			MX6UL_PAD_LCD_DATA20__LCDIF_DATA20	0x10
224*724ba675SRob Herring			MX6UL_PAD_LCD_DATA21__LCDIF_DATA21	0x10
225*724ba675SRob Herring			MX6UL_PAD_LCD_DATA22__LCDIF_DATA22	0x10
226*724ba675SRob Herring			MX6UL_PAD_LCD_DATA23__LCDIF_DATA23	0x10
227*724ba675SRob Herring		>;
228*724ba675SRob Herring	};
229*724ba675SRob Herring
230*724ba675SRob Herring	pinctrl_enet2_mdio: enet2-mdiogrp {
231*724ba675SRob Herring		fsl,pins = <
232*724ba675SRob Herring			MX6UL_PAD_GPIO1_IO07__ENET2_MDC		0x0b0b0
233*724ba675SRob Herring			MX6UL_PAD_GPIO1_IO06__ENET2_MDIO	0x1b0b0
234*724ba675SRob Herring		>;
235*724ba675SRob Herring	};
236*724ba675SRob Herring
237*724ba675SRob Herring	pinctrl_uart3: uart3grp {
238*724ba675SRob Herring		fsl,pins = <
239*724ba675SRob Herring			MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX	0x0b0b0
240*724ba675SRob Herring			MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX	0x0b0b0
241*724ba675SRob Herring		>;
242*724ba675SRob Herring	};
243*724ba675SRob Herring
244*724ba675SRob Herring	pinctrl_uart4: uart4grp {
245*724ba675SRob Herring		fsl,pins = <
246*724ba675SRob Herring			MX6UL_PAD_UART4_TX_DATA__UART4_DCE_TX	0x0b0b0
247*724ba675SRob Herring			MX6UL_PAD_UART4_RX_DATA__UART4_DCE_RX	0x0b0b0
248*724ba675SRob Herring		>;
249*724ba675SRob Herring	};
250*724ba675SRob Herring
251*724ba675SRob Herring	pinctrl_uart6: uart6grp {
252*724ba675SRob Herring		fsl,pins = <
253*724ba675SRob Herring			MX6UL_PAD_CSI_MCLK__UART6_DCE_TX	0x0b0b0
254*724ba675SRob Herring			MX6UL_PAD_CSI_PIXCLK__UART6_DCE_RX	0x0b0b0
255*724ba675SRob Herring		>;
256*724ba675SRob Herring	};
257*724ba675SRob Herring
258*724ba675SRob Herring	pinctrl_uart7: uart7grp {
259*724ba675SRob Herring		fsl,pins = <
260*724ba675SRob Herring			MX6UL_PAD_LCD_DATA16__UART7_DCE_TX	0x0b0b0
261*724ba675SRob Herring			MX6UL_PAD_LCD_DATA17__UART7_DCE_RX	0x0b0b0
262*724ba675SRob Herring		>;
263*724ba675SRob Herring	};
264*724ba675SRob Herring
265*724ba675SRob Herring	pinctrl_uart8: uart8grp {
266*724ba675SRob Herring		fsl,pins = <
267*724ba675SRob Herring			MX6UL_PAD_LCD_DATA20__UART8_DCE_TX	0x0b0b0
268*724ba675SRob Herring			MX6UL_PAD_LCD_DATA21__UART8_DCE_RX	0x0b0b0
269*724ba675SRob Herring		>;
270*724ba675SRob Herring	};
271*724ba675SRob Herring};
272