blob: 3e4385d4ed78dee6e0259ea0749dfe04ab535995 [file] [log] [blame]
Michael Heimpolddf0355f2013-11-09 12:14:16 +01001/*
Michael Heimpold768716f2017-02-09 08:42:44 +01002 * Copyright (C) 2013-2014,2016 Michael Heimpold <mhei@heimpold.de>
3 * Copyright (C) 2015-2017 I2SE GmbH <info@i2se.com>
Michael Heimpolddf0355f2013-11-09 12:14:16 +01004 *
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/;
Michael Heimpold768716f2017-02-09 08:42:44 +010014#include <dt-bindings/gpio/gpio.h>
Michael Heimpolddf0355f2013-11-09 12:14:16 +010015#include "imx28.dtsi"
16
17/ {
18 model = "I2SE Duckbill";
19 compatible = "i2se,duckbill", "fsl,imx28";
20
21 memory {
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";
Michael Heimpold6a207702014-03-27 23:51:27 +010030 pinctrl-0 = <&mmc0_4bit_pins_a
Michael Heimpolddf0355f2013-11-09 12:14:16 +010031 &mmc0_cd_cfg &mmc0_sck_cfg>;
Michael Heimpold6a207702014-03-27 23:51:27 +010032 bus-width = <4>;
Michael Heimpolddf0355f2013-11-09 12:14:16 +010033 vmmc-supply = <&reg_3p3v>;
34 status = "okay";
35 };
36
Michael Heimpold768716f2017-02-09 08:42:44 +010037 ssp2: ssp@80014000 {
38 compatible = "fsl,imx28-spi";
39 pinctrl-names = "default";
40 pinctrl-0 = <&spi2_pins_a>;
41 status = "okay";
42 };
43
Michael Heimpolddf0355f2013-11-09 12:14:16 +010044 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 = <
Michael Heimpold768716f2017-02-09 08:42:44 +010051 MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */
Michael Heimpolddf0355f2013-11-09 12:14:16 +010052 >;
53 fsl,drive-strength = <MXS_DRIVE_4mA>;
54 fsl,voltage = <MXS_VOLTAGE_HIGH>;
55 fsl,pull-up = <MXS_PULL_DISABLE>;
56 };
57
Michael Heimpold768716f2017-02-09 08:42:44 +010058 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 {
Michael Heimpolddf0355f2013-11-09 12:14:16 +010069 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 {
Michael Heimpold768716f2017-02-09 08:42:44 +010082 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
Michael Heimpolddf0355f2013-11-09 12:14:16 +010098 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";
Michael Heimpold768716f2017-02-09 08:42:44 +0100113 dr_mode = "peripheral";
Michael Heimpolddf0355f2013-11-09 12:14:16 +0100114 };
115
116 mac0: ethernet@800f0000 {
117 phy-mode = "rmii";
118 pinctrl-names = "default";
Michael Heimpold768716f2017-02-09 08:42:44 +0100119 pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
Michael Heimpolddf0355f2013-11-09 12:14:16 +0100120 phy-supply = <&reg_3p3v>;
Michael Heimpold99d1d682014-03-27 23:51:28 +0100121 phy-reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
Michael Heimpold768716f2017-02-09 08:42:44 +0100122 phy-reset-duration = <25>;
Michael Heimpolddf0355f2013-11-09 12:14:16 +0100123 status = "okay";
124 };
125 };
126
Michael Heimpold768716f2017-02-09 08:42:44 +0100127 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;
Michael Heimpolddf0355f2013-11-09 12:14:16 +0100133 };
134
135 leds {
136 compatible = "gpio-leds";
137 pinctrl-names = "default";
Michael Heimpold768716f2017-02-09 08:42:44 +0100138 pinctrl-0 = <&led_pins>;
Michael Heimpolddf0355f2013-11-09 12:14:16 +0100139
Michael Heimpold768716f2017-02-09 08:42:44 +0100140 status-red {
Michael Heimpolddf0355f2013-11-09 12:14:16 +0100141 label = "duckbill:red:status";
Michael Heimpold457c17e2014-03-27 23:51:30 +0100142 gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>;
Michael Heimpold768716f2017-02-09 08:42:44 +0100143 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";
Michael Heimpolddf0355f2013-11-09 12:14:16 +0100150 };
151 };
152};