From f6b3c09ebbfe490a18e225b01a9b837da36c9b4f Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Sat, 16 Apr 2022 15:51:07 +0800
Subject: [PATCH] update qt5 build shell script to QT5.6.3

---
 /dev/null                                                   |  160 --------------
 3rdparty/qt5/build.sh                                       |  110 ++++++++++
 3rdparty/qt5/patch/qt-everywhere-opensource-src-5.6.3.patch |   22 ++
 bsp/kernel/patch/linux-imx-igkboard.patch                   |  349 +++++++++++++-----------------
 4 files changed, 284 insertions(+), 357 deletions(-)

diff --git a/3rdparty/QT5/build_QT5.sh b/3rdparty/QT5/build_QT5.sh
deleted file mode 100755
index 0df4fdb..0000000
--- a/3rdparty/QT5/build_QT5.sh
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/bin/bash
-
-#+--------------------------------------------------------------------------------------------
-#|Description:  This shell script used download and compile QT5 for ARM
-#|     Author:  GuoWenxue <guowenxue@gmail.com>
-#|
-#|   WARNNING:  QT >= 5.7 need crosstool g++ support C++11 support
-#|              QT configure need host g++ support C++11, so need config g++ on ubuntu host:
-#|              sudo update-alternatives --config g++
-#|
-#|   Download:  Official download address:  https://download.qt.io/archive/qt/5.9/5.9.8/
-#|
-#|
-#|  ChangeLog:
-#|           1, Initialize 1.0.0 on 2011.04.12
-#+--------------------------------------------------------------------------------------------
-
-
-JOBS=`cat /proc/cpuinfo |grep "processor"|wc -l`
-PRJ_PATH=`pwd`
-LIBS_PATH=$PRJ_PATH/../install
-
-PREFIX_PATH=`pwd`/../install/
-QT_INST_PATH=/apps/QT5.9_A7
-
-LYFTP_SRC=ftp://master.iot-yun.club/src/
-
-CROSSTOOL=/opt/buildroot/cortexA7/bin/arm-linux-
-
-
-function msg_banner()
-{
-    echo ""
-    echo "+-----------------------------------------------------------------------"
-    echo "|  $1 "
-    echo "+-----------------------------------------------------------------------"
-    echo ""
-}
-
-function check_result()
-{
-    if [ $? != 0 ] ; then
-       echo ""
-       echo "+-----------------------------------------------------------------------"
-       echo "|  $1 "
-       echo "+-----------------------------------------------------------------------"
-       echo ""
-       exit ;
-    fi
-}
-
-function compile_qt()
-{
-    # 5.6.3 is the last version can be compiled by g++ without c++11 support
-    SRC_NAME=qt-everywhere-opensource-src-5.9.8
-
-    PACK_SUFIX=tar.xz
-
-    #rm -rf ${QT_INST_PATH}/lib/libQt5Gui.so
-    if [ -f ${QT_INST_PATH}/lib/libQt5Gui.so ] ; then
-        msg_banner "$SRC_NAME already compile and installed"
-        return 0;
-    fi
-
-    if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then 
-        msg_banner "Start download ${SRC_NAME}.${PACK_SUFIX} "
-        wget ${LYFTP_SRC}/qt/${SRC_NAME}.${PACK_SUFIX}
-        check_result "ERROR: download ${SRC_NAME} failure"
-    fi
-
-    msg_banner "Start decompress $SRC_NAME.${PACK_SUFIX} "
-    if [ ! -d ${SRC_NAME} ] ; then
-        tar -xJf ${SRC_NAME}.${PACK_SUFIX}
-    fi
-
-    cd ${SRC_NAME}
-
-    QMAKE_FILE=qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
-
-    grep "`dirname ${CROSSTOOL}`" ${QMAKE_FILE} > /dev/null 2>&1
-    if [ $? != 0 ] ; then 
-        sed -i "s|arm-linux-gnueabi-|$CROSSTOOL|" ${QMAKE_FILE}
-    fi
-
-    export CROSS_SYSROOT=`${CROSSTOOL}gcc -print-sysroot`
-
-    ./configure -opensource -confirm-license -release -shared -strip -c++std c++11 \
-        -extprefix ${QT_INST_PATH} -prefix ${QT_INST_PATH} -sysroot ${CROSS_SYSROOT} -pkg-config \
-        -xplatform linux-arm-gnueabi-g++ -qt-freetype -no-libproxy -no-avx  -make libs \
-        -qt-zlib -no-mtdev -no-gif -qt-libpng  -qt-libjpeg -no-openssl -no-cups -no-dbus -pch \
-        -no-xcb -no-eglfs -no-kms -no-directfb -no-opengl -linuxfb -qpa linuxfb \
-        -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-rpath -alsa -gstreamer 1.0 -no-tslib \
-        -no-separate-debug-info -nomake tests -nomake tools -nomake examples \
-        -I${QT_INST_PATH}/include/  -L${QT_INST_PATH}/lib/ -recheck-all
-
-    check_result "ERROR: configure ${SRC_NAME} failure"
-
-    msg_banner "Start cross compile $SRC_NAME "
-    make -j${JOBS} && make install
-    check_result "ERROR: compile ${SRC_NAME} failure"
-    cp ./qtbase/plugins/platforms/libqlinuxfb.so  ${QT_INST_PATH}/lib
-    cp -af ${LIBS_PATH}/lib/libts*so* ${QT_INST_PATH}/lib
-
-    cd -
-}
-
-# https://download.qt.io/archive/qt/5.9/5.9.8/submodules/
-function compile_qtmultimedia()
-{
-    SRC_NAME=qtmultimedia-opensource-src-5.9.8
-    PACK_SUFIX=tar.xz
-
-
-    if [ -f ${QT_INST_PATH}/plugins/mediaservice/libqtmedia_audioengine.so  ] ; then
-        msg_banner "$SRC_NAME already compile and installed"
-        return 0;
-    fi
-
-
-    if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then 
-        msg_banner "Start download ${SRC_NAME}.${PACK_SUFIX} "
-        wget ${LYFTP_SRC}/qt/${SRC_NAME}.${PACK_SUFIX}
-        check_result "ERROR: download ${SRC_NAME} failure"
-    fi
-
-    msg_banner "Start decompress $SRC_NAME.${PACK_SUFIX} "
-    if [ ! -d ${SRC_NAME} ] ; then
-        tar -xJf ${SRC_NAME}.${PACK_SUFIX}
-    fi
-
-    cd ${SRC_NAME}
-
-    ${QT_INST_PATH}/bin/qmake 
-
-    make && make install
-}
-
-function pack_qt()
-{
-    QTDIR_NAME=QT5
-
-    mkdir -p ${QTDIR_NAME}/{bin,etc,fonts,lib}
-
-    cp -af ${QT_INST_PATH}/bin/qml ${QTDIR_NAME}/bin
-    cp -af ${QT_INST_PATH}/lib/lib*.so* ${QTDIR_NAME}/lib
-    cp -af /apps/qt_fonts/*.qpf ${QTDIR_NAME}/fonts
-    cp -af ${QT_INST_PATH}/qml ${QTDIR_NAME}
-    cp -af ${QT_INST_PATH}/plugins/ ${QTDIR_NAME}/
-
-    tar -cjf QT5_A7.tar.bz2 ${QTDIR_NAME}
-    #rm -rf ${QTDIR_NAME}
-}
-
-
-compile_qt
-
-#compile_qtmultimedia
-
-pack_qt
-
diff --git a/3rdparty/qt5/build.sh b/3rdparty/qt5/build.sh
new file mode 100755
index 0000000..f99c7cb
--- /dev/null
+++ b/3rdparty/qt5/build.sh
@@ -0,0 +1,110 @@
+#!/bin/bash
+
+#+--------------------------------------------------------------------------------------------
+#|Description:  This shell script used download and compile QT5 for ARM
+#|     Author:  GuoWenxue <guowenxue@gmail.com>
+#|
+#|   WARNNING:  QT >= 5.7 need crosstool g++ support C++11 support
+#|              QT configure need host g++ support C++11, so need config g++ on ubuntu host:
+#|              sudo update-alternatives --config g++
+#|
+#|  ChangeLog:
+#|           1, Initialize 1.0.0 on 2011.04.12
+#+--------------------------------------------------------------------------------------------
+
+JOBS=`cat /proc/cpuinfo |grep "processor"|wc -l`
+
+PRJ_PATH=`pwd`
+LIBS_PATH=$PRJ_PATH/install
+
+QT_INST_PATH=/apps/qt5_a7
+
+CROSSTOOL=/opt/buildroot/cortexA7/bin/arm-linux-
+
+LYFTP_SRC=ftp://master.iot-yun.club/src/
+
+# display in red
+function pr_error() {
+    echo -e "\033[40;31m --E-- $1 \033[0m"
+}
+
+# display in yellow
+function pr_warn() {
+    echo -e "\033[40;33m --W-- $1 \033[0m"
+}
+
+# display in green
+function pr_info() {
+    echo -e "\033[40;32m --I-- $1 \033[0m"
+}
+
+function msg_banner()
+{
+    echo ""
+    echo "+-----------------------------------------------------------------------"
+    echo -e "|\033[40;33m  $1 \033[0m"
+    echo "+-----------------------------------------------------------------------"
+    echo ""
+}
+
+function check_result()
+{
+    if [ $? != 0 ] ; then
+		pr_error $1
+    fi
+}
+
+function compile_qt5()
+{
+    # 5.6.3 is the last version can be compiled by g++ without c++11 support
+    SRC_NAME=qt-everywhere-opensource-src-5.6.3
+
+    PACK_SUFIX=tar.xz
+
+    #rm -rf ${QT_INST_PATH}/lib/libQt5Gui.so
+    if [ -f ${QT_INST_PATH}/lib/libQt5Gui.so ] ; then
+        msg_banner "Already cross compile $SRC_NAME "
+        return 0;
+    fi
+
+    if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then 
+        msg_banner "Start download ${SRC_NAME}.${PACK_SUFIX} "
+        wget ${LYFTP_SRC}/qt/${SRC_NAME}.${PACK_SUFIX}
+        check_result "download ${SRC_NAME} failure"
+    fi
+
+    msg_banner "Start decompress $SRC_NAME.${PACK_SUFIX} and patch"
+    if [ ! -d ${SRC_NAME} ] ; then
+        tar -xJf ${SRC_NAME}.${PACK_SUFIX}
+		patch -p0 < patch/${SRC_NAME}.patch
+    fi
+
+    cd ${SRC_NAME}
+
+    QMAKE_FILE=qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
+
+    grep "`dirname ${CROSSTOOL}`" ${QMAKE_FILE} > /dev/null 2>&1
+    if [ $? != 0 ] ; then 
+        sed -i "s|arm-linux-gnueabi-|$CROSSTOOL|" ${QMAKE_FILE}
+    fi 
+
+	export CROSS_SYSROOT=`${CROSSTOOL}gcc -print-sysroot`
+
+    ./configure -opensource -confirm-license -release -shared -strip -c++std c++11 \
+		-sysroot ${CROSS_SYSROOT} -pkg-config -extprefix ${QT_INST_PATH} \
+        -prefix ${QT_INST_PATH} -xplatform linux-arm-gnueabi-g++ -make libs \
+        -no-cups -no-libproxy -no-avx -no-mtdev -no-rpath -no-glib -no-xcb -pch \
+        -no-eglfs -no-opengl -no-openssl -no-separate-debug-info -nomake tests \
+        -qt-freetype -qt-zlib -qt-libpng -qt-libjpeg -no-tslib -linuxfb -qpa linuxfb \
+		-alsa -gstreamer 1.0 -I${QT_INST_PATH}/include/  -L${QT_INST_PATH}/lib/ 
+
+    msg_banner "Start cross compile $SRC_NAME "
+    make -j${JOBS} && make install
+    check_result "compile ${SRC_NAME} failure"
+    cp ./qtbase/plugins/platforms/libqlinuxfb.so  ${QT_INST_PATH}/lib
+
+    cd -
+}
+
+compile_qt5
+
diff --git a/3rdparty/qt5/patch/qt-everywhere-opensource-src-5.6.3.patch b/3rdparty/qt5/patch/qt-everywhere-opensource-src-5.6.3.patch
new file mode 100644
index 0000000..ff5db7f
--- /dev/null
+++ b/3rdparty/qt5/patch/qt-everywhere-opensource-src-5.6.3.patch
@@ -0,0 +1,22 @@
+diff -Nuar qt-everywhere-opensource-src-5.6.3/qtimageformats/src/plugins/imageformats/jp2/qjp2handler.cpp qt-everywhere-opensource-src-5.6.3-modify/qtimageformats/src/plugins/imageformats/jp2/qjp2handler.cpp
+--- qt-everywhere-opensource-src-5.6.3/qtimageformats/src/plugins/imageformats/jp2/qjp2handler.cpp	2017-09-06 20:15:20.000000000 +0800
++++ qt-everywhere-opensource-src-5.6.3-modify/qtimageformats/src/plugins/imageformats/jp2/qjp2handler.cpp	2022-04-16 14:55:15.311442277 +0800
+@@ -32,6 +32,7 @@
+ **
+ ****************************************************************************/
+ 
++#include <math.h>
+ #include "qjp2handler_p.h"
+ 
+ #include "qimage.h"
+diff -Nuar qt-everywhere-opensource-src-5.6.3/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp qt-everywhere-opensource-src-5.6.3-modify/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp
+--- qt-everywhere-opensource-src-5.6.3/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp	2017-09-06 20:16:43.000000000 +0800
++++ qt-everywhere-opensource-src-5.6.3-modify/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp	2022-04-16 14:54:53.039634088 +0800
+@@ -42,6 +42,7 @@
+ 
+ #include <linux/can/error.h>
+ #include <linux/can/raw.h>
++#include <linux/sockios.h>
+ #include <errno.h>
+ #include <unistd.h>
+ #include <net/if.h>
diff --git a/bsp/kernel/patch/linux-imx-igkboard.patch b/bsp/kernel/patch/linux-imx-igkboard.patch
index 650b815..9a79a69 100644
--- a/bsp/kernel/patch/linux-imx-igkboard.patch
+++ b/bsp/kernel/patch/linux-imx-igkboard.patch
@@ -1,7 +1,7 @@
 diff -Nuar -x include-prefixes -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/igkboard.dts linux-imx-igkboard/arch/arm/boot/dts/igkboard.dts
 --- linux-imx/arch/arm/boot/dts/igkboard.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-igkboard/arch/arm/boot/dts/igkboard.dts	2022-04-14 19:53:27.986034399 +0800
-@@ -0,0 +1,801 @@
++++ linux-imx-igkboard/arch/arm/boot/dts/igkboard.dts	2022-03-27 22:09:19.799996369 +0800
+@@ -0,0 +1,782 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
 + * Device Tree Source for LingYun IGKBoard(IoT Gateway Kit Board)
@@ -121,6 +121,7 @@
 +		regulator-name = "can-3v3";
 +		regulator-min-microvolt = <3300000>;
 +		regulator-max-microvolt = <3300000>;
++		gpios = <&gpio_spi 3 GPIO_ACTIVE_LOW>;
 +	};
 +
 +	reg_3p3v: 3p3v {
@@ -152,87 +153,36 @@
 +	};
 +*/
 +
