1270866Simp/* 2270866Simp * Copyright 2013 Eukr��a Electromatique <denis@eukrea.com> 3270866Simp * 4270866Simp * This program is free software; you can redistribute it and/or 5270866Simp * modify it under the terms of the GNU General Public License 6270866Simp * as published by the Free Software Foundation; either version 2 7270866Simp * of the License, or (at your option) any later version. 8270866Simp * This program is distributed in the hope that it will be useful, 9270866Simp * but WITHOUT ANY WARRANTY; without even the implied warranty of 10270866Simp * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11270866Simp * GNU General Public License for more details. 12270866Simp * 13270866Simp * You should have received a copy of the GNU General Public License 14270866Simp * along with this program; if not, write to the Free Software 15270866Simp * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 16270866Simp * MA 02110-1301, USA. 17270866Simp */ 18270866Simp 19270866Simp/dts-v1/; 20270866Simp#include "imx51-eukrea-cpuimx51.dtsi" 21270866Simp#include <dt-bindings/gpio/gpio.h> 22270866Simp 23270866Simp/ { 24270866Simp model = "Eukrea CPUIMX51"; 25270866Simp compatible = "eukrea,mbimxsd51","eukrea,cpuimx51", "fsl,imx51"; 26270866Simp 27270866Simp clocks { 28270866Simp clk24M: can_clock { 29270866Simp compatible = "fixed-clock"; 30270866Simp #clock-cells = <0>; 31270866Simp clock-frequency = <24000000>; 32270866Simp }; 33270866Simp }; 34270866Simp 35270866Simp gpio_keys { 36270866Simp compatible = "gpio-keys"; 37270866Simp pinctrl-names = "default"; 38270866Simp pinctrl-0 = <&pinctrl_gpiokeys_1>; 39270866Simp 40270866Simp button-1 { 41270866Simp label = "BP1"; 42270866Simp gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; 43270866Simp linux,code = <256>; 44270866Simp gpio-key,wakeup; 45270866Simp linux,input-type = <1>; 46270866Simp }; 47270866Simp }; 48270866Simp 49270866Simp leds { 50270866Simp compatible = "gpio-leds"; 51270866Simp pinctrl-names = "default"; 52270866Simp pinctrl-0 = <&pinctrl_gpioled>; 53270866Simp 54270866Simp led1 { 55270866Simp label = "led1"; 56270866Simp gpios = <&gpio3 30 GPIO_ACTIVE_LOW>; 57270866Simp linux,default-trigger = "heartbeat"; 58270866Simp }; 59270866Simp }; 60270866Simp 61270866Simp regulators { 62270866Simp compatible = "simple-bus"; 63270866Simp #address-cells = <1>; 64270866Simp #size-cells = <0>; 65270866Simp 66270866Simp reg_can: regulator@0 { 67270866Simp compatible = "regulator-fixed"; 68270866Simp reg = <0>; 69270866Simp regulator-name = "CAN_RST"; 70270866Simp regulator-min-microvolt = <3300000>; 71270866Simp regulator-max-microvolt = <3300000>; 72270866Simp gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>; 73270866Simp startup-delay-us = <20000>; 74270866Simp enable-active-high; 75270866Simp }; 76270866Simp }; 77270866Simp 78270866Simp sound { 79270866Simp compatible = "eukrea,asoc-tlv320"; 80270866Simp eukrea,model = "imx51-eukrea-tlv320aic23"; 81270866Simp ssi-controller = <&ssi2>; 82270866Simp fsl,mux-int-port = <2>; 83270866Simp fsl,mux-ext-port = <3>; 84270866Simp }; 85270866Simp 86270866Simp usbphy { 87270866Simp #address-cells = <1>; 88270866Simp #size-cells = <0>; 89270866Simp compatible = "simple-bus"; 90270866Simp 91270866Simp usbh1phy: usbh1phy@0 { 92270866Simp compatible = "usb-nop-xceiv"; 93270866Simp reg = <0>; 94270866Simp clocks = <&clks IMX5_CLK_USB_PHY_GATE>; 95270866Simp clock-names = "main_clk"; 96270866Simp clock-frequency = <19200000>; 97270866Simp }; 98270866Simp }; 99270866Simp}; 100270866Simp 101270866Simp&audmux { 102270866Simp pinctrl-names = "default"; 103270866Simp pinctrl-0 = <&pinctrl_audmux>; 104270866Simp status = "okay"; 105270866Simp}; 106270866Simp 107270866Simp&esdhc1 { 108270866Simp pinctrl-names = "default"; 109270866Simp pinctrl-0 = <&pinctrl_esdhc1 &pinctrl_esdhc1_cd>; 110270866Simp cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; 111270866Simp status = "okay"; 112270866Simp}; 113270866Simp 114270866Simp&ecspi1 { 115270866Simp pinctrl-names = "default"; 116270866Simp pinctrl-0 = <&pinctrl_ecspi1>; 117270866Simp fsl,spi-num-chipselects = <1>; 118270866Simp cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>; 119270866Simp status = "okay"; 120270866Simp 121270866Simp can0: can@0 { 122270866Simp pinctrl-names = "default"; 123270866Simp pinctrl-0 = <&pinctrl_can>; 124270866Simp compatible = "microchip,mcp2515"; 125270866Simp reg = <0>; 126270866Simp clocks = <&clk24M>; 127270866Simp spi-max-frequency = <10000000>; 128270866Simp interrupt-parent = <&gpio1>; 129270866Simp interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 130270866Simp vdd-supply = <®_can>; 131270866Simp }; 132270866Simp}; 133270866Simp 134270866Simp&i2c1 { 135270866Simp tlv320aic23: codec@1a { 136270866Simp compatible = "ti,tlv320aic23"; 137270866Simp reg = <0x1a>; 138270866Simp }; 139270866Simp}; 140270866Simp 141270866Simp&iomuxc { 142270866Simp imx51-eukrea { 143270866Simp pinctrl_audmux: audmuxgrp { 144270866Simp fsl,pins = < 145270866Simp MX51_PAD_AUD3_BB_TXD__AUD3_TXD 0x80000000 146270866Simp MX51_PAD_AUD3_BB_RXD__AUD3_RXD 0x80000000 147270866Simp MX51_PAD_AUD3_BB_CK__AUD3_TXC 0x80000000 148270866Simp MX51_PAD_AUD3_BB_FS__AUD3_TXFS 0x80000000 149270866Simp >; 150270866Simp }; 151270866Simp 152270866Simp 153270866Simp pinctrl_can: cangrp { 154270866Simp fsl,pins = < 155270866Simp MX51_PAD_CSI2_PIXCLK__GPIO4_15 0x80000000 /* nReset */ 156270866Simp MX51_PAD_GPIO1_1__GPIO1_1 0x80000000 /* IRQ */ 157270866Simp >; 158270866Simp }; 159270866Simp 160270866Simp pinctrl_ecspi1: ecspi1grp { 161270866Simp fsl,pins = < 162270866Simp MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185 163270866Simp MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185 164270866Simp MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185 165270866Simp MX51_PAD_CSPI1_SS0__GPIO4_24 0x80000000 /* CS0 */ 166270866Simp >; 167270866Simp }; 168270866Simp 169270866Simp pinctrl_esdhc1: esdhc1grp { 170270866Simp fsl,pins = < 171270866Simp MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5 172270866Simp MX51_PAD_SD1_CLK__SD1_CLK 0x20d5 173270866Simp MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5 174270866Simp MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5 175270866Simp MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5 176270866Simp MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5 177270866Simp >; 178270866Simp }; 179270866Simp 180270866Simp pinctrl_uart1: uart1grp { 181270866Simp fsl,pins = < 182270866Simp MX51_PAD_UART1_RXD__UART1_RXD 0x1c5 183270866Simp MX51_PAD_UART1_TXD__UART1_TXD 0x1c5 184270866Simp >; 185270866Simp }; 186270866Simp 187270866Simp pinctrl_uart3: uart3grp { 188270866Simp fsl,pins = < 189270866Simp MX51_PAD_UART3_RXD__UART3_RXD 0x1c5 190270866Simp MX51_PAD_UART3_TXD__UART3_TXD 0x1c5 191270866Simp >; 192270866Simp }; 193270866Simp 194270866Simp pinctrl_uart3_rtscts: uart3rtsctsgrp { 195270866Simp fsl,pins = < 196270866Simp MX51_PAD_KEY_COL4__UART3_RTS 0x1c5 197270866Simp MX51_PAD_KEY_COL5__UART3_CTS 0x1c5 198270866Simp >; 199270866Simp }; 200270866Simp 201270866Simp pinctrl_backlight_1: backlightgrp-1 { 202270866Simp fsl,pins = < 203270866Simp MX51_PAD_DI1_D1_CS__GPIO3_4 0x1f5 204270866Simp >; 205270866Simp }; 206270866Simp 207270866Simp pinctrl_esdhc1_cd: esdhc1_cd { 208270866Simp fsl,pins = < 209270866Simp MX51_PAD_GPIO1_0__GPIO1_0 0xd5 210270866Simp >; 211270866Simp }; 212270866Simp 213270866Simp pinctrl_gpiokeys_1: gpiokeysgrp-1 { 214270866Simp fsl,pins = < 215270866Simp MX51_PAD_NANDF_D9__GPIO3_31 0x1f5 216270866Simp >; 217270866Simp }; 218270866Simp 219270866Simp pinctrl_gpioled: gpioledgrp-1 { 220270866Simp fsl,pins = < 221270866Simp MX51_PAD_NANDF_D10__GPIO3_30 0x80000000 222270866Simp >; 223270866Simp }; 224270866Simp 225270866Simp pinctrl_reg_lcd_3v3: reg_lcd_3v3 { 226270866Simp fsl,pins = < 227270866Simp MX51_PAD_CSI1_D9__GPIO3_13 0x1f5 228270866Simp >; 229270866Simp }; 230270866Simp 231270866Simp pinctrl_usbh1: usbh1grp { 232270866Simp fsl,pins = < 233270866Simp MX51_PAD_USBH1_CLK__USBH1_CLK 0x1e5 234270866Simp MX51_PAD_USBH1_DIR__USBH1_DIR 0x1e5 235270866Simp MX51_PAD_USBH1_NXT__USBH1_NXT 0x1e5 236270866Simp MX51_PAD_USBH1_DATA0__USBH1_DATA0 0x1e5 237270866Simp MX51_PAD_USBH1_DATA1__USBH1_DATA1 0x1e5 238270866Simp MX51_PAD_USBH1_DATA2__USBH1_DATA2 0x1e5 239270866Simp MX51_PAD_USBH1_DATA3__USBH1_DATA3 0x1e5 240270866Simp MX51_PAD_USBH1_DATA4__USBH1_DATA4 0x1e5 241270866Simp MX51_PAD_USBH1_DATA5__USBH1_DATA5 0x1e5 242270866Simp MX51_PAD_USBH1_DATA6__USBH1_DATA6 0x1e5 243270866Simp MX51_PAD_USBH1_DATA7__USBH1_DATA7 0x1e5 244270866Simp MX51_PAD_USBH1_STP__USBH1_STP 0x1e5 245270866Simp >; 246270866Simp }; 247270866Simp 248270866Simp pinctrl_usbh1_vbus: usbh1-vbusgrp { 249270866Simp fsl,pins = < 250270866Simp MX51_PAD_EIM_CS3__GPIO2_28 0x1f5 251270866Simp >; 252270866Simp }; 253270866Simp }; 254270866Simp}; 255270866Simp 256270866Simp&ssi2 { 257270866Simp codec-handle = <&tlv320aic23>; 258270866Simp status = "okay"; 259270866Simp}; 260270866Simp 261270866Simp&uart1 { 262270866Simp pinctrl-names = "default"; 263270866Simp pinctrl-0 = <&pinctrl_uart1>; 264270866Simp fsl,uart-has-rtscts; 265270866Simp status = "okay"; 266270866Simp}; 267270866Simp 268270866Simp&uart3 { 269270866Simp pinctrl-names = "default"; 270270866Simp pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_rtscts>; 271270866Simp fsl,uart-has-rtscts; 272270866Simp status = "okay"; 273270866Simp}; 274270866Simp 275270866Simp&usbh1 { 276270866Simp pinctrl-names = "default"; 277270866Simp pinctrl-0 = <&pinctrl_usbh1>; 278270866Simp fsl,usbphy = <&usbh1phy>; 279270866Simp dr_mode = "host"; 280270866Simp phy_type = "ulpi"; 281270866Simp status = "okay"; 282270866Simp}; 283270866Simp 284270866Simp&usbotg { 285270866Simp dr_mode = "otg"; 286270866Simp phy_type = "utmi_wide"; 287270866Simp status = "okay"; 288270866Simp}; 289270866Simp 290270866Simp&usbphy0 { 291270866Simp pinctrl-names = "default"; 292270866Simp pinctrl-0 = <&pinctrl_usbh1_vbus>; 293270866Simp reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; 294270866Simp}; 295