1/*
2 * Copyright (C) 2014 Florian Vaussard, EPFL Mobots group
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8/dts-v1/;
9
10#include "omap4-duovero.dtsi"
11
12#include <dt-bindings/input/input.h>
13
14/ {
15	model = "OMAP4430 Gumstix Duovero on Parlor";
16	compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4";
17
18	aliases {
19		display0 = &hdmi0;
20	};
21
22	leds {
23		compatible = "gpio-leds";
24		led0 {
25			label = "duovero:blue:led0";
26			gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>;	/* gpio_122 */
27			linux,default-trigger = "heartbeat";
28		};
29	};
30
31	gpio_keys {
32		compatible = "gpio-keys";
33		#address-cells = <1>;
34		#size-cells = <0>;
35		button0@121 {
36			label = "button0";
37			linux,code = <BTN_0>;
38			gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;	/* gpio_121 */
39			gpio-key,wakeup;
40		};
41	};
42
43	hdmi0: connector@0 {
44		compatible = "hdmi-connector";
45		label = "hdmi";
46
47		type = "d";
48
49		hpd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>;	/* gpio_63 */
50
51		port {
52			hdmi_connector_in: endpoint {
53				remote-endpoint = <&hdmi_out>;
54			};
55		};
56	};
57};
58
59&omap4_pmx_core {
60	pinctrl-0 = <
61			&led_pins
62			&button_pins
63			&smsc_pins
64	>;
65
66	led_pins: pinmux_led_pins {
67		pinctrl-single,pins = <
68			OMAP4_IOPAD(0x116, PIN_OUTPUT | MUX_MODE3)		/* abe_dmic_din3.gpio_122 */
69		>;
70	};
71
72	button_pins: pinmux_button_pins {
73		pinctrl-single,pins = <
74			OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3)	/* abe_dmic_din2.gpio_121 */
75		>;
76	};
77
78	i2c2_pins: pinmux_i2c2_pins {
79		pinctrl-single,pins = <
80			OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_scl */
81			OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_sda */
82		>;
83	};
84
85	i2c3_pins: pinmux_i2c3_pins {
86		pinctrl-single,pins = <
87			OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_scl */
88			OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_sda */
89		>;
90	};
91
92	smsc_pins: pinmux_smsc_pins {
93		pinctrl-single,pins = <
94			OMAP4_IOPAD(0x068, PIN_INPUT | MUX_MODE3)		/* gpmc_a20.gpio_44: IRQ */
95			OMAP4_IOPAD(0x06a, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a21.gpio_45: nReset */
96			OMAP4_IOPAD(0x070, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a24.gpio_48: amdix enabled */
97		>;
98	};
99
100	dss_hdmi_pins: pinmux_dss_hdmi_pins {
101		pinctrl-single,pins = <
102			OMAP4_IOPAD(0x098, PIN_INPUT | MUX_MODE3)		/* hdmi_hpd.gpio_63 */
103			OMAP4_IOPAD(0x09a, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_cec.hdmi_cec */
104			OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_ddc_scl.hdmi_ddc_scl */
105			OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_ddc_sda.hdmi_ddc_sda */
106		>;
107	};
108};
109
110&i2c2 {
111	pinctrl-names = "default";
112	pinctrl-0 = <&i2c2_pins>;
113
114	clock-frequency = <400000>;
115};
116
117&i2c3 {
118	pinctrl-names = "default";
119	pinctrl-0 = <&i2c3_pins>;
120
121	clock-frequency = <100000>;
122
123	/* optional 1K EEPROM with revision information */
124	eeprom@51 {
125		compatible = "atmel,24c01";
126		reg = <0x51>;
127		pagesize = <8>;
128	};
129};
130
131&mmc3 {
132	status = "disabled";
133};
134
135#include "omap-gpmc-smsc911x.dtsi"
136
137&gpmc {
138	ranges = <5 0 0x2c000000 0x1000000>;			/* CS5 */
139
140	ethernet@gpmc {
141		reg = <5 0 0xff>;
142		interrupt-parent = <&gpio2>;
143		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;		/* gpio_44 */
144
145		phy-mode = "mii";
146
147		gpmc,cs-on-ns = <10>;
148		gpmc,cs-rd-off-ns = <50>;
149		gpmc,cs-wr-off-ns = <50>;
150		gpmc,adv-on-ns = <0>;
151		gpmc,adv-rd-off-ns = <10>;
152		gpmc,adv-wr-off-ns = <10>;
153		gpmc,oe-on-ns = <15>;
154		gpmc,oe-off-ns = <50>;
155		gpmc,we-on-ns = <15>;
156		gpmc,we-off-ns = <50>;
157		gpmc,rd-cycle-ns = <50>;
158		gpmc,wr-cycle-ns = <50>;
159		gpmc,access-ns = <50>;
160		gpmc,page-burst-access-ns = <0>;
161		gpmc,bus-turnaround-ns = <35>;
162		gpmc,cycle2cycle-delay-ns = <35>;
163		gpmc,wr-data-mux-bus-ns = <35>;
164		gpmc,wr-access-ns = <50>;
165
166		gpmc,mux-add-data = <2>;
167		gpmc,sync-read;
168		gpmc,sync-write;
169		gpmc,clk-activation-ns = <5>;
170		gpmc,sync-clk-ps = <20000>;
171	};
172};
173
174&dss {
175	status = "ok";
176};
177
178&hdmi {
179	status = "ok";
180	vdda-supply = <&vdac>;
181
182	pinctrl-names = "default";
183	pinctrl-0 = <&dss_hdmi_pins>;
184
185	port {
186		hdmi_out: endpoint {
187			remote-endpoint = <&hdmi_connector_in>;
188		};
189	};
190};
191
192