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