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
|
include $(INCLUDE_DIR)/image.mk
|
||||||
|
|
||||||
BOARDS:= \
|
BOARDS:= \
|
||||||
imx23-olinuxino
|
imx23-olinuxino \
|
||||||
|
imx28-duckbill
|
||||||
|
|
||||||
define Image/BuildKernel/olinuxino-bootlet
|
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
|
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