++	spi4 {
++		compatible = "spi-gpio";
++		pinctrl-names = "default";
++		pinctrl-0 = <&pinctrl_spi4>;
++		status = "disabled"; /* MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07 conflict with fec1 reset pin */
++		pinctrl-assert-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
++		gpio-sck = <&gpio5 11 0>;
++		gpio-mosi = <&gpio5 10 0>;
++		cs-gpios = <&gpio5 7 0>;
++		num-chipselects = <1>;
++		#address-cells = <1>;
++		#size-cells = <0>;
++
++		gpio_spi: gpio@0 {
++			compatible = "fairchild,74hc595";
++			gpio-controller;
++			#gpio-cells = <2>;
++			reg = <0>;
++			registers-number = <1>;
++			registers-default = /bits/ 8 <0x57>;
++			spi-max-frequency = <100000>;
++		};
++	};
 +};
++
 +
 +&clks {
 +	assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
 +	assigned-clock-rates = <786432000>;
 +};
-+
-+/* 40Pin Header start */
-+&i2c1 {
-+	clock-frequency = <100000>;
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&pinctrl_i2c1>;
-+	status = "okay";
-+};
-+
-+&uart2 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&pinctrl_uart2>;
-+	status = "okay";
-+};
-+
-+&uart3 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&pinctrl_uart3>;
-+	status = "okay";
-+};
-+
-+&uart4 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&pinctrl_uart4>;
-+	status = "okay";
-+};
-+
-+&uart7 { /* conflict with lcdif */
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&pinctrl_uart7>;
-+	status = "okay";
-+};
-+
-+&ecspi1 { /* conflict with lcdif */
-+	cs-gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
-+    pinctrl-names = "default";
-+    pinctrl-0 = <&pinctrl_ecspi1>;
-+	status = "okay";
-+
-+	spidev@0 {
-+		compatible = "semtech,sx1301";
-+		reg = <0>;
-+		spi-max-frequency = <2000000>;
-+	};
-+};
-+
-+&pwm7 {
-+	#pwm-cells = <2>;
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&pinctrl_pwm7>;
-+	status = "okay";
-+};
-+
-+&pwm8 {
-+	#pwm-cells = <2>;
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&pinctrl_pwm8>;
-+	status = "okay";
-+};
-+
-+&can1 {
-+    pinctrl-names = "default";
-+    pinctrl-0 = <&pinctrl_flexcan1>;
-+    xceiver-supply = <&reg_can_3v3>;
-+    status = "okay";
-+};
-+
-+/* CAN2 is multiplexed with UART2 RTS/CTS */
-+&can2 {
-+    pinctrl-names = "default";
-+    pinctrl-0 = <&pinctrl_flexcan2>;
-+    xceiver-supply = <&reg_can_3v3>;
-+    status = "okay";
-+};
-+/* 40Pin Header end */
 +
 +&snvs_poweroff {
 +	status = "okay";
@@ -245,6 +195,16 @@
 +&uart1 {
 +	pinctrl-names = "default";
 +	pinctrl-0 = <&pinctrl_uart1>;
++	status = "okay";
++};
++
++&uart2 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&pinctrl_uart2>;
++	uart-has-rtscts;
++	/* for DTE mode, add below change */
++	/* fsl,dte-mode; */
++	/* pinctrl-0 = <&pinctrl_uart2dte>; */
 +	status = "okay";
 +};
 +
