mxs: add support for I2SE Duckbill devices
Signed-off-by: Michael Heimpold <mhei@heimpold.de> Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38407 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
4f2289e110
commit
c4bccca659
|
@ -0,0 +1,118 @@
|
|||
/*
|
||||
* Copyright (C) 2013 Michael Heimpold <mhei@heimpold.de>
|
||||
*
|
||||
* The code contained herein is licensed under the GNU General Public
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
* Version 2 or later at the following locations:
|
||||
*
|
||||
* http://www.opensource.org/licenses/gpl-license.html
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/include/ "imx28.dtsi"
|
||||
|
||||
/ {
|
||||
model = "I2SE Duckbill";
|
||||
compatible = "i2se,duckbill", "fsl,imx28";
|
||||
|
||||
memory {
|
||||
reg = <0x40000000 0x08000000>;
|
||||
};
|
||||
|
||||
apb@80000000 {
|
||||
apbh@80000000 {
|
||||
ssp0: ssp@80010000 {
|
||||
compatible = "fsl,imx28-mmc";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_8bit_pins_a
|
||||
&mmc0_cd_cfg &mmc0_sck_cfg>;
|
||||
bus-width = <8>;
|
||||
vmmc-supply = <®_3p3v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pinctrl@80018000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hog_pins_a>;
|
||||
|
||||
hog_pins_a: hog@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x40d3 /* MX28_PAD_ENET0_RX_CLK__GPIO_4_13, PHY Reset */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
led_pins_a: led_gpio@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x3003 /* MX28_PAD_AUART0_RX__GPIO_3_0 */
|
||||
0x3013 /* MX28_PAD_AUART0_TX__GPIO_3_1 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
apbx@80040000 {
|
||||
duart: serial@80074000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&duart_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usbphy0: usbphy@8007c000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ahb@80080000 {
|
||||
usb0: usb@80080000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
mac0: ethernet@800f0000 {
|
||||
phy-mode = "rmii";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mac0_pins_a>;
|
||||
phy-supply = <®_3p3v>;
|
||||
phy-reset-gpios = <&gpio4 13 0>;
|
||||
phy-reset-duration = <100>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "simple-bus";
|
||||
|
||||
reg_3p3v: 3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3P3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_a>;
|
||||
|
||||
status {
|
||||
label = "duckbill:green:status";
|
||||
gpios = <&gpio3 0 0>;
|
||||
};
|
||||
|
||||
failure {
|
||||
label = "duckbill:red:status";
|
||||
gpios = <&gpio3 1 0>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -9,7 +9,8 @@ include $(TOPDIR)/rules.mk
|
|||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
BOARDS:= \
|
||||
imx23-olinuxino
|
||||
imx23-olinuxino \
|
||||
imx28-duckbill
|
||||
|
||||
define Image/BuildKernel/olinuxino-bootlet
|
||||
cat $(LINUX_DIR)/arch/arm/boot/zImage $(LINUX_DIR)/arch/arm/boot/dts/imx23-olinuxino.dtb > $(STAGING_DIR)/zImage_dtb
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index f0895c5..3ec78a1 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -131,6 +131,7 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
|
||||
imx28-cfa10037.dtb \
|
||||
imx28-cfa10049.dtb \
|
||||
imx28-evk.dtb \
|
||||
+ imx28-duckbill.dtb \
|
||||
imx28-m28evk.dtb \
|
||||
imx28-sps1.dtb \
|
||||
imx28-tx28.dtb
|
||||
diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c
|
||||
index 5b62b64..63916c5 100644
|
||||
--- a/arch/arm/mach-mxs/mach-mxs.c
|
||||
+++ b/arch/arm/mach-mxs/mach-mxs.c
|
||||
@@ -175,6 +175,7 @@ enum mac_oui {
|
||||
OUI_FSL,
|
||||
OUI_DENX,
|
||||
OUI_CRYSTALFONTZ,
|
||||
+ OUI_I2SE,
|
||||
};
|
||||
|
||||
static void __init update_fec_mac_prop(enum mac_oui oui)
|
||||
@@ -229,6 +230,11 @@ static void __init update_fec_mac_prop(enum mac_oui oui)
|
||||
macaddr[1] = 0xb9;
|
||||
macaddr[2] = 0xe1;
|
||||
break;
|
||||
+ case OUI_I2SE:
|
||||
+ macaddr[0] = 0x00;
|
||||
+ macaddr[1] = 0x01;
|
||||
+ macaddr[2] = 0x87;
|
||||
+ break;
|
||||
}
|
||||
val = ocotp[i];
|
||||
macaddr[3] = (val >> 16) & 0xff;
|
||||
@@ -362,6 +368,11 @@ static void __init cfa10037_init(void)
|
||||
update_fec_mac_prop(OUI_CRYSTALFONTZ);
|
||||
}
|
||||
|
||||
+static void __init duckbill_init(void)
|
||||
+{
|
||||
+ update_fec_mac_prop(OUI_I2SE);
|
||||
+}
|
||||
+
|
||||
static void __init mxs_machine_init(void)
|
||||
{
|
||||
if (of_machine_is_compatible("fsl,imx28-evk"))
|
||||
@@ -372,6 +383,8 @@ static void __init mxs_machine_init(void)
|
||||
cfa10037_init();
|
||||
else if (of_machine_is_compatible("crystalfontz,cfa10049"))
|
||||
cfa10049_init();
|
||||
+ else if (of_machine_is_compatible("i2se,duckbill"))
|
||||
+ duckbill_init();
|
||||
|
||||
of_platform_populate(NULL, of_default_bus_match_table,
|
||||
mxs_auxdata_lookup, NULL);
|
|
@ -0,0 +1,20 @@
|
|||
#
|
||||
# Copyright (C) 2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/duckbill
|
||||
NAME:=I2SE Duckbill series
|
||||
DEPENDS:=+@TARGET_ROOTFS_INCLUDE_KERNEL +@TARGET_ROOTFS_INCLUDE_DTB
|
||||
PACKAGES+= \
|
||||
-dnsmasq -firewall -ppp -ip6tables -iptables -6relayd -mtd uboot-envtools \
|
||||
kmod-leds-gpio kmod-ledtrig-timer kmod-usb-mxs-phy -kmod-ipt-nathelper
|
||||
endef
|
||||
|
||||
define Profile/duckbill/Description
|
||||
I2SE's Duckbill devices
|
||||
endef
|
||||
|
||||
$(eval $(call Profile,duckbill))
|
Loading…
Reference in New Issue