1/* 2 * Copyright (C) 2013-2014,2016 Michael Heimpold <mhei@heimpold.de> 3 * Copyright (C) 2015-2017 I2SE GmbH <info@i2se.com> 4 * 5 * The code contained herein is licensed under the GNU General Public 6 * License. You may obtain a copy of the GNU General Public License 7 * Version 2 or later at the following locations: 8 * 9 * http://www.opensource.org/licenses/gpl-license.html 10 * http://www.gnu.org/copyleft/gpl.html 11 */ 12 13/dts-v1/; 14#include <dt-bindings/gpio/gpio.h> 15#include "imx28.dtsi" 16 17/ { 18 model = "I2SE Duckbill"; 19 compatible = "i2se,duckbill", "fsl,imx28"; 20 21 memory@40000000 { 22 reg = <0x40000000 0x08000000>; 23 }; 24 25 apb@80000000 { 26 apbh@80000000 { 27 ssp0: ssp@80010000 { 28 compatible = "fsl,imx28-mmc"; 29 pinctrl-names = "default"; 30 pinctrl-0 = <&mmc0_4bit_pins_a 31 &mmc0_cd_cfg &mmc0_sck_cfg>; 32 bus-width = <4>; 33 vmmc-supply = <®_3p3v>; 34 status = "okay"; 35 }; 36 37 ssp2: ssp@80014000 { 38 compatible = "fsl,imx28-spi"; 39 pinctrl-names = "default"; 40 pinctrl-0 = <&spi2_pins_a>; 41 status = "okay"; 42 }; 43 44 pinctrl@80018000 { 45 pinctrl-names = "default"; 46 pinctrl-0 = <&hog_pins_a>; 47 48 hog_pins_a: hog@0 { 49 reg = <0>; 50 fsl,pinmux-ids = < 51 MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */ 52 >; 53 fsl,drive-strength = <MXS_DRIVE_4mA>; 54 fsl,voltage = <MXS_VOLTAGE_HIGH>; 55 fsl,pull-up = <MXS_PULL_DISABLE>; 56 }; 57 58 mac0_phy_reset_pin: mac0-phy-reset@0 { 59 reg = <0>; 60 fsl,pinmux-ids = < 61 MX28_PAD_SSP0_DATA7__GPIO_2_7 /* PHY Reset */ 62 >; 63 fsl,drive-strength = <MXS_DRIVE_4mA>; 64 fsl,voltage = <MXS_VOLTAGE_HIGH>; 65 fsl,pull-up = <MXS_PULL_DISABLE>; 66 }; 67 68 led_pins: leds@0 { 69 reg = <0>; 70 fsl,pinmux-ids = < 71 MX28_PAD_AUART1_RX__GPIO_3_4 72 MX28_PAD_AUART1_TX__GPIO_3_5 73 >; 74 fsl,drive-strength = <MXS_DRIVE_4mA>; 75 fsl,voltage = <MXS_VOLTAGE_HIGH>; 76 fsl,pull-up = <MXS_PULL_DISABLE>; 77 }; 78 }; 79 }; 80 81 apbx@80040000 { 82 lradc@80050000 { 83 status = "okay"; 84 }; 85 86 i2c0: i2c@80058000 { 87 pinctrl-names = "default"; 88 pinctrl-0 = <&i2c0_pins_a>; 89 status = "okay"; 90 }; 91 92 auart0: serial@8006a000 { 93 pinctrl-names = "default"; 94 pinctrl-0 = <&auart0_2pins_a>; 95 status = "okay"; 96 }; 97 98 duart: serial@80074000 { 99 pinctrl-names = "default"; 100 pinctrl-0 = <&duart_pins_a>; 101 status = "okay"; 102 }; 103 104 usbphy0: usbphy@8007c000 { 105 status = "okay"; 106 }; 107 }; 108 }; 109 110 ahb@80080000 { 111 usb0: usb@80080000 { 112 status = "okay"; 113 dr_mode = "peripheral"; 114 }; 115 116 mac0: ethernet@800f0000 { 117 phy-mode = "rmii"; 118 pinctrl-names = "default"; 119 pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 120 phy-supply = <®_3p3v>; 121 phy-reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>; 122 phy-reset-duration = <25>; 123 status = "okay"; 124 }; 125 }; 126 127 reg_3p3v: regulator-3p3v { 128 compatible = "regulator-fixed"; 129 regulator-name = "3P3V"; 130 regulator-min-microvolt = <3300000>; 131 regulator-max-microvolt = <3300000>; 132 regulator-always-on; 133 }; 134 135 leds { 136 compatible = "gpio-leds"; 137 pinctrl-names = "default"; 138 pinctrl-0 = <&led_pins>; 139 140 status-red { 141 label = "duckbill:red:status"; 142 gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>; 143 linux,default-trigger = "default-on"; 144 }; 145 146 status-green { 147 label = "duckbill:green:status"; 148 gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>; 149 linux,default-trigger = "heartbeat"; 150 }; 151 }; 152}; 153