1/* 2 * Copyright (C) 2015-2017 I2SE GmbH <info@i2se.com> 3 * Copyright (C) 2016 Michael Heimpold <mhei@heimpold.de> 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/interrupt-controller/irq.h> 15#include <dt-bindings/gpio/gpio.h> 16#include "imx28.dtsi" 17 18/ { 19 model = "I2SE Duckbill 2"; 20 compatible = "i2se,duckbill-2", "fsl,imx28"; 21 22 memory@40000000 { 23 reg = <0x40000000 0x08000000>; 24 }; 25 26 apb@80000000 { 27 apbh@80000000 { 28 ssp0: ssp@80010000 { 29 compatible = "fsl,imx28-mmc"; 30 pinctrl-names = "default"; 31 pinctrl-0 = <&mmc0_8bit_pins_a 32 &mmc0_cd_cfg &mmc0_sck_cfg>; 33 bus-width = <8>; 34 vmmc-supply = <®_3p3v>; 35 status = "okay"; 36 non-removable; 37 }; 38 39 ssp2: ssp@80014000 { 40 compatible = "fsl,imx28-mmc"; 41 pinctrl-names = "default"; 42 pinctrl-0 = <&mmc2_4bit_pins_b 43 &mmc2_cd_cfg &mmc2_sck_cfg_b>; 44 bus-width = <4>; 45 vmmc-supply = <®_3p3v>; 46 status = "okay"; 47 }; 48 49 pinctrl@80018000 { 50 pinctrl-names = "default"; 51 pinctrl-0 = <&hog_pins_a>; 52 53 hog_pins_a: hog@0 { 54 reg = <0>; 55 fsl,pinmux-ids = < 56 MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */ 57 >; 58 fsl,drive-strength = <MXS_DRIVE_4mA>; 59 fsl,voltage = <MXS_VOLTAGE_HIGH>; 60 fsl,pull-up = <MXS_PULL_DISABLE>; 61 }; 62 63 mac0_phy_reset_pin: mac0-phy-reset@0 { 64 reg = <0>; 65 fsl,pinmux-ids = < 66 MX28_PAD_GPMI_ALE__GPIO_0_26 /* PHY Reset */ 67 >; 68 fsl,drive-strength = <MXS_DRIVE_4mA>; 69 fsl,voltage = <MXS_VOLTAGE_HIGH>; 70 fsl,pull-up = <MXS_PULL_DISABLE>; 71 }; 72 73 mac0_phy_int_pin: mac0-phy-int@0 { 74 reg = <0>; 75 fsl,pinmux-ids = < 76 MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */ 77 >; 78 fsl,drive-strength = <MXS_DRIVE_4mA>; 79 fsl,voltage = <MXS_VOLTAGE_HIGH>; 80 fsl,pull-up = <MXS_PULL_DISABLE>; 81 }; 82 83 led_pins: leds@0 { 84 reg = <0>; 85 fsl,pinmux-ids = < 86 MX28_PAD_SAIF0_MCLK__GPIO_3_20 87 MX28_PAD_SAIF0_LRCLK__GPIO_3_21 88 >; 89 fsl,drive-strength = <MXS_DRIVE_4mA>; 90 fsl,voltage = <MXS_VOLTAGE_HIGH>; 91 fsl,pull-up = <MXS_PULL_DISABLE>; 92 }; 93 }; 94 }; 95 96 apbx@80040000 { 97 lradc@80050000 { 98 status = "okay"; 99 }; 100 101 i2c0: i2c@80058000 { 102 pinctrl-names = "default"; 103 pinctrl-0 = <&i2c0_pins_a>; 104 status = "okay"; 105 }; 106 107 auart0: serial@8006a000 { 108 pinctrl-names = "default"; 109 pinctrl-0 = <&auart0_2pins_a>; 110 status = "okay"; 111 }; 112 113 duart: serial@80074000 { 114 pinctrl-names = "default"; 115 pinctrl-0 = <&duart_pins_a>; 116 status = "okay"; 117 }; 118 119 usbphy0: usbphy@8007c000 { 120 status = "okay"; 121 }; 122 }; 123 }; 124 125 ahb@80080000 { 126 usb0: usb@80080000 { 127 status = "okay"; 128 dr_mode = "peripheral"; 129 }; 130 131 mac0: ethernet@800f0000 { 132 phy-mode = "rmii"; 133 pinctrl-names = "default"; 134 pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 135 phy-supply = <®_3p3v>; 136 phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; 137 phy-reset-duration = <25>; 138 phy-handle = <ðphy>; 139 status = "okay"; 140 141 mdio { 142 #address-cells = <1>; 143 #size-cells = <0>; 144 145 ethphy: ethernet-phy@0 { 146 compatible = "ethernet-phy-ieee802.3-c22"; 147 reg = <0>; 148 pinctrl-names = "default"; 149 pinctrl-0 = <&mac0_phy_int_pin>; 150 interrupt-parent = <&gpio0>; 151 interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 152 max-speed = <100>; 153 }; 154 }; 155 }; 156 }; 157 158 reg_3p3v: regulator-3p3v { 159 compatible = "regulator-fixed"; 160 regulator-name = "3P3V"; 161 regulator-min-microvolt = <3300000>; 162 regulator-max-microvolt = <3300000>; 163 regulator-always-on; 164 }; 165 166 leds { 167 compatible = "gpio-leds"; 168 pinctrl-names = "default"; 169 pinctrl-0 = <&led_pins>; 170 171 status-red { 172 label = "duckbill:red:status"; 173 gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; 174 linux,default-trigger = "default-on"; 175 }; 176 177 status-green { 178 label = "duckbill:green:status"; 179 gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>; 180 linux,default-trigger = "heartbeat"; 181 }; 182 }; 183}; 184