imx28-duckbill-2.dts (3950B)
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 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 >; 84 fsl,drive-strength = <MXS_DRIVE_4mA>; 85 fsl,voltage = <MXS_VOLTAGE_HIGH>; 86 fsl,pull-up = <MXS_PULL_DISABLE>; 87 }; 88 }; 89 }; 90 91 apbx@80040000 { 92 lradc@80050000 { 93 status = "okay"; 94 }; 95 96 i2c0: i2c@80058000 { 97 pinctrl-names = "default"; 98 pinctrl-0 = <&i2c0_pins_a>; 99 status = "okay"; 100 }; 101 102 auart0: serial@8006a000 { 103 pinctrl-names = "default"; 104 pinctrl-0 = <&auart0_2pins_a>; 105 status = "okay"; 106 }; 107 108 duart: serial@80074000 { 109 pinctrl-names = "default"; 110 pinctrl-0 = <&duart_pins_a>; 111 status = "okay"; 112 }; 113 114 usbphy0: usbphy@8007c000 { 115 status = "okay"; 116 }; 117 }; 118 }; 119 120 ahb@80080000 { 121 usb0: usb@80080000 { 122 status = "okay"; 123 dr_mode = "peripheral"; 124 }; 125 126 mac0: ethernet@800f0000 { 127 phy-mode = "rmii"; 128 pinctrl-names = "default"; 129 pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>; 130 phy-supply = <®_3p3v>; 131 phy-reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; 132 phy-reset-duration = <25>; 133 phy-handle = <ðphy>; 134 status = "okay"; 135 136 mdio { 137 #address-cells = <1>; 138 #size-cells = <0>; 139 140 ethphy: ethernet-phy@0 { 141 compatible = "ethernet-phy-ieee802.3-c22"; 142 reg = <0>; 143 pinctrl-names = "default"; 144 pinctrl-0 = <&mac0_phy_int_pin>; 145 interrupt-parent = <&gpio0>; 146 interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 147 max-speed = <100>; 148 }; 149 }; 150 }; 151 }; 152 153 reg_3p3v: regulator-3p3v { 154 compatible = "regulator-fixed"; 155 regulator-name = "3P3V"; 156 regulator-min-microvolt = <3300000>; 157 regulator-max-microvolt = <3300000>; 158 regulator-always-on; 159 }; 160 161 leds { 162 compatible = "gpio-leds"; 163 pinctrl-names = "default"; 164 pinctrl-0 = <&led_pins>; 165 166 status-red { 167 label = "duckbill:red:status"; 168 gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; 169 linux,default-trigger = "default-on"; 170 }; 171 172 status-green { 173 label = "duckbill:green:status"; 174 gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>; 175 linux,default-trigger = "heartbeat"; 176 }; 177 }; 178};