|  | /* | 
|  | * Copyright 2013 Eukréa Electromatique <denis@eukrea.com> | 
|  | * | 
|  | * This program is free software; you can redistribute it and/or | 
|  | * modify it under the terms of the GNU General Public License | 
|  | * as published by the Free Software Foundation; either version 2 | 
|  | * of the License, or (at your option) any later version. | 
|  | * This program is distributed in the hope that it will be useful, | 
|  | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | * GNU General Public License for more details. | 
|  | */ | 
|  |  | 
|  | /dts-v1/; | 
|  |  | 
|  | #include <dt-bindings/gpio/gpio.h> | 
|  | #include <dt-bindings/input/input.h> | 
|  | #include "imx25-eukrea-cpuimx25.dtsi" | 
|  |  | 
|  | / { | 
|  | model = "Eukrea MBIMXSD25"; | 
|  | compatible = "eukrea,mbimxsd25-baseboard", "eukrea,cpuimx25", "fsl,imx25"; | 
|  |  | 
|  | gpio_keys { | 
|  | compatible = "gpio-keys"; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_gpiokeys>; | 
|  |  | 
|  | bp1 { | 
|  | label = "BP1"; | 
|  | gpios = <&gpio3 18 GPIO_ACTIVE_LOW>; | 
|  | linux,code = <BTN_MISC>; | 
|  | gpio-key,wakeup; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | leds { | 
|  | compatible = "gpio-leds"; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_gpioled>; | 
|  |  | 
|  | led1 { | 
|  | label = "led1"; | 
|  | gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; | 
|  | linux,default-trigger = "heartbeat"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | sound { | 
|  | compatible = "eukrea,asoc-tlv320"; | 
|  | eukrea,model = "imx25-eukrea-tlv320aic23"; | 
|  | ssi-controller = <&ssi1>; | 
|  | fsl,mux-int-port = <1>; | 
|  | fsl,mux-ext-port = <5>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &audmux { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_audmux>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &esdhc1 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_esdhc1>; | 
|  | cd-gpios = <&gpio1 20>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &i2c1 { | 
|  | tlv320aic23: codec@1a { | 
|  | compatible = "ti,tlv320aic23"; | 
|  | reg = <0x1a>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &iomuxc { | 
|  | imx25-eukrea-mbimxsd25-baseboard { | 
|  | pinctrl_audmux: audmuxgrp { | 
|  | fsl,pins = < | 
|  | MX25_PAD_KPP_COL3__AUD5_TXFS		0xe0 | 
|  | MX25_PAD_KPP_COL2__AUD5_TXC		0xe0 | 
|  | MX25_PAD_KPP_COL1__AUD5_RXD		0xe0 | 
|  | MX25_PAD_KPP_COL0__AUD5_TXD		0xe0 | 
|  | >; | 
|  | }; | 
|  |  | 
|  | pinctrl_esdhc1: esdhc1grp { | 
|  | fsl,pins = < | 
|  | MX25_PAD_SD1_CMD__SD1_CMD		0x400000c0 | 
|  | MX25_PAD_SD1_CLK__SD1_CLK		0x400000c0 | 
|  | MX25_PAD_SD1_DATA0__SD1_DATA0		0x400000c0 | 
|  | MX25_PAD_SD1_DATA1__SD1_DATA1		0x400000c0 | 
|  | MX25_PAD_SD1_DATA2__SD1_DATA2		0x400000c0 | 
|  | MX25_PAD_SD1_DATA3__SD1_DATA3		0x400000c0 | 
|  | >; | 
|  | }; | 
|  |  | 
|  | pinctrl_gpiokeys: gpiokeysgrp { | 
|  | fsl,pins = <MX25_PAD_VSTBY_ACK__GPIO_3_18 0x80000000>; | 
|  | }; | 
|  |  | 
|  | pinctrl_gpioled: gpioledgrp { | 
|  | fsl,pins = <MX25_PAD_POWER_FAIL__GPIO_3_19 0x80000000>; | 
|  | }; | 
|  |  | 
|  | pinctrl_lcdc: lcdcgrp { | 
|  | fsl,pins = < | 
|  | MX25_PAD_LD0__LD0			0x1 | 
|  | MX25_PAD_LD1__LD1			0x1 | 
|  | MX25_PAD_LD2__LD2			0x1 | 
|  | MX25_PAD_LD3__LD3			0x1 | 
|  | MX25_PAD_LD4__LD4			0x1 | 
|  | MX25_PAD_LD5__LD5			0x1 | 
|  | MX25_PAD_LD6__LD6			0x1 | 
|  | MX25_PAD_LD7__LD7			0x1 | 
|  | MX25_PAD_LD8__LD8			0x1 | 
|  | MX25_PAD_LD9__LD9			0x1 | 
|  | MX25_PAD_LD10__LD10			0x1 | 
|  | MX25_PAD_LD11__LD11			0x1 | 
|  | MX25_PAD_LD12__LD12			0x1 | 
|  | MX25_PAD_LD13__LD13			0x1 | 
|  | MX25_PAD_LD14__LD14			0x1 | 
|  | MX25_PAD_LD15__LD15			0x1 | 
|  | MX25_PAD_GPIO_E__LD16			0x1 | 
|  | MX25_PAD_GPIO_F__LD17			0x1 | 
|  | MX25_PAD_HSYNC__HSYNC			0x80000000 | 
|  | MX25_PAD_VSYNC__VSYNC			0x80000000 | 
|  | MX25_PAD_LSCLK__LSCLK			0x80000000 | 
|  | MX25_PAD_OE_ACD__OE_ACD			0x80000000 | 
|  | MX25_PAD_CONTRAST__CONTRAST		0x80000000 | 
|  | >; | 
|  | }; | 
|  |  | 
|  | pinctrl_uart1: uart1grp { | 
|  | fsl,pins = < | 
|  | MX25_PAD_UART1_RTS__UART1_RTS		0xe0 | 
|  | MX25_PAD_UART1_CTS__UART1_CTS		0xe0 | 
|  | MX25_PAD_UART1_TXD__UART1_TXD		0x80000000 | 
|  | MX25_PAD_UART1_RXD__UART1_RXD		0xc0 | 
|  | >; | 
|  | }; | 
|  |  | 
|  | pinctrl_uart2: uart2grp { | 
|  | fsl,pins = < | 
|  | MX25_PAD_UART2_RXD__UART2_RXD		0x80000000 | 
|  | MX25_PAD_UART2_TXD__UART2_TXD		0x80000000 | 
|  | MX25_PAD_UART2_RTS__UART2_RTS		0x80000000 | 
|  | MX25_PAD_UART2_CTS__UART2_CTS		0x80000000 | 
|  | >; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &ssi1 { | 
|  | codec-handle = <&tlv320aic23>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &uart1 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_uart1>; | 
|  | fsl,uart-has-rtscts; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &uart2 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_uart2>; | 
|  | fsl,uart-has-rtscts; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &usbhost1 { | 
|  | phy_type = "serial"; | 
|  | dr_mode = "host"; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &usbotg { | 
|  | phy_type = "utmi"; | 
|  | dr_mode = "otg"; | 
|  | external-vbus-divider; | 
|  | status = "okay"; | 
|  | }; |