1279377Simp/*
2279377Simp * Copyright (C) 2014 Florian Vaussard, EPFL Mobots group
3279377Simp *
4279377Simp * This program is free software; you can redistribute it and/or modify
5279377Simp * it under the terms of the GNU General Public License version 2 as
6279377Simp * published by the Free Software Foundation.
7279377Simp */
8279377Simp/dts-v1/;
9279377Simp
10279377Simp#include "omap4-duovero.dtsi"
11279377Simp
12279377Simp#include <dt-bindings/input/input.h>
13279377Simp
14279377Simp/ {
15279377Simp	model = "OMAP4430 Gumstix Duovero on Parlor";
16279377Simp	compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4";
17279377Simp
18279377Simp	aliases {
19279377Simp		display0 = &hdmi0;
20279377Simp	};
21279377Simp
22279377Simp	leds {
23279377Simp		compatible = "gpio-leds";
24279377Simp		led0 {
25279377Simp			label = "duovero:blue:led0";
26279377Simp			gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>;	/* gpio_122 */
27279377Simp			linux,default-trigger = "heartbeat";
28279377Simp		};
29279377Simp	};
30279377Simp
31279377Simp	gpio_keys {
32279377Simp		compatible = "gpio-keys";
33279377Simp		#address-cells = <1>;
34279377Simp		#size-cells = <0>;
35279377Simp		button0@121 {
36279377Simp			label = "button0";
37279377Simp			linux,code = <BTN_0>;
38279377Simp			gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;	/* gpio_121 */
39279377Simp			gpio-key,wakeup;
40279377Simp		};
41279377Simp	};
42279377Simp
43279377Simp	hdmi0: connector@0 {
44279377Simp		compatible = "hdmi-connector";
45279377Simp		label = "hdmi";
46279377Simp
47279377Simp		type = "d";
48279377Simp
49279377Simp		hpd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>;	/* gpio_63 */
50279377Simp
51279377Simp		port {
52279377Simp			hdmi_connector_in: endpoint {
53279377Simp				remote-endpoint = <&hdmi_out>;
54279377Simp			};
55279377Simp		};
56279377Simp	};
57279377Simp};
58279377Simp
59279377Simp&omap4_pmx_core {
60279377Simp	pinctrl-0 = <
61279377Simp			&led_pins
62279377Simp			&button_pins
63279377Simp			&smsc_pins
64279377Simp	>;
65279377Simp
66279377Simp	led_pins: pinmux_led_pins {
67279377Simp		pinctrl-single,pins = <
68279377Simp			OMAP4_IOPAD(0x116, PIN_OUTPUT | MUX_MODE3)		/* abe_dmic_din3.gpio_122 */
69279377Simp		>;
70279377Simp	};
71279377Simp
72279377Simp	button_pins: pinmux_button_pins {
73279377Simp		pinctrl-single,pins = <
74279377Simp			OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3)	/* abe_dmic_din2.gpio_121 */
75279377Simp		>;
76279377Simp	};
77279377Simp
78279377Simp	i2c2_pins: pinmux_i2c2_pins {
79279377Simp		pinctrl-single,pins = <
80279377Simp			OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_scl */
81279377Simp			OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_sda */
82279377Simp		>;
83279377Simp	};
84279377Simp
85279377Simp	i2c3_pins: pinmux_i2c3_pins {
86279377Simp		pinctrl-single,pins = <
87279377Simp			OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_scl */
88279377Simp			OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_sda */
89279377Simp		>;
90279377Simp	};
91279377Simp
92279377Simp	smsc_pins: pinmux_smsc_pins {
93279377Simp		pinctrl-single,pins = <
94279377Simp			OMAP4_IOPAD(0x068, PIN_INPUT | MUX_MODE3)		/* gpmc_a20.gpio_44: IRQ */
95279377Simp			OMAP4_IOPAD(0x06a, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a21.gpio_45: nReset */
96279377Simp			OMAP4_IOPAD(0x070, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a24.gpio_48: amdix enabled */
97279377Simp		>;
98279377Simp	};
99279377Simp
100279377Simp	dss_hdmi_pins: pinmux_dss_hdmi_pins {
101279377Simp		pinctrl-single,pins = <
102279377Simp			OMAP4_IOPAD(0x098, PIN_INPUT | MUX_MODE3)		/* hdmi_hpd.gpio_63 */
103279377Simp			OMAP4_IOPAD(0x09a, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_cec.hdmi_cec */
104279377Simp			OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_ddc_scl.hdmi_ddc_scl */
105279377Simp			OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_ddc_sda.hdmi_ddc_sda */
106279377Simp		>;
107279377Simp	};
108279377Simp};
109279377Simp
110279377Simp&i2c2 {
111279377Simp	pinctrl-names = "default";
112279377Simp	pinctrl-0 = <&i2c2_pins>;
113279377Simp
114279377Simp	clock-frequency = <400000>;
115279377Simp};
116279377Simp
117279377Simp&i2c3 {
118279377Simp	pinctrl-names = "default";
119279377Simp	pinctrl-0 = <&i2c3_pins>;
120279377Simp
121279377Simp	clock-frequency = <100000>;
122279377Simp
123279377Simp	/* optional 1K EEPROM with revision information */
124279377Simp	eeprom@51 {
125279377Simp		compatible = "atmel,24c01";
126279377Simp		reg = <0x51>;
127279377Simp		pagesize = <8>;
128279377Simp	};
129279377Simp};
130279377Simp
131279377Simp&mmc3 {
132279377Simp	status = "disabled";
133279377Simp};
134279377Simp
135279377Simp#include "omap-gpmc-smsc911x.dtsi"
136279377Simp
137279377Simp&gpmc {
138279377Simp	ranges = <5 0 0x2c000000 0x1000000>;			/* CS5 */
139279377Simp
140279377Simp	ethernet@gpmc {
141279377Simp		reg = <5 0 0xff>;
142279377Simp		interrupt-parent = <&gpio2>;
143279377Simp		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;		/* gpio_44 */
144279377Simp
145279377Simp		phy-mode = "mii";
146279377Simp
147279377Simp		gpmc,cs-on-ns = <10>;
148279377Simp		gpmc,cs-rd-off-ns = <50>;
149279377Simp		gpmc,cs-wr-off-ns = <50>;
150279377Simp		gpmc,adv-on-ns = <0>;
151279377Simp		gpmc,adv-rd-off-ns = <10>;
152279377Simp		gpmc,adv-wr-off-ns = <10>;
153279377Simp		gpmc,oe-on-ns = <15>;
154279377Simp		gpmc,oe-off-ns = <50>;
155279377Simp		gpmc,we-on-ns = <15>;
156279377Simp		gpmc,we-off-ns = <50>;
157279377Simp		gpmc,rd-cycle-ns = <50>;
158279377Simp		gpmc,wr-cycle-ns = <50>;
159279377Simp		gpmc,access-ns = <50>;
160279377Simp		gpmc,page-burst-access-ns = <0>;
161279377Simp		gpmc,bus-turnaround-ns = <35>;
162279377Simp		gpmc,cycle2cycle-delay-ns = <35>;
163279377Simp		gpmc,wr-data-mux-bus-ns = <35>;
164279377Simp		gpmc,wr-access-ns = <50>;
165279377Simp
166279377Simp		gpmc,mux-add-data = <2>;
167279377Simp		gpmc,sync-read;
168279377Simp		gpmc,sync-write;
169279377Simp		gpmc,clk-activation-ns = <5>;
170279377Simp		gpmc,sync-clk-ps = <20000>;
171279377Simp	};
172279377Simp};
173279377Simp
174279377Simp&dss {
175279377Simp	status = "ok";
176279377Simp};
177279377Simp
178279377Simp&hdmi {
179279377Simp	status = "ok";
180279377Simp	vdda-supply = <&vdac>;
181279377Simp
182279377Simp	pinctrl-names = "default";
183279377Simp	pinctrl-0 = <&dss_hdmi_pins>;
184279377Simp
185279377Simp	port {
186279377Simp		hdmi_out: endpoint {
187279377Simp			remote-endpoint = <&hdmi_connector_in>;
188279377Simp		};
189279377Simp	};
190279377Simp};
191279377Simp
192