0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003 * Copyright (C) 2014 Florian Vaussard, EPFL Mobots group
0004 */
0005 /dts-v1/;
0006
0007 #include "omap4-duovero.dtsi"
0008
0009 #include <dt-bindings/input/input.h>
0010
0011 / {
0012 model = "OMAP4430 Gumstix Duovero on Parlor";
0013 compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4";
0014
0015 aliases {
0016 display0 = &hdmi0;
0017 };
0018
0019 leds {
0020 compatible = "gpio-leds";
0021 led0 {
0022 label = "duovero:blue:led0";
0023 gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* gpio_122 */
0024 linux,default-trigger = "heartbeat";
0025 };
0026 };
0027
0028 gpio_keys {
0029 compatible = "gpio-keys";
0030 #address-cells = <1>;
0031 #size-cells = <0>;
0032 button0 {
0033 label = "button0";
0034 linux,code = <BTN_0>;
0035 gpios = <&gpio4 25 GPIO_ACTIVE_LOW>; /* gpio_121 */
0036 /* Value above 7.95ms for no GPIO hardware debounce */
0037 debounce-interval = <10>;
0038 wakeup-source;
0039 };
0040 };
0041
0042 hdmi0: connector {
0043 compatible = "hdmi-connector";
0044 label = "hdmi";
0045
0046 type = "d";
0047
0048 hpd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; /* gpio_63 */
0049
0050 port {
0051 hdmi_connector_in: endpoint {
0052 remote-endpoint = <&hdmi_out>;
0053 };
0054 };
0055 };
0056 };
0057
0058 &omap4_pmx_core {
0059 pinctrl-0 = <
0060 &led_pins
0061 &button_pins
0062 &smsc_pins
0063 >;
0064
0065 led_pins: pinmux_led_pins {
0066 pinctrl-single,pins = <
0067 OMAP4_IOPAD(0x116, PIN_OUTPUT | MUX_MODE3) /* abe_dmic_din3.gpio_122 */
0068 >;
0069 };
0070
0071 button_pins: pinmux_button_pins {
0072 pinctrl-single,pins = <
0073 OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3) /* abe_dmic_din2.gpio_121 */
0074 >;
0075 };
0076
0077 i2c2_pins: pinmux_i2c2_pins {
0078 pinctrl-single,pins = <
0079 OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
0080 OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
0081 >;
0082 };
0083
0084 i2c3_pins: pinmux_i2c3_pins {
0085 pinctrl-single,pins = <
0086 OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
0087 OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
0088 >;
0089 };
0090
0091 smsc_pins: pinmux_smsc_pins {
0092 pinctrl-single,pins = <
0093 OMAP4_IOPAD(0x068, PIN_INPUT | MUX_MODE3) /* gpmc_a20.gpio_44: IRQ */
0094 OMAP4_IOPAD(0x06a, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a21.gpio_45: nReset */
0095 OMAP4_IOPAD(0x070, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48: amdix enabled */
0096 >;
0097 };
0098
0099 dss_hdmi_pins: pinmux_dss_hdmi_pins {
0100 pinctrl-single,pins = <
0101 OMAP4_IOPAD(0x098, PIN_INPUT | MUX_MODE3) /* hdmi_hpd.gpio_63 */
0102 OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */
0103 OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_ddc_scl.hdmi_ddc_scl */
0104 OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_ddc_sda.hdmi_ddc_sda */
0105 >;
0106 };
0107 };
0108
0109 &i2c2 {
0110 pinctrl-names = "default";
0111 pinctrl-0 = <&i2c2_pins>;
0112
0113 clock-frequency = <400000>;
0114 };
0115
0116 &i2c3 {
0117 pinctrl-names = "default";
0118 pinctrl-0 = <&i2c3_pins>;
0119
0120 clock-frequency = <100000>;
0121
0122 /* optional 1K EEPROM with revision information */
0123 eeprom@51 {
0124 compatible = "atmel,24c01";
0125 reg = <0x51>;
0126 pagesize = <8>;
0127 };
0128 };
0129
0130 &mmc3 {
0131 status = "disabled";
0132 };
0133
0134 #include "omap-gpmc-smsc911x.dtsi"
0135
0136 &gpmc {
0137 ranges = <5 0 0x2c000000 0x1000000>; /* CS5 */
0138
0139 ethernet@gpmc {
0140 reg = <5 0 0xff>;
0141 interrupt-parent = <&gpio2>;
0142 interrupts = <12 IRQ_TYPE_LEVEL_LOW>; /* gpio_44 */
0143
0144 phy-mode = "mii";
0145
0146 gpmc,cs-on-ns = <10>;
0147 gpmc,cs-rd-off-ns = <50>;
0148 gpmc,cs-wr-off-ns = <50>;
0149 gpmc,adv-on-ns = <0>;
0150 gpmc,adv-rd-off-ns = <10>;
0151 gpmc,adv-wr-off-ns = <10>;
0152 gpmc,oe-on-ns = <15>;
0153 gpmc,oe-off-ns = <50>;
0154 gpmc,we-on-ns = <15>;
0155 gpmc,we-off-ns = <50>;
0156 gpmc,rd-cycle-ns = <50>;
0157 gpmc,wr-cycle-ns = <50>;
0158 gpmc,access-ns = <50>;
0159 gpmc,page-burst-access-ns = <0>;
0160 gpmc,bus-turnaround-ns = <35>;
0161 gpmc,cycle2cycle-delay-ns = <35>;
0162 gpmc,wr-data-mux-bus-ns = <35>;
0163 gpmc,wr-access-ns = <50>;
0164
0165 gpmc,mux-add-data = <2>;
0166 gpmc,sync-read;
0167 gpmc,sync-write;
0168 gpmc,clk-activation-ns = <5>;
0169 gpmc,sync-clk-ps = <20000>;
0170 };
0171 };
0172
0173 &dss {
0174 status = "okay";
0175 };
0176
0177 &hdmi {
0178 status = "okay";
0179 vdda-supply = <&vdac>;
0180
0181 pinctrl-names = "default";
0182 pinctrl-0 = <&dss_hdmi_pins>;
0183
0184 port {
0185 hdmi_out: endpoint {
0186 remote-endpoint = <&hdmi_connector_in>;
0187 };
0188 };
0189 };
0190
0191 &uart3 {
0192 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
0193 &omap4_pmx_core OMAP4_UART3_RX>;
0194 };