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 = <®_can_3v3>; -+ status = "okay"; -+}; -+ -+/* CAN2 is multiplexed with UART2 RTS/CTS */ -+&can2 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_flexcan2>; -+ xceiver-supply = <®_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