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