Merge pull request #4269 from vpeter4/udoo_dual_1

projects/imx6/patches/linux: add udoo dual device tree
This commit is contained in:
Stephan Raue 2015-08-09 17:14:16 +02:00
commit 7e549953fe
3 changed files with 392 additions and 250 deletions

View File

@ -55,7 +55,7 @@
KERNEL_UBOOT_EXTRA_TARGET="imx6q-cubox-i.dtb imx6dl-cubox-i.dtb" KERNEL_UBOOT_EXTRA_TARGET="imx6q-cubox-i.dtb imx6dl-cubox-i.dtb"
KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-hummingboard.dtb imx6dl-hummingboard.dtb" KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-hummingboard.dtb imx6dl-hummingboard.dtb"
KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-tbs2910.dtb" KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-tbs2910.dtb"
KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-udoo.dtb" KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-udoo.dtb imx6dl-udoo.dtb"
# Additional kernel make parameters (for example to specify the u-boot loadaddress) # Additional kernel make parameters (for example to specify the u-boot loadaddress)
KERNEL_MAKE_EXTRACMD="" KERNEL_MAKE_EXTRACMD=""

View File

@ -1,35 +1,171 @@
From 2d08dc140cc5a0db518984a558ae31779ad65ca0 Mon Sep 17 00:00:00 2001 From 688b8f753a832b63f8933cd65486692f8e9abe76 Mon Sep 17 00:00:00 2001
From: vpeter4 <peter.vicman@gmail.com> From: Peter Vicman <peter.vicman@gmail.com>
Date: Thu, 18 Jun 2015 05:33:23 +0200 Date: Fri, 7 Aug 2015 14:14:37 +0200
Subject: [PATCH] udoo quad device tree Subject: [PATCH] udoo device tree
--- ---
arch/arm/boot/dts/imx6q-udoo.dts | 452 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- arch/arm/boot/dts/imx6dl-udoo.dts | 23 ++
1 file changed, 446 insertions(+), 6 deletions(-) arch/arm/boot/dts/imx6q-udoo.dts | 76 +------
arch/arm/boot/dts/imx6qdl-udoo.dtsi | 443 ++++++++++++++++++++++++++++++++++++
3 files changed, 471 insertions(+), 71 deletions(-)
create mode 100644 arch/arm/boot/dts/imx6dl-udoo.dts
create mode 100644 arch/arm/boot/dts/imx6qdl-udoo.dtsi
diff --git a/arch/arm/boot/dts/imx6q-udoo.dts b/arch/arm/boot/dts/imx6q-udoo.dts diff --git a/arch/arm/boot/dts/imx6dl-udoo.dts b/arch/arm/boot/dts/imx6dl-udoo.dts
index 7cc0267..26e56af 100644 new file mode 100644
--- a/arch/arm/boot/dts/imx6q-udoo.dts index 0000000..45b33fc
+++ b/arch/arm/boot/dts/imx6q-udoo.dts --- /dev/null
@@ -2,6 +2,10 @@ +++ b/arch/arm/boot/dts/imx6dl-udoo.dts
* Copyright 2013 Freescale Semiconductor, Inc. @@ -0,0 +1,23 @@
* +/*
* Author: Fabio Estevam <fabio.estevam@freescale.com> + * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * Author: Fabio Estevam <fabio.estevam@freescale.com>
+ * + *
+ * Copyright (C) 2014 Jasbir + * Copyright (C) 2014 Jasbir
+ * Copyright (C) 2014 udoo team + * Copyright (C) 2014 udoo team
+ * Copyright (C) 2014 vpeter + * Copyright (C) 2014 vpeter
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+/dts-v1/;
+#include "imx6dl.dtsi"
+#include "imx6qdl-udoo.dtsi"
+
+/ {
+ model = "Udoo i.MX6 Dual-lite Board";
+ compatible = "udoo,imx6dl-udoo", "fsl,imx6dl";
+};
diff --git a/arch/arm/boot/dts/imx6q-udoo.dts b/arch/arm/boot/dts/imx6q-udoo.dts
index 7cc0267..b4cd8d6 100644
--- a/arch/arm/boot/dts/imx6q-udoo.dts
+++ b/arch/arm/boot/dts/imx6q-udoo.dts
@@ -3,6 +3,10 @@
* *
* Author: Fabio Estevam <fabio.estevam@freescale.com>
*
+ * Copyright (C) 2014 Jasbir
+ * Copyright (C) 2014 udoo team
+ * Copyright (C) 2014 vpeter
+ *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
@@ -17,12 +21,220 @@ * published by the Free Software Foundation.
compatible = "udoo,imx6q-udoo", "fsl,imx6q"; @@ -11,83 +15,13 @@
chosen { /dts-v1/;
#include "imx6q.dtsi"
+#include "imx6qdl-udoo.dtsi"
/ {
model = "Udoo i.MX6 Quad Board";
compatible = "udoo,imx6q-udoo", "fsl,imx6q";
-
- chosen {
- stdout-path = &uart2; - stdout-path = &uart2;
+ stdout-path = &uart1; - };
-
- memory {
- reg = <0x10000000 0x40000000>;
- };
-};
-
-&fec {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_enet>;
- phy-mode = "rgmii";
- status = "okay";
-};
-
-&iomuxc {
- imx6q-udoo {
- pinctrl_enet: enetgrp {
- fsl,pins = <
- MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
- MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
- MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
- MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
- MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
- MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
- MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
- MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
- MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
- MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
- MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
- MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
- MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
- MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
- MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
- MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
- >;
- };
-
- pinctrl_uart2: uart2grp {
- fsl,pins = <
- MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
- MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
- >;
- };
-
- pinctrl_usdhc3: usdhc3grp {
- fsl,pins = <
- MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
- MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
- MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
- MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
- MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
- MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
- >;
- };
- };
}; };
&sata {
status = "okay";
};
-
-&uart2 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart2>;
- status = "okay";
-};
-
-&usdhc3 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_usdhc3>;
- non-removable;
- status = "okay";
-};
diff --git a/arch/arm/boot/dts/imx6qdl-udoo.dtsi b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
new file mode 100644
index 0000000..f9ce5ca
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
@@ -0,0 +1,443 @@
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * Author: Fabio Estevam <fabio.estevam@freescale.com>
+ *
+ * Copyright (C) 2014 Jasbir
+ * Copyright (C) 2014 udoo team
+ * Copyright (C) 2014 vpeter
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+/ {
+ chosen {
+ stdout-path = &uart1;
+ };
+
+ aliases { + aliases {
+ mxcfb0 = &mxcfb1; + mxcfb0 = &mxcfb1;
+ mxcfb1 = &mxcfb2; + mxcfb1 = &mxcfb2;
@ -38,9 +174,9 @@ index 7cc0267..26e56af 100644
+ ssi0 = &ssi1; + ssi0 = &ssi1;
+ }; + };
+ +
memory { + memory {
reg = <0x10000000 0x40000000>; + reg = <0x10000000 0x40000000>;
}; + };
+ +
+ regulators { + regulators {
+ compatible = "simple-bus"; + compatible = "simple-bus";
@ -241,18 +377,20 @@ index 7cc0267..26e56af 100644
+ lcd_panel_on_gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>; + lcd_panel_on_gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ lcd_backlight_gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>; + lcd_backlight_gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+ }; + };
}; +};
+
&fec { +&fec {
@@ -33,9 +245,62 @@ + pinctrl-names = "default";
}; + pinctrl-0 = <&pinctrl_enet>;
+ phy-mode = "rgmii";
&iomuxc { + status = "okay";
+};
+
+&iomuxc {
+ pinctrl-names = "default"; + pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hog>; + pinctrl-0 = <&pinctrl_hog>;
+ +
imx6q-udoo { + imx6q-udoo {
- pinctrl_enet: enetgrp {
+ pinctrl_hog: hoggrp { + pinctrl_hog: hoggrp {
+ fsl,pins = < + fsl,pins = <
+ MX6QDL_PAD_NANDF_D4__GPIO2_IO04 0x80000000 /* 5v enable */ + MX6QDL_PAD_NANDF_D4__GPIO2_IO04 0x80000000 /* 5v enable */
@ -297,7 +435,7 @@ index 7cc0267..26e56af 100644
+ }; + };
+ +
+ pinctrl_i2c3_5: i2c3grp-5 { + pinctrl_i2c3_5: i2c3grp-5 {
fsl,pins = < + fsl,pins = <
+ MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1 + MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
+ MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 + MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
+ >; + >;
@ -305,26 +443,32 @@ index 7cc0267..26e56af 100644
+ +
+ pinctrl_enet: enetgrp { + pinctrl_enet: enetgrp {
+ fsl,pins = < + fsl,pins = <
MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0 + MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0 + MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0 + MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
@@ -51,10 +316,10 @@ + MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0 + MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 + MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 + MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
- MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8 + MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
+ MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
+ MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
+ MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
+ MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
+ MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
+ MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
+ MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
+ MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x80000000 /* reset */ + MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x80000000 /* reset */
>; + >;
}; + };
- +
+ pinctrl_uart2: uart2grp {
+ fsl,pins = <
+ MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
+ MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
+ >;
+ };
+ +
pinctrl_uart2: uart2grp {
fsl,pins = <
MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
@@ -62,19 +327,90 @@
>;
};
+ pinctrl_uart4: uart4grp { + pinctrl_uart4: uart4grp {
+ fsl,pins = < + fsl,pins = <
+ MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1 + MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
@ -332,18 +476,16 @@ index 7cc0267..26e56af 100644
+ >; + >;
+ }; + };
+ +
pinctrl_usdhc3: usdhc3grp { + pinctrl_usdhc3: usdhc3grp {
fsl,pins = < + fsl,pins = <
- MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
- MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
>; + >;
}; + };
+ +
+ pinctrl_i2c3_1: i2c3grp-1 { + pinctrl_i2c3_1: i2c3grp-1 {
+ fsl,pins = < + fsl,pins = <
@ -386,9 +528,9 @@ index 7cc0267..26e56af 100644
+ MX6QDL_PAD_DI0_PIN3__GPIO4_IO19 0x80000000 + MX6QDL_PAD_DI0_PIN3__GPIO4_IO19 0x80000000
+ >; + >;
+ }; + };
}; + };
}; +};
+
+&audmux { +&audmux {
+ status = "okay"; + status = "okay";
+}; +};
@ -411,23 +553,22 @@ index 7cc0267..26e56af 100644
+ status = "disabled"; + status = "disabled";
+}; +};
+ +
&sata { +&uart2 {
status = "okay"; + pinctrl-names = "default";
}; + pinctrl-0 = <&pinctrl_uart2>;
@@ -85,9 +421,33 @@ + status = "okay";
status = "okay"; +};
}; +
+&uart4 { /* sam3x port */ +&uart4 { /* sam3x port */
+ pinctrl-names = "default"; + pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart4>; + pinctrl-0 = <&pinctrl_uart4>;
+ status = "okay"; + status = "okay";
+}; +};
+ +
&usdhc3 { +&usdhc3 {
pinctrl-names = "default"; + pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc3>; + pinctrl-0 = <&pinctrl_usdhc3>;
non-removable; + non-removable;
+ keep-power-in-suspend; + keep-power-in-suspend;
+ status = "okay"; + status = "okay";
+}; +};
@ -440,8 +581,8 @@ index 7cc0267..26e56af 100644
+ vbus-supply = <&reg_usb_h1_vbus>; + vbus-supply = <&reg_usb_h1_vbus>;
+ clocks = <&clks 201>; + clocks = <&clks 201>;
+ clock-names = "phy"; + clock-names = "phy";
status = "okay"; + status = "okay";
}; +};
+ +
+&hdmi_cec { +&hdmi_cec {
+ /*pinctrl-names = "default"; + /*pinctrl-names = "default";
@ -450,3 +591,4 @@ index 7cc0267..26e56af 100644
+}; +};
-- --
1.8.1.2 1.8.1.2

View File

@ -675,7 +675,7 @@ index 0000000..3f2c212
+ int int_port, ext_port; + int int_port, ext_port;
+ int ret; + int ret;
+ +
+ if (!of_machine_is_compatible("udoo,imx6q-udoo")) + if (!of_machine_is_compatible("udoo,imx6q-udoo") && !of_machine_is_compatible("udoo,imx6dl-udoo"))
+ return -ENODEV; + return -ENODEV;
+ +
+ if (vt1613_modules_dep_ok) { + if (vt1613_modules_dep_ok) {