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 485"; 14 compatible = "i2se,duckbill-2-485", "i2se,duckbill-2", "fsl,imx28"; 15 16 memory@40000000 { 17 device_type = "memory"; 18 reg = <0x40000000 0x08000000>; 19 }; 20 21 apb@80000000 { 22 apbh@80000000 { 23 ssp0: spi@80010000 { 24 compatible = "fsl,imx28-mmc"; 25 pinctrl-names = "default"; 26 pinctrl-0 = <&mmc0_8bit_pins_a 27 &mmc0_cd_cfg &mmc0_sck_cfg>; 28 bus-width = <8>; 29 vmmc-supply = <®_3p3v>; 30 status = "okay"; 31 non-removable; 32 }; 33 34 ssp2: spi@80014000 { 35 compatible = "fsl,imx28-mmc"; 36 pinctrl-names = "default"; 37 pinctrl-0 = <&mmc2_4bit_pins_b 38 &mmc2_cd_cfg &mmc2_sck_cfg_b>; 39 bus-width = <4>; 40 vmmc-supply = <®_3p3v>; 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_GPMI_ALE__GPIO_0_26 /* 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 mac0_phy_int_pin: mac0-phy-int@0 { 69 reg = <0>; 70 fsl,pinmux-ids = < 71 MX28_PAD_GPMI_D07__GPIO_0_7 /* PHY Interrupt */ 72 >; 73 fsl,drive-strength = <MXS_DRIVE_4mA>; 74 fsl,voltage = <MXS_VOLTAGE_HIGH>; 75 fsl,pull-up = <MXS_PULL_DISABLE>; 76 }; 77 78 led_pins: leds@0 { 79 reg = <0>; 80 fsl,pinmux-ids = < 81 MX28_PAD_SAIF0_MCLK__GPIO_3_20 82 MX28_PAD_SAIF0_LRCLK__GPIO_3_21 83 MX28_PAD_I2C0_SCL__GPIO_3_24 84 MX28_PAD_I2C0_SDA__GPIO_3_25 85 >; 86 fsl,drive-strength = <MXS_DRIVE_4mA>; 87 fsl,voltage = <MXS_VOLTAGE_HIGH>; 88 fsl,pull-up = <MXS_PULL_DISABLE>; 89 }; 90 }; 91 }; 92 93 apbx@80040000 { 94 lradc@80050000 { 95 status = "okay"; 96 }; 97 98 auart0: serial@8006a000 { 99 pinctrl-names = "default"; 100 pinctrl-0 = <&auart0_2pins_a>; 101 status = "okay"; 102 }; 103 104 duart: serial@80074000 { 105 pinctrl-names = "default"; 106 pinctrl-0 = <&duart_pins_a>; 107 status = "okay"; 108 }; 109 110 usbphy0: usbphy@8007c000 { 111 status = "okay"; 112 }; 113 }; 114 }; 115 116 ahb@80080000 { 117 usb0: usb@80080000 { 118 status = "okay"; 119 dr_mode = "peripheral"; 120 }; 121 122 mac0: ethernet@800f0000 { 123 phy-mode = "rmii"; 124 pinctrl-names = "default"; 125 pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 126 phy-supply = <®_3p3v>; 127 phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; 128 phy-reset-duration = <25>; 129 phy-handle = <ðphy>; 130 status = "okay"; 131 132 mdio { 133 #address-cells = <1>; 134 #size-cells = <0>; 135 136 ethphy: ethernet-phy@0 { 137 compatible = "ethernet-phy-ieee802.3-c22"; 138 reg = <0>; 139 pinctrl-names = "default"; 140 pinctrl-0 = <&mac0_phy_int_pin>; 141 interrupt-parent = <&gpio0>; 142 interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 143 max-speed = <100>; 144 }; 145 }; 146 }; 147 }; 148 149 reg_3p3v: regulator-3p3v { 150 compatible = "regulator-fixed"; 151 regulator-name = "3P3V"; 152 regulator-min-microvolt = <3300000>; 153 regulator-max-microvolt = <3300000>; 154 regulator-always-on; 155 }; 156 157 leds { 158 compatible = "gpio-leds"; 159 pinctrl-names = "default"; 160 pinctrl-0 = <&led_pins>; 161 162 status-red { 163 label = "duckbill:red:status"; 164 gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; 165 linux,default-trigger = "default-on"; 166 }; 167 168 status-green { 169 label = "duckbill:green:status"; 170 gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>; 171 linux,default-trigger = "heartbeat"; 172 }; 173 174 rs485-red { 175 label = "duckbill:red:rs485"; 176 gpios = <&gpio3 24 GPIO_ACTIVE_LOW>; 177 }; 178 179 rs485-green { 180 label = "duckbill:green:rs485"; 181 gpios = <&gpio3 25 GPIO_ACTIVE_LOW>; 182 }; 183 }; 184}; 185