@@ -417,6 +377,40 @@
 +};
 +*/
 +
++&sai1 {
++	assigned-clocks = <&clks IMX6UL_CLK_SAI1_SEL>,
++			  <&clks IMX6UL_CLK_SAI1>;
++	assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
++	assigned-clock-rates = <0>, <24576000>;
++	fsl,sai-mclk-direction-output;
++	status = "okay";
++};
++
++&sim2 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&pinctrl_sim2>;
++	assigned-clocks = <&clks IMX6UL_CLK_SIM_SEL>;
++	assigned-clock-parents = <&clks IMX6UL_CLK_SIM_PODF>;
++	assigned-clock-rates = <240000000>;
++	/* GPIO_ACTIVE_HIGH/LOW:sim card voltage control
++	 * NCN8025:Vcc = ACTIVE_HIGH?5V:3V
++	 * TDA8035:Vcc = ACTIVE_HIGH?5V:1.8V
++	 */
++	pinctrl-assert-gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
++	port = <1>;
++	sven_low_active;
++	status = "disabled";
++};
++
++&tsc {
++	pinctrl-names = "default";
++	pinctrl-0 = <&pinctrl_tsc>;
++	xnur-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
++	measure-delay-time = <0xffff>;
++	pre-charge-time = <0xfff>;
++	status = "okay";
++};
++
 +&usbotg1 {
 +	dr_mode = "otg";
 +	pinctrl-names = "default";
@@ -465,97 +459,6 @@
 +	pinctrl-names = "default";
 +	pinctrl-0 = <&pinctrl_wdog>;
 +	fsl,ext-reset-output;
-+};
-+
-+/* 40Pin Header pinctrl */
-+&iomuxc {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&pinctrl_extgpio>;
-+
-+	igkboard_extpin {
-+		pinctrl_extgpio: extgpiogrp{
-+			fsl,pins = <
-+				MX6UL_PAD_UART1_CTS_B__GPIO1_IO18   0x17059 /*  7#  GPIO    */
-+				MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01  0x17059 /* 35#  GPIO    */
-+				MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08  0x17059 /* 37#  GPIO    */
-+				MX6UL_PAD_LCD_DATA18__GPIO3_IO23    0x17059 /* 22# GPIO     */
-+				MX6UL_PAD_LCD_DATA19__GPIO3_IO24    0x17059 /* 26# GPIO     */
-+				MX6UL_PAD_JTAG_TMS__GPIO1_IO11      0x17059 /* 36# GPIO */
-+				MX6UL_PAD_JTAG_MOD__GPIO1_IO10      0x17059 /* 38# GPIO */
-+				MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09  0x17059 /* 40# GPIO */
-+			>;
-+		};
-+
-+		pinctrl_i2c1: i2c1grp {
-+			fsl,pins = <
-+				MX6UL_PAD_GPIO1_IO03__I2C1_SDA		0x4001b8b0
-+				MX6UL_PAD_GPIO1_IO02__I2C1_SCL		0x4001b8b0
-+			>;
-+		};
-+
-+		pinctrl_uart2: uart2grp {
-+			fsl,pins = <
-+				MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX	0x1b0b1
-+				MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX	0x1b0b1
-+			>;
-+		};
-+
-+		pinctrl_uart3: uart3grp {
-+			fsl,pins = <
-+				MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX	0x1b0b1
-+				MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX	0x1b0b1
-+			>;
-+		};
-+
-+		pinctrl_uart4: uart4grp {
-+			fsl,pins = <
-+				MX6UL_PAD_UART4_TX_DATA__UART4_DCE_TX	0x1b0b1
-+				MX6UL_PAD_UART4_RX_DATA__UART4_DCE_RX	0x1b0b1
-+			>;
-+		};
-+
-+		pinctrl_uart7: uart7grp {
-+			fsl,pins = <
-+				MX6UL_PAD_LCD_DATA16__UART7_DCE_TX		0x1b0b1
-+				MX6UL_PAD_LCD_DATA17__UART7_DCE_RX		0x1b0b1
-+			>;
-+		};
-+
-+		pinctrl_ecspi1: ecspi1-grp {
-+			fsl,pins = <
-+				MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK   0x10b0
-+				MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI   0x10b0
-+				MX6UL_PAD_LCD_DATA23__ECSPI1_MISO   0x10b0
-+				MX6UL_PAD_LCD_DATA21__GPIO3_IO26    0x10b0
-+			>;
-+		};
-+
-+		pinctrl_pwm7: pwm7grp {
-+			fsl,pins = <
-+				MX6UL_PAD_JTAG_TCK__PWM7_OUT		0x110b0
-+			>;
-+		};
-+
-+		pinctrl_pwm8: pwm8grp {
-+			fsl,pins = <
-+				MX6UL_PAD_JTAG_TRST_B__PWM8_OUT		0x110b0
-+			>;
-+		};
-+
-+		pinctrl_flexcan1: flexcan1grp{
-+			fsl,pins = <
-+				MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX	0x1b020
-+				MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX	0x1b020
-+			>;
-+		};
-+
-+		pinctrl_flexcan2: flexcan2grp{
-+			fsl,pins = <
-+				MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX	0x1b020
-+				MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX	0x1b020
-+			>;
-+		};
-+	};
 +};
 +
 +&iomuxc {
@@ -634,6 +537,27 @@
 +		>;
 +	};
 +
