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