0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Copyright (C) 2013-2014,2016 Michael Heimpold <mhei@heimpold.de>
0004 * Copyright (C) 2015-2017 I2SE GmbH <info@i2se.com>
0005 */
0006
0007 /dts-v1/;
0008 #include <dt-bindings/gpio/gpio.h>
0009 #include "imx28.dtsi"
0010
0011 / {
0012 model = "I2SE Duckbill";
0013 compatible = "i2se,duckbill", "fsl,imx28";
0014
0015 memory@40000000 {
0016 device_type = "memory";
0017 reg = <0x40000000 0x08000000>;
0018 };
0019
0020 apb@80000000 {
0021 apbh@80000000 {
0022 ssp0: spi@80010000 {
0023 compatible = "fsl,imx28-mmc";
0024 pinctrl-names = "default";
0025 pinctrl-0 = <&mmc0_4bit_pins_a
0026 &mmc0_cd_cfg &mmc0_sck_cfg>;
0027 bus-width = <4>;
0028 vmmc-supply = <®_3p3v>;
0029 status = "okay";
0030 };
0031
0032 ssp2: spi@80014000 {
0033 compatible = "fsl,imx28-spi";
0034 pinctrl-names = "default";
0035 pinctrl-0 = <&spi2_pins_a>;
0036 status = "okay";
0037 };
0038
0039 pinctrl@80018000 {
0040 pinctrl-names = "default";
0041 pinctrl-0 = <&hog_pins_a>;
0042
0043 hog_pins_a: hog@0 {
0044 reg = <0>;
0045 fsl,pinmux-ids = <
0046 MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */
0047 >;
0048 fsl,drive-strength = <MXS_DRIVE_4mA>;
0049 fsl,voltage = <MXS_VOLTAGE_HIGH>;
0050 fsl,pull-up = <MXS_PULL_DISABLE>;
0051 };
0052
0053 mac0_phy_reset_pin: mac0-phy-reset@0 {
0054 reg = <0>;
0055 fsl,pinmux-ids = <
0056 MX28_PAD_SSP0_DATA7__GPIO_2_7 /* PHY Reset */
0057 >;
0058 fsl,drive-strength = <MXS_DRIVE_4mA>;
0059 fsl,voltage = <MXS_VOLTAGE_HIGH>;
0060 fsl,pull-up = <MXS_PULL_DISABLE>;
0061 };
0062
0063 led_pins: leds@0 {
0064 reg = <0>;
0065 fsl,pinmux-ids = <
0066 MX28_PAD_AUART1_RX__GPIO_3_4
0067 MX28_PAD_AUART1_TX__GPIO_3_5
0068 >;
0069 fsl,drive-strength = <MXS_DRIVE_4mA>;
0070 fsl,voltage = <MXS_VOLTAGE_HIGH>;
0071 fsl,pull-up = <MXS_PULL_DISABLE>;
0072 };
0073 };
0074 };
0075
0076 apbx@80040000 {
0077 lradc@80050000 {
0078 status = "okay";
0079 };
0080
0081 i2c0: i2c@80058000 {
0082 pinctrl-names = "default";
0083 pinctrl-0 = <&i2c0_pins_a>;
0084 status = "okay";
0085 };
0086
0087 auart0: serial@8006a000 {
0088 pinctrl-names = "default";
0089 pinctrl-0 = <&auart0_2pins_a>;
0090 status = "okay";
0091 };
0092
0093 duart: serial@80074000 {
0094 pinctrl-names = "default";
0095 pinctrl-0 = <&duart_pins_a>;
0096 status = "okay";
0097 };
0098
0099 usbphy0: usbphy@8007c000 {
0100 status = "okay";
0101 };
0102 };
0103 };
0104
0105 ahb@80080000 {
0106 usb0: usb@80080000 {
0107 status = "okay";
0108 dr_mode = "peripheral";
0109 };
0110
0111 mac0: ethernet@800f0000 {
0112 phy-mode = "rmii";
0113 pinctrl-names = "default";
0114 pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
0115 phy-supply = <®_3p3v>;
0116 phy-reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
0117 phy-reset-duration = <25>;
0118 status = "okay";
0119 };
0120 };
0121
0122 reg_3p3v: regulator-3p3v {
0123 compatible = "regulator-fixed";
0124 regulator-name = "3P3V";
0125 regulator-min-microvolt = <3300000>;
0126 regulator-max-microvolt = <3300000>;
0127 regulator-always-on;
0128 };
0129
0130 leds {
0131 compatible = "gpio-leds";
0132 pinctrl-names = "default";
0133 pinctrl-0 = <&led_pins>;
0134
0135 status-red {
0136 label = "duckbill:red:status";
0137 gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>;
0138 linux,default-trigger = "default-on";
0139 };
0140
0141 status-green {
0142 label = "duckbill:green:status";
0143 gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>;
0144 linux,default-trigger = "heartbeat";
0145 };
0146 };
0147 };