++	pinctrl_flexcan1: flexcan1grp{
++		fsl,pins = <
++			MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX	0x1b020
++			MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX	0x1b020
++		>;
++	};
++
++	pinctrl_flexcan2: flexcan2grp{
++		fsl,pins = <
++			MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX	0x1b020
++			MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX	0x1b020
++		>;
++	};
++
++	pinctrl_i2c1: i2c1grp {
++		fsl,pins = <
++			MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
++			MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0
++		>;
++	};
++
 +	pinctrl_i2c2: i2c2grp {
 +		fsl,pins = <
 +			MX6UL_PAD_UART5_TX_DATA__I2C2_SCL 0x4001b8b0
@@ -681,6 +605,16 @@
 +		>;
 +	};
 +
++	pinctrl_sai2: sai2grp {
++		fsl,pins = <
++			MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK	0x17088
++			MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC	0x17088
++			MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x11088
++			MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA	0x11088
++			MX6UL_PAD_JTAG_TMS__SAI2_MCLK		0x17088
++		>;
++	};
++
 +	pinctrl_pwm1: pwm1grp {
 +		fsl,pins = <
 +			MX6UL_PAD_GPIO1_IO08__PWM1_OUT	 0x110b0
@@ -693,10 +627,56 @@
 +		>;
 +	};
 +
