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