1/*
2 * Copyright 2018
3 * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
4 *
5 * SPDX-License-Identifier:     GPL-2.0+ or X11
6 */
7
8/dts-v1/;
9#include <dt-bindings/gpio/gpio.h>
10#include "imx53.dtsi"
11#include "imx53-pinfunc.h"
12
13/ {
14	model = "K+P iMX53";
15	compatible = "kp,imx53-kp", "fsl,imx53";
16
17	chosen {
18		stdout-path = &uart2;
19	};
20
21	aliases {
22		mmc0 = &esdhc3;
23	};
24
25	regulators {
26		compatible = "simple-bus";
27		#address-cells = <1>;
28		#size-cells = <0>;
29
30		reg_usbh1_vbus: regulator-usbh1-vbus {
31			compatible = "regulator-fixed";
32			regulator-name = "usbh1_vbus";
33			regulator-min-microvolt = <5000000>;
34			regulator-max-microvolt = <5000000>;
35			gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
36			enable-active-high;
37		};
38	};
39
40};
41
42&esdhc3 {
43	pinctrl-names = "default";
44	pinctrl-0 = <&pinctrl_esdhc3>;
45	bus-width = <8>;
46	non-removable;
47	status = "okay";
48};
49
50&fec {
51	pinctrl-names = "default";
52	pinctrl-0 = <&pinctrl_eth>;
53	phy-mode = "rmii";
54	phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
55	status = "okay";
56};
57
58&i2c2 {
59	pinctrl-names = "default", "gpio";
60	pinctrl-0 = <&pinctrl_i2c2>;
61	pinctrl-1 = <&pinctrl_i2c2_gpio>;
62	clock_frequency = <100000>;
63
64	scl-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;
65	sda-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
66
67	status = "okay";
68
69	pmic: mc34708@8 {
70		compatible = "fsl,mc34708";
71		reg = <0x8>;
72	};
73};
74
75&i2c3 {
76	pinctrl-names = "default", "gpio";
77	pinctrl-0 = <&pinctrl_i2c3>;
78	pinctrl-1 = <&pinctrl_i2c3_gpio>;
79	clock_frequency = <100000>;
80
81	scl-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
82	sda-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
83
84	status = "okay";
85};
86
87&iomuxc {
88	pinctrl-names = "default";
89	pinctrl-0 = <&pinctrl_hog>;
90
91	imx53-kp {
92		pinctrl_esdhc3: esdhc3grp {
93			fsl,pins = <
94				MX53_PAD_PATA_DATA8__ESDHC3_DAT0        0x1d4
95				MX53_PAD_PATA_DATA9__ESDHC3_DAT1        0x1d4
96				MX53_PAD_PATA_DATA10__ESDHC3_DAT2       0x1d4
97				MX53_PAD_PATA_DATA11__ESDHC3_DAT3       0x1d4
98				MX53_PAD_PATA_DATA0__ESDHC3_DAT4        0x1d4
99				MX53_PAD_PATA_DATA1__ESDHC3_DAT5        0x1d4
100				MX53_PAD_PATA_DATA2__ESDHC3_DAT6        0x1d4
101				MX53_PAD_PATA_DATA3__ESDHC3_DAT7        0x1d4
102				MX53_PAD_PATA_RESET_B__ESDHC3_CMD       0x1e4
103				MX53_PAD_PATA_IORDY__ESDHC3_CLK         0x1d4
104			>;
105		};
106
107		pinctrl_eth: ethgrp {
108			fsl,pins = <
109				MX53_PAD_FEC_MDIO__FEC_MDIO 0x1fc
110				MX53_PAD_FEC_MDC__FEC_MDC 0x4
111				MX53_PAD_FEC_RXD1__FEC_RDATA_1 0x180
112				MX53_PAD_FEC_RXD0__FEC_RDATA_0 0x180
113				MX53_PAD_FEC_TXD1__FEC_TDATA_1 0x4
114				MX53_PAD_FEC_TXD0__FEC_TDATA_0 0x4
115				MX53_PAD_FEC_TX_EN__FEC_TX_EN 0x4
116				MX53_PAD_FEC_REF_CLK__FEC_TX_CLK 0x180
117				/* The RX_ER pin needs to be pull down */
118				/* for this device */
119				MX53_PAD_FEC_RX_ER__FEC_RX_ER 0x1c0
120				MX53_PAD_FEC_CRS_DV__FEC_RX_DV 0x180
121				>;
122		};
123
124		pinctrl_hog: hoggrp {
125			fsl,pins = <
126				/* PHY RESET */
127				MX53_PAD_PATA_DA_0__GPIO7_6 0x182
128				/* BOOSTER_OFF */
129				MX53_PAD_EIM_CS0__GPIO2_23 0x1e4
130				/* LCD BACKLIGHT */
131				MX53_PAD_GPIO_1__GPIO1_1 0x1e4
132				/* KEY1 GPIO */
133				MX53_PAD_EIM_RW__GPIO2_26 0x1e4
134				/* LED GREEN GPIO */
135				MX53_PAD_EIM_WAIT__GPIO5_0 0x1e4
136				/* LED RED GPIO */
137				MX53_PAD_EIM_D28__GPIO3_28 0x1e4
138			>;
139		};
140
141		pinctrl_i2c2: i2c2grp {
142			fsl,pins = <
143				MX53_PAD_KEY_ROW3__I2C2_SDA
144						 (0x1ee | IMX_PAD_SION)
145				MX53_PAD_KEY_COL3__I2C2_SCL
146						 (0x1ee | IMX_PAD_SION)
147			>;
148		};
149
150		pinctrl_i2c2_gpio: i2c2grpgpio {
151			fsl,pins = <
152				MX53_PAD_KEY_ROW3__GPIO4_13 0x1e4
153				MX53_PAD_KEY_COL3__GPIO4_12 0x1e4
154			>;
155		};
156
157		pinctrl_i2c3: i2c3grp {
158			fsl,pins = <
159				MX53_PAD_GPIO_6__I2C3_SDA (0x1ee | IMX_PAD_SION)
160				MX53_PAD_GPIO_5__I2C3_SCL (0x1ee | IMX_PAD_SION)
161			>;
162		};
163
164		pinctrl_i2c3_gpio: i2c3grpgpio {
165			fsl,pins = <
166				MX53_PAD_GPIO_6__GPIO1_6 0x1e4
167				MX53_PAD_GPIO_5__GPIO1_5 0x1e4
168			>;
169		};
170
171		pinctrl_uart2: uart2grp {
172			fsl,pins = <
173				MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX 0x1e4
174				MX53_PAD_PATA_DMARQ__UART2_TXD_MUX 0x1e4
175			>;
176		};
177
178		pinctrl_usbh1: usbh1grp {
179			fsl,pins = <
180				/* VBUS_PWR_EN */
181				MX53_PAD_PATA_DA_2__GPIO7_8 0x1e4
182			>;
183		};
184	};
185};
186
187&uart2 {
188	pinctrl-names = "default";
189	pinctrl-0 = <&pinctrl_uart2>;
190	status = "okay";
191};
192
193&usbh1 {
194	pinctrl-names = "default";
195	pinctrl-0 = <&pinctrl_usbh1>;
196	vbus-supply = <&reg_usbh1_vbus>;
197	status = "okay";
198};
199