++	pinctrl_sim2: sim2grp {
++		fsl,pins = <
++			MX6UL_PAD_CSI_DATA03__SIM2_PORT1_PD		0xb808
++			MX6UL_PAD_CSI_DATA04__SIM2_PORT1_CLK		0x31
++			MX6UL_PAD_CSI_DATA05__SIM2_PORT1_RST_B		0xb808
++			MX6UL_PAD_CSI_DATA06__SIM2_PORT1_SVEN		0xb808
++			MX6UL_PAD_CSI_DATA07__SIM2_PORT1_TRXD		0xb809
++			MX6UL_PAD_CSI_DATA02__GPIO4_IO23		0x3008
++		>;
++	};
++
++	pinctrl_spi4: spi4grp {
++		fsl,pins = <
++			MX6UL_PAD_BOOT_MODE0__GPIO5_IO10	0x70a1
++			MX6UL_PAD_BOOT_MODE1__GPIO5_IO11	0x70a1
++			MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08	0x80000000
++		>;
++	};
++
++	pinctrl_tsc: tscgrp {
++		fsl,pins = <
++			MX6UL_PAD_GPIO1_IO01__GPIO1_IO01		0xb0
++			MX6UL_PAD_GPIO1_IO02__GPIO1_IO02		0xb0
++			MX6UL_PAD_GPIO1_IO03__GPIO1_IO03		0xb0
++			MX6UL_PAD_GPIO1_IO04__GPIO1_IO04		0xb0
++		>;
++	};
++
 +	pinctrl_uart1: uart1grp {
 +		fsl,pins = <
 +			MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
 +			MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1
++		>;
++	};
++
++	pinctrl_uart2: uart2grp {
++		fsl,pins = <
++			MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX	0x1b0b1
++			MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX	0x1b0b1
++			MX6UL_PAD_UART3_RX_DATA__UART2_DCE_RTS	0x1b0b1
++			MX6UL_PAD_UART3_TX_DATA__UART2_DCE_CTS	0x1b0b1
++		>;
++	};
++
++	pinctrl_uart2dte: uart2dtegrp {
++		fsl,pins = <
++			MX6UL_PAD_UART2_TX_DATA__UART2_DTE_RX	0x1b0b1
++			MX6UL_PAD_UART2_RX_DATA__UART2_DTE_TX	0x1b0b1
++			MX6UL_PAD_UART3_RX_DATA__UART2_DTE_CTS	0x1b0b1
++			MX6UL_PAD_UART3_TX_DATA__UART2_DTE_RTS	0x1b0b1
 +		>;
 +	};
 +
