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