1/* 2 * Copyright (C) 2014 Joachim Eastwood <manabian@gmail.com> 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 9#include <dt-bindings/input/input.h> 10 11/ { 12 aliases { 13 display0 = &hdmi0; 14 }; 15 16 leds { 17 compatible = "gpio-leds"; 18 pinctrl-names = "default"; 19 pinctrl-0 = <&gpio_led_pins>; 20 21 led0 { 22 label = "var:green:led0"; 23 gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>; /* gpio 173 */ 24 linux,default-trigger = "heartbeat"; 25 }; 26 27 led1 { 28 label = "var:green:led1"; 29 gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>; /* gpio 172 */ 30 }; 31 }; 32 33 gpio-keys { 34 compatible = "gpio-keys"; 35 pinctrl-names = "default"; 36 pinctrl-0 = <&gpio_key_pins>; 37 #address-cells = <1>; 38 #size-cells = <0>; 39 40 user-key@184 { 41 label = "user"; 42 gpios = <&gpio6 24 GPIO_ACTIVE_HIGH>; /* gpio 184 */ 43 linux,code = <BTN_EXTRA>; 44 gpio-key,wakeup; 45 }; 46 }; 47 48 hdmi0: connector@0 { 49 compatible = "hdmi-connector"; 50 pinctrl-names = "default"; 51 pinctrl-0 = <&hdmi_hpd_pins>; 52 label = "hdmi"; 53 type = "a"; 54 55 hpd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; /* gpio_63 */ 56 57 port { 58 hdmi_connector_in: endpoint { 59 remote-endpoint = <&hdmi_out>; 60 }; 61 }; 62 }; 63}; 64 65&omap4_pmx_core { 66 uart1_pins: pinmux_uart1_pins { 67 pinctrl-single,pins = < 68 OMAP4_IOPAD(0x13c, PIN_INPUT_PULLUP | MUX_MODE1) /* mcspi1_cs2.uart1_cts */ 69 OMAP4_IOPAD(0x13e, PIN_OUTPUT | MUX_MODE1) /* mcspi1_cs3.uart1_rts */ 70 OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE1) /* i2c2_scl.uart1_rx */ 71 OMAP4_IOPAD(0x128, PIN_OUTPUT | MUX_MODE1) /* i2c2_sda.uart1_tx */ 72 >; 73 }; 74 75 mcspi1_pins: pinmux_mcspi1_pins { 76 pinctrl-single,pins = < 77 OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */ 78 OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */ 79 OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */ 80 OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */ 81 >; 82 }; 83 84 mcasp_pins: pinmux_mcsasp_pins { 85 pinctrl-single,pins = < 86 OMAP4_IOPAD(0x0f8, PIN_OUTPUT | MUX_MODE2) /* mcbsp2_dr.abe_mcasp_axr */ 87 >; 88 }; 89 90 dss_dpi_pins: pinmux_dss_dpi_pins { 91 pinctrl-single,pins = < 92 OMAP4_IOPAD(0x162, PIN_OUTPUT | MUX_MODE5) /* dispc2_data23 */ 93 OMAP4_IOPAD(0x164, PIN_OUTPUT | MUX_MODE5) /* dispc2_data22 */ 94 OMAP4_IOPAD(0x166, PIN_OUTPUT | MUX_MODE5) /* dispc2_data21 */ 95 OMAP4_IOPAD(0x168, PIN_OUTPUT | MUX_MODE5) /* dispc2_data20 */ 96 OMAP4_IOPAD(0x16a, PIN_OUTPUT | MUX_MODE5) /* dispc2_data19 */ 97 OMAP4_IOPAD(0x16c, PIN_OUTPUT | MUX_MODE5) /* dispc2_data18 */ 98 OMAP4_IOPAD(0x16e, PIN_OUTPUT | MUX_MODE5) /* dispc2_data15 */ 99 OMAP4_IOPAD(0x170, PIN_OUTPUT | MUX_MODE5) /* dispc2_data14 */ 100 OMAP4_IOPAD(0x172, PIN_OUTPUT | MUX_MODE5) /* dispc2_data13 */ 101 OMAP4_IOPAD(0x174, PIN_OUTPUT | MUX_MODE5) /* dispc2_data12 */ 102 OMAP4_IOPAD(0x176, PIN_OUTPUT | MUX_MODE5) /* dispc2_data11 */ 103 OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE5) /* dispc2_data10 */ 104 OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE5) /* dispc2_data9 */ 105 OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE5) /* dispc2_data16 */ 106 OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE5) /* dispc2_data17 */ 107 OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE5) /* dispc2_hsync */ 108 OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE5) /* dispc2_pclk */ 109 OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE5) /* dispc2_vsync */ 110 OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE5) /* dispc2_de */ 111 OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE5) /* dispc2_data8 */ 112 OMAP4_IOPAD(0x1c6, PIN_OUTPUT | MUX_MODE5) /* dispc2_data7 */ 113 OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE5) /* dispc2_data6 */ 114 OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE5) /* dispc2_data5 */ 115 OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE5) /* dispc2_data4 */ 116 OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE5) /* dispc2_data3 */ 117 OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE5) /* dispc2_data2 */ 118 OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE5) /* dispc2_data1 */ 119 OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE5) /* dispc2_data0 */ 120 >; 121 }; 122 123 dss_hdmi_pins: pinmux_dss_hdmi_pins { 124 pinctrl-single,pins = < 125 OMAP4_IOPAD(0x09a, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */ 126 OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */ 127 OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */ 128 >; 129 }; 130 131 i2c4_pins: pinmux_i2c4_pins { 132 pinctrl-single,pins = < 133 OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */ 134 OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */ 135 >; 136 }; 137 138 mmc5_pins: pinmux_mmc5_pins { 139 pinctrl-single,pins = < 140 OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE3) /* abe_mcbsp2_clkx.gpio_110 */ 141 OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */ 142 OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */ 143 OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */ 144 OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */ 145 OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */ 146 OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */ 147 >; 148 }; 149 150 gpio_led_pins: pinmux_gpio_led_pins { 151 pinctrl-single,pins = < 152 OMAP4_IOPAD(0x17e, PIN_OUTPUT | MUX_MODE3) /* kpd_col4.gpio_172 */ 153 OMAP4_IOPAD(0x180, PIN_OUTPUT | MUX_MODE3) /* kpd_col5.gpio_173 */ 154 >; 155 }; 156 157 gpio_key_pins: pinmux_gpio_key_pins { 158 pinctrl-single,pins = < 159 OMAP4_IOPAD(0x1a2, PIN_INPUT | MUX_MODE3) /* sys_boot0.gpio_184 */ 160 >; 161 }; 162 163 ks8851_irq_pins: pinmux_ks8851_irq_pins { 164 pinctrl-single,pins = < 165 OMAP4_IOPAD(0x17c, PIN_INPUT_PULLUP | MUX_MODE3) /* kpd_col3.gpio_171 */ 166 >; 167 }; 168 169 hdmi_hpd_pins: pinmux_hdmi_hpd_pins { 170 pinctrl-single,pins = < 171 OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */ 172 >; 173 }; 174 175 backlight_pins: pinmux_backlight_pins { 176 pinctrl-single,pins = < 177 OMAP4_IOPAD(0x116, PIN_OUTPUT | MUX_MODE3) /* abe_dmic_din3.gpio_122 */ 178 >; 179 }; 180}; 181 182&i2c4 { 183 pinctrl-names = "default"; 184 pinctrl-0 = <&i2c4_pins>; 185 clock-frequency = <400000>; 186 status = "okay"; 187}; 188 189&uart1 { 190 pinctrl-names = "default"; 191 pinctrl-0 = <&uart1_pins>; 192 status = "okay"; 193}; 194 195&mcspi1 { 196 pinctrl-names = "default"; 197 pinctrl-0 = <&mcspi1_pins>; 198 status = "okay"; 199 200 eth@0 { 201 compatible = "ks8851"; 202 pinctrl-names = "default"; 203 pinctrl-0 = <&ks8851_irq_pins>; 204 spi-max-frequency = <24000000>; 205 reg = <0>; 206 interrupt-parent = <&gpio6>; 207 interrupts = <11 IRQ_TYPE_LEVEL_LOW>; /* gpio 171 */ 208 }; 209}; 210 211&mmc5 { 212 pinctrl-names = "default"; 213 pinctrl-0 = <&mmc5_pins>; 214 vmmc-supply = <&vbat>; 215 bus-width = <4>; 216 cd-gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>; /* gpio 110 */ 217 status = "okay"; 218}; 219 220&dss { 221 status = "okay"; 222}; 223 224&hdmi { 225 status = "okay"; 226 pinctrl-names = "default"; 227 pinctrl-0 = <&dss_hdmi_pins>; 228 vdda-supply = <&vdac>; 229 230 port { 231 hdmi_out: endpoint { 232 remote-endpoint = <&hdmi_connector_in>; 233 }; 234 }; 235}; 236