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 { 36 label = "button0"; 37 linux,code = <BTN_0>; 38 gpios = <&gpio4 25 GPIO_ACTIVE_LOW>; /* gpio_121 */ 39 /* Value above 7.95ms for no GPIO hardware debounce */ 40 debounce-interval = <10>; 41 wakeup-source; 42 }; 43 }; 44 45 hdmi0: connector { 46 compatible = "hdmi-connector"; 47 label = "hdmi"; 48 49 type = "d"; 50 51 hpd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; /* gpio_63 */ 52 53 port { 54 hdmi_connector_in: endpoint { 55 remote-endpoint = <&hdmi_out>; 56 }; 57 }; 58 }; 59}; 60 61&omap4_pmx_core { 62 pinctrl-0 = < 63 &led_pins 64 &button_pins 65 &smsc_pins 66 >; 67 68 led_pins: pinmux_led_pins { 69 pinctrl-single,pins = < 70 OMAP4_IOPAD(0x116, PIN_OUTPUT | MUX_MODE3) /* abe_dmic_din3.gpio_122 */ 71 >; 72 }; 73 74 button_pins: pinmux_button_pins { 75 pinctrl-single,pins = < 76 OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3) /* abe_dmic_din2.gpio_121 */ 77 >; 78 }; 79 80 i2c2_pins: pinmux_i2c2_pins { 81 pinctrl-single,pins = < 82 OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */ 83 OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */ 84 >; 85 }; 86 87 i2c3_pins: pinmux_i2c3_pins { 88 pinctrl-single,pins = < 89 OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */ 90 OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */ 91 >; 92 }; 93 94 smsc_pins: pinmux_smsc_pins { 95 pinctrl-single,pins = < 96 OMAP4_IOPAD(0x068, PIN_INPUT | MUX_MODE3) /* gpmc_a20.gpio_44: IRQ */ 97 OMAP4_IOPAD(0x06a, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a21.gpio_45: nReset */ 98 OMAP4_IOPAD(0x070, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48: amdix enabled */ 99 >; 100 }; 101 102 dss_hdmi_pins: pinmux_dss_hdmi_pins { 103 pinctrl-single,pins = < 104 OMAP4_IOPAD(0x098, PIN_INPUT | MUX_MODE3) /* hdmi_hpd.gpio_63 */ 105 OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */ 106 OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_ddc_scl.hdmi_ddc_scl */ 107 OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_ddc_sda.hdmi_ddc_sda */ 108 >; 109 }; 110}; 111 112&i2c2 { 113 pinctrl-names = "default"; 114 pinctrl-0 = <&i2c2_pins>; 115 116 clock-frequency = <400000>; 117}; 118 119&i2c3 { 120 pinctrl-names = "default"; 121 pinctrl-0 = <&i2c3_pins>; 122 123 clock-frequency = <100000>; 124 125 /* optional 1K EEPROM with revision information */ 126 eeprom@51 { 127 compatible = "atmel,24c01"; 128 reg = <0x51>; 129 pagesize = <8>; 130 }; 131}; 132 133&mmc3 { 134 status = "disabled"; 135}; 136 137#include "omap-gpmc-smsc911x.dtsi" 138 139&gpmc { 140 ranges = <5 0 0x2c000000 0x1000000>; /* CS5 */ 141 142 ethernet@gpmc { 143 reg = <5 0 0xff>; 144 interrupt-parent = <&gpio2>; 145 interrupts = <12 IRQ_TYPE_EDGE_FALLING>; /* gpio_44 */ 146 147 phy-mode = "mii"; 148 149 gpmc,cs-on-ns = <10>; 150 gpmc,cs-rd-off-ns = <50>; 151 gpmc,cs-wr-off-ns = <50>; 152 gpmc,adv-on-ns = <0>; 153 gpmc,adv-rd-off-ns = <10>; 154 gpmc,adv-wr-off-ns = <10>; 155 gpmc,oe-on-ns = <15>; 156 gpmc,oe-off-ns = <50>; 157 gpmc,we-on-ns = <15>; 158 gpmc,we-off-ns = <50>; 159 gpmc,rd-cycle-ns = <50>; 160 gpmc,wr-cycle-ns = <50>; 161 gpmc,access-ns = <50>; 162 gpmc,page-burst-access-ns = <0>; 163 gpmc,bus-turnaround-ns = <35>; 164 gpmc,cycle2cycle-delay-ns = <35>; 165 gpmc,wr-data-mux-bus-ns = <35>; 166 gpmc,wr-access-ns = <50>; 167 168 gpmc,mux-add-data = <2>; 169 gpmc,sync-read; 170 gpmc,sync-write; 171 gpmc,clk-activation-ns = <5>; 172 gpmc,sync-clk-ps = <20000>; 173 }; 174}; 175 176&dss { 177 status = "ok"; 178}; 179 180&hdmi { 181 status = "ok"; 182 vdda-supply = <&vdac>; 183 184 pinctrl-names = "default"; 185 pinctrl-0 = <&dss_hdmi_pins>; 186 187 port { 188 hdmi_out: endpoint { 189 remote-endpoint = <&hdmi_connector_in>; 190 }; 191 }; 192}; 193 194&uart3 { 195 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH 196 &omap4_pmx_core OMAP4_UART3_RX>; 197}; 198