@@ -726,6 +706,7 @@
 +			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9
 +			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9
 +			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170b9
++
 +		>;
 +	};
 +
@@ -805,7 +786,7 @@
 +
 diff -Nuar -x include-prefixes -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/Makefile linux-imx-igkboard/arch/arm/boot/dts/Makefile
 --- linux-imx/arch/arm/boot/dts/Makefile	2021-09-08 18:41:11.000000000 +0800
-+++ linux-imx-igkboard/arch/arm/boot/dts/Makefile	2022-04-13 23:15:49.155016887 +0800
++++ linux-imx-igkboard/arch/arm/boot/dts/Makefile	2022-03-27 22:09:19.799996369 +0800
 @@ -678,6 +678,7 @@
  	imx6ul-tx6ul-0010.dtb \
  	imx6ul-tx6ul-0011.dtb \
@@ -816,7 +797,7 @@
  	imx6ull-14x14-evk-btwifi.dtb \
 diff -Nuar -x include-prefixes -x logo_linux_clut224.ppm linux-imx/arch/arm/configs/igkboard_defconfig linux-imx-igkboard/arch/arm/configs/igkboard_defconfig
 --- linux-imx/arch/arm/configs/igkboard_defconfig	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-igkboard/arch/arm/configs/igkboard_defconfig	2022-04-14 20:08:27.465008910 +0800
++++ linux-imx-igkboard/arch/arm/configs/igkboard_defconfig	2022-03-27 22:20:23.534446767 +0800
 @@ -0,0 +1,722 @@
 +CONFIG_KERNEL_LZO=y
 +CONFIG_SYSVIPC=y
@@ -1540,35 +1521,9 @@
 +# CONFIG_SCHED_DEBUG is not set
 +# CONFIG_DEBUG_PREEMPT is not set
 +# CONFIG_FTRACE is not set
-diff -Nuar -x include-prefixes -x logo_linux_clut224.ppm linux-imx/do.sh linux-imx-igkboard/do.sh
---- linux-imx/do.sh	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-igkboard/do.sh	2022-04-14 19:56:04.963080600 +0800
-@@ -0,0 +1,22 @@
-+#!/bin/bash
-+
-+INST_PATH=/srv/ftp/pub/
-+
-+JOBS=`cat /proc/cpuinfo | grep processor | wc -l`
-+
-+function do_build()
-+{
-+	make igkboard_defconfig
-+	make -j ${JOBS}
-+}
-+
-+function do_install()
-+{
-+	set -x
-+	cp arch/arm/boot/zImage $INST_PATH
-+	cp arch/arm/boot/dts/igkboard.dtb $INST_PATH
-+}
-+
-+do_build
-+
-+#do_install
 diff -Nuar -x include-prefixes -x logo_linux_clut224.ppm linux-imx/Makefile linux-imx-igkboard/Makefile
 --- linux-imx/Makefile	2021-09-08 18:41:11.000000000 +0800
-+++ linux-imx-igkboard/Makefile	2022-04-14 20:05:02.060376092 +0800
++++ linux-imx-igkboard/Makefile	2022-03-27 22:09:19.803996342 +0800
 @@ -367,7 +367,8 @@
  # Alternatively CROSS_COMPILE can be set in the environment.
  # Default value for CROSS_COMPILE is not to prefix executables

--
Gitblit v1.9.1