凌云实验室推出的ARM Linux物联网网关开发板IGKBoard(IoT Gateway Kit Board)项目源码
guowenxue
2021-11-26 bfceb172fbac401c760473a4ee7c159940253d9b
bsp/kernel/patch/linux-imx-imx6ull.patch
@@ -1,6 +1,6 @@
diff -Nuar -x include-prefixes -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi linux-imx-imx6ull/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi
--- linux-imx/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi   2021-09-08 18:41:11.000000000 +0800
+++ linux-imx-imx6ull/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi   2021-11-23 19:58:00.218178392 +0800
+++ linux-imx-imx6ull/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi   2021-11-24 23:09:45.239553143 +0800
@@ -31,7 +31,41 @@
       brightness-levels = <0 4 8 16 32 64 128 255>;
       default-brightness-level = <6>;
@@ -90,7 +90,23 @@
    sound {
       compatible = "simple-audio-card";
       simple-audio-card,name = "mx6ul-wm8960";
@@ -142,7 +191,7 @@
@@ -115,6 +164,15 @@
       };
    };
+   sound-mqs {
+      compatible = "fsl,imx-audio-mqs";
+      model = "mqs-audio";
+      cpu-dai = <&sai1>;
+      asrc-controller = <&asrc>;
+      audio-codec = <&mqs>;
+      status = "okay";
+   };
+
    sound-wm8960 {
       compatible = "fsl,imx6ul-evk-wm8960",
             "fsl,imx-audio-wm8960";
@@ -142,7 +200,7 @@
       compatible = "spi-gpio";
       pinctrl-names = "default";
       pinctrl-0 = <&pinctrl_spi4>;
@@ -99,7 +115,7 @@
       pinctrl-assert-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
       gpio-sck = <&gpio5 11 0>;
       gpio-mosi = <&gpio5 10 0>;
@@ -169,7 +218,7 @@
@@ -169,7 +227,7 @@
 };
 
 &csi {
@@ -108,7 +124,7 @@
 
    port {
       csi1_ep: endpoint {
@@ -184,6 +233,26 @@
@@ -184,6 +242,26 @@
    pinctrl-0 = <&pinctrl_i2c2>;
    status = "okay";
 
@@ -135,7 +151,7 @@
    codec: wm8960@1a {
       #sound-dai-cells = <0>;
       compatible = "wlf,wm8960";
@@ -192,7 +261,8 @@
@@ -192,7 +270,8 @@
       wlf,hp-cfg = <3 2 3>;
       wlf,gpio-cfg = <1 3>;
       clocks = <&clks IMX6UL_CLK_SAI2>;
@@ -145,7 +161,7 @@
    };
 
    ov5640: ov5640@3c {
@@ -202,12 +272,19 @@
@@ -202,12 +281,19 @@
       pinctrl-0 = <&pinctrl_csi1>;
       clocks = <&clks IMX6UL_CLK_CSI>;
       clock-names = "csi_mclk";
@@ -168,7 +184,7 @@
       port {
          ov5640_ep: endpoint {
             remote-endpoint = <&csi1_ep>;
@@ -222,6 +299,9 @@
@@ -222,6 +308,9 @@
    phy-mode = "rmii";
    phy-handle = <&ethphy0>;
    phy-supply = <&reg_peri_3v3>;
@@ -178,7 +194,7 @@
    status = "okay";
 };
 
@@ -231,14 +311,17 @@
@@ -231,14 +320,17 @@
    phy-mode = "rmii";
    phy-handle = <&ethphy1>;
    phy-supply = <&reg_peri_3v3>;
@@ -198,7 +214,7 @@
          micrel,led-mode = <1>;
          clocks = <&clks IMX6UL_CLK_ENET_REF>;
          clock-names = "rmii-ref";
@@ -301,21 +384,21 @@
@@ -301,21 +393,21 @@
 
    display0: display@0 {
       bits-per-pixel = <16>;
@@ -230,7 +246,7 @@
             hsync-active = <0>;
             vsync-active = <0>;
             de-active = <1>;
@@ -332,6 +415,13 @@
@@ -332,6 +424,13 @@
    status = "okay";
 };
 
@@ -244,7 +260,7 @@
 &pxp {
    status = "okay";
 };
@@ -339,7 +429,7 @@
@@ -339,7 +438,7 @@
 &qspi {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_qspi>;
@@ -253,7 +269,32 @@
 
    flash0: n25q256a@0 {
       #address-cells = <1>;
@@ -360,7 +450,7 @@
@@ -352,6 +451,24 @@
    };
 };
+&mqs {
+    pinctrl-names = "default";
+    pinctrl-0 = <&pinctrl_mqs>;
+    clocks = <&clks IMX6UL_CLK_SAI1>;
+    clock-names = "mclk";
+    status = "okay";
+};
+
+
+&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";
+};
+
 &sai2 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_sai2>;
@@ -360,7 +477,7 @@
    assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
    assigned-clock-rates = <0>, <12288000>;
    fsl,sai-mclk-direction-output;
@@ -262,7 +303,16 @@
 };
 
 &snvs_poweroff {
@@ -439,6 +529,7 @@
@@ -384,7 +501,7 @@
    pinctrl-assert-gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
    port = <1>;
    sven_low_active;
-   status = "okay";
+   status = "disabled";
 };
 &tsc {
@@ -439,6 +556,7 @@
    pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
    pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
    cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
@@ -270,7 +320,7 @@
    keep-power-in-suspend;
    wakeup-source;
    vmmc-supply = <&reg_sd1_vmmc>;
@@ -446,8 +537,8 @@
@@ -446,8 +564,8 @@
 };
 
 &usdhc2 {
@@ -281,7 +331,7 @@
    non-removable;
    keep-power-in-suspend;
    wakeup-source;
@@ -463,6 +554,25 @@
@@ -463,6 +581,32 @@
 &iomuxc {
    pinctrl-names = "default";
 
@@ -297,6 +347,13 @@
+        >;
+    };
+
+    pinctrl_mqs: pinctrl-mqs-pins {
+        fsl,pins = <
+            MX6UL_PAD_JTAG_TDI__MQS_LEFT        0x11088 /* MQS Left  */
+            MX6UL_PAD_JTAG_TDO__MQS_RIGHT       0x11088 /* MQS Right */
+        >;
+    };
+
+    pinctrl_ts_pins: pinctrl-ts-pins {
+        fsl,pins = <
+            MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02  0x17059 /* TouchScreen IRQ */
@@ -307,7 +364,7 @@
    pinctrl_csi1: csi1grp {
       fsl,pins = <
          MX6UL_PAD_CSI_MCLK__CSI_MCLK      0x1b088
@@ -490,6 +600,7 @@
@@ -490,6 +634,7 @@
          MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00   0x1b0b0
          MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01   0x1b0b0
          MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1   0x4001b031
@@ -315,7 +372,7 @@
       >;
    };
 
@@ -505,6 +616,7 @@
@@ -505,6 +650,7 @@
          MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00   0x1b0b0
          MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01   0x1b0b0
          MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2   0x4001b031
@@ -323,7 +380,7 @@
       >;
    };
 
@@ -594,19 +706,18 @@
@@ -594,19 +740,18 @@
          MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA   0x11088
          MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA   0x11088
          MX6UL_PAD_JTAG_TMS__SAI2_MCLK      0x17088
@@ -347,7 +404,7 @@
       >;
    };
 
@@ -625,7 +736,6 @@
@@ -625,7 +770,6 @@
       fsl,pins = <
          MX6UL_PAD_BOOT_MODE0__GPIO5_IO10   0x70a1
          MX6UL_PAD_BOOT_MODE1__GPIO5_IO11   0x70a1
@@ -355,7 +412,7 @@
          MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08   0x80000000
       >;
    };
@@ -678,9 +788,7 @@
@@ -678,9 +822,7 @@
          MX6UL_PAD_SD1_DATA1__USDHC1_DATA1    0x17059
          MX6UL_PAD_SD1_DATA2__USDHC1_DATA2    0x17059
          MX6UL_PAD_SD1_DATA3__USDHC1_DATA3    0x17059
@@ -368,7 +425,7 @@
 
diff -Nuar -x include-prefixes -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/imx6ul.dtsi linux-imx-imx6ull/arch/arm/boot/dts/imx6ul.dtsi
--- linux-imx/arch/arm/boot/dts/imx6ul.dtsi   2021-09-08 18:41:11.000000000 +0800
+++ linux-imx-imx6ull/arch/arm/boot/dts/imx6ul.dtsi   2021-11-23 19:45:27.875382794 +0800
+++ linux-imx-imx6ull/arch/arm/boot/dts/imx6ul.dtsi   2021-11-24 20:53:22.241004573 +0800
@@ -727,6 +727,7 @@
                offset = <0x34>;
                interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
@@ -377,10 +434,23 @@
             };
 
             snvs_poweroff: snvs-poweroff {
@@ -791,6 +792,12 @@
             reg = <0x020e4000 0x4000>;
          };
+         mqs: mqs {
+            compatible = "fsl,imx6sx-mqs";
+            gpr = <&gpr>;
+            status = "disabled";
+         };
+
          gpt2: timer@20e8000 {
             compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt";
             reg = <0x020e8000 0x4000>;
diff -Nuar -x include-prefixes -x logo_linux_clut224.ppm linux-imx/.cfg-imx6ull linux-imx-imx6ull/.cfg-imx6ull
--- linux-imx/.cfg-imx6ull   1970-01-01 08:00:00.000000000 +0800
+++ linux-imx-imx6ull/.cfg-imx6ull   2021-11-23 20:06:37.849363291 +0800
@@ -0,0 +1,6819 @@
+++ linux-imx-imx6ull/.cfg-imx6ull   2021-11-25 20:06:22.306453260 +0800
@@ -0,0 +1,6728 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/arm 5.10.52 Kernel Configuration
@@ -2579,7 +2649,6 @@
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_PIXCIR is not set
+# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
+# CONFIG_TOUCHSCREEN_WM97XX is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_MC13783 is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
@@ -3341,7 +3410,6 @@
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_UCB1400_CORE is not set
+# CONFIG_MFD_PM8XXX is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT5033 is not set
@@ -4414,10 +4482,7 @@
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_PCM_ELD=y
+CONFIG_SND_PCM_IEC958=y
+CONFIG_SND_DMAENGINE_PCM=y
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=y
+CONFIG_SND_JACK=y
+CONFIG_SND_JACK_INPUT_DEV=y
@@ -4430,93 +4495,20 @@
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_AC97_CODEC=y
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_ALOOP is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+# CONFIG_SND_AC97_POWER_SAVE is not set
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AW2 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CTXFI is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_LOLA is not set
+# CONFIG_SND_LX6464ES is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SE6X is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_PCI is not set
+
+#
+# HD-Audio
+#
+# CONFIG_SND_HDA_INTEL is not set
+# end of HD-Audio
+
+CONFIG_SND_HDA_PREALLOC_SIZE=64
+CONFIG_SND_ARM=y
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_CAIAQ is not set
+# CONFIG_SND_USB_6FIRE is not set
+# CONFIG_SND_USB_HIFACE is not set
+# CONFIG_SND_BCD2000 is not set
+# CONFIG_SND_USB_POD is not set
+# CONFIG_SND_USB_PODHD is not set
+# CONFIG_SND_USB_TONEPORT is not set
+# CONFIG_SND_USB_VARIAX is not set
+# CONFIG_SND_ARM is not set
+# CONFIG_SND_SPI is not set
+# CONFIG_SND_USB is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_AC97_BUS=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+# CONFIG_SND_SOC_AMD_ACP is not set
+# CONFIG_SND_ATMEL_SOC is not set
@@ -4534,49 +4526,45 @@
+CONFIG_SND_SOC_FSL_SAI=y
+CONFIG_SND_SOC_FSL_MQS=y
+# CONFIG_SND_SOC_FSL_AUDMIX is not set
+CONFIG_SND_SOC_FSL_SSI=y
+CONFIG_SND_SOC_FSL_SPDIF=y
+CONFIG_SND_SOC_FSL_ESAI=y
+# CONFIG_SND_SOC_FSL_SSI is not set
+# CONFIG_SND_SOC_FSL_SPDIF is not set
+# CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_EASRC is not set
+# CONFIG_SND_SOC_FSL_XCVR is not set
+# CONFIG_SND_SOC_FSL_DSP is not set
+# CONFIG_SND_SOC_FSL_ESAI_CLIENT is not set
+# CONFIG_SND_SOC_FSL_AUD2HTX is not set
+CONFIG_SND_SOC_FSL_UTILS=y
+CONFIG_SND_SOC_FSL_RPMSG=y
+CONFIG_SND_SOC_FSL_HDMI=y
+CONFIG_SND_SOC_IMX_PCM_DMA=y
+CONFIG_SND_SOC_IMX_AUDIO_RPMSG=y
+CONFIG_SND_SOC_IMX_PCM_RPMSG=y
+CONFIG_SND_SOC_IMX_AUDMUX=y
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_IMX_SSI=y
+CONFIG_SND_SOC_IMX_HDMI_DMA=y
+
+#
+# SoC Audio support for Freescale i.MX boards:
+#
+CONFIG_SND_SOC_EUKREA_TLV320=y
+# CONFIG_SND_SOC_EUKREA_TLV320 is not set
+# CONFIG_SND_SOC_IMX_AK4458 is not set
+# CONFIG_SND_SOC_IMX_AK5558 is not set
+# CONFIG_SND_SOC_IMX_AK4497 is not set
+CONFIG_SND_SOC_IMX_SII902X=y
+CONFIG_SND_SOC_IMX_WM8958=y
+# CONFIG_SND_SOC_IMX_SII902X is not set
+# CONFIG_SND_SOC_IMX_WM8958 is not set
+# CONFIG_SND_SOC_IMX_MICFIL is not set
+CONFIG_SND_SOC_IMX_ES8328=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+CONFIG_SND_SOC_IMX_MC13783=y
+CONFIG_SND_SOC_FSL_ASOC_CARD=y
+# CONFIG_SND_SOC_IMX_ES8328 is not set
+# CONFIG_SND_SOC_IMX_SGTL5000 is not set
+# CONFIG_SND_SOC_IMX_SPDIF is not set
+# CONFIG_SND_SOC_IMX_MC13783 is not set
+# CONFIG_SND_SOC_FSL_ASOC_CARD is not set
+# CONFIG_SND_SOC_IMX_AUDMIX is not set
+CONFIG_SND_SOC_IMX_RPMSG=y
+# CONFIG_SND_SOC_IMX_XCVR is not set
+# CONFIG_SND_SOC_IMX_PDM_MIC is not set
+# CONFIG_SND_SOC_IMX_PCM512X is not set
+# CONFIG_SND_SOC_IMX_DSP is not set
+CONFIG_SND_SOC_IMX_SI476X=y
+CONFIG_SND_SOC_IMX_HDMI=y
+# CONFIG_SND_SOC_IMX_SI476X is not set
+# CONFIG_SND_SOC_IMX_HDMI is not set
+# end of SoC Audio for Freescale CPUs
+
+# CONFIG_SND_I2S_HI6210_I2S is not set
@@ -4599,8 +4587,7 @@
+#
+# CODEC drivers
+#
+CONFIG_SND_SOC_WM_HUBS=y
+CONFIG_SND_SOC_AC97_CODEC=y
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_ADAU1761_I2C is not set
+# CONFIG_SND_SOC_ADAU1761_SPI is not set
@@ -4633,8 +4620,7 @@
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271_I2C is not set
+# CONFIG_SND_SOC_CS4271_SPI is not set
+CONFIG_SND_SOC_CS42XX8=y
+CONFIG_SND_SOC_CS42XX8_I2C=y
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_CS43130 is not set
+# CONFIG_SND_SOC_CS4341 is not set
+# CONFIG_SND_SOC_CS4349 is not set
@@ -4642,13 +4628,11 @@
+# CONFIG_SND_SOC_CX2072X is not set
+# CONFIG_SND_SOC_DA7213 is not set
+# CONFIG_SND_SOC_DMIC is not set
+CONFIG_SND_SOC_HDMI_CODEC=y
+# CONFIG_SND_SOC_ES7134 is not set
+# CONFIG_SND_SOC_ES7241 is not set
+# CONFIG_SND_SOC_ES8316 is not set
+CONFIG_SND_SOC_ES8328=y
+CONFIG_SND_SOC_ES8328_I2C=y
+CONFIG_SND_SOC_ES8328_SPI=y
+# CONFIG_SND_SOC_ES8328_I2C is not set
+# CONFIG_SND_SOC_ES8328_SPI is not set
+# CONFIG_SND_SOC_GTM601 is not set
+# CONFIG_SND_SOC_INNO_RK3036 is not set
+# CONFIG_SND_SOC_MAX98088 is not set
@@ -4675,8 +4659,7 @@
+# CONFIG_SND_SOC_RK3328 is not set
+# CONFIG_SND_SOC_RT5616 is not set
+# CONFIG_SND_SOC_RT5631 is not set
+CONFIG_SND_SOC_SGTL5000=y
+CONFIG_SND_SOC_SI476X=y
+# CONFIG_SND_SOC_SGTL5000 is not set
+# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set
+# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
+# CONFIG_SND_SOC_SPDIF is not set
@@ -4697,13 +4680,12 @@
+# CONFIG_SND_SOC_TAS6424 is not set
+# CONFIG_SND_SOC_TDA7419 is not set
+# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320AIC23=y
+CONFIG_SND_SOC_TLV320AIC23_I2C=y
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
+CONFIG_SND_SOC_TLV320AIC3X=y
+# CONFIG_SND_SOC_TLV320AIC3X is not set
+# CONFIG_SND_SOC_TLV320ADCX140 is not set
+# CONFIG_SND_SOC_TS3A227E is not set
+# CONFIG_SND_SOC_TSCS42XX is not set
@@ -4727,19 +4709,17 @@
+# CONFIG_SND_SOC_WM8804_SPI is not set
+# CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8904 is not set
+CONFIG_SND_SOC_WM8960=y
+CONFIG_SND_SOC_WM8962=y
+# CONFIG_SND_SOC_WM8960 is not set
+# CONFIG_SND_SOC_WM8962 is not set
+# CONFIG_SND_SOC_WM8974 is not set
+# CONFIG_SND_SOC_WM8978 is not set
+# CONFIG_SND_SOC_WM8985 is not set
+CONFIG_SND_SOC_WM8994=y
+# CONFIG_SND_SOC_ZL38060 is not set
+# CONFIG_SND_SOC_ZX_AUD96P22 is not set
+CONFIG_SND_SOC_RPMSG_WM8960=y
+CONFIG_SND_SOC_RPMSG_WM8960_I2C=y
+# CONFIG_SND_SOC_RPMSG_WM8960 is not set
+# CONFIG_SND_SOC_RPMSG_WM8960_I2C is not set
+# CONFIG_SND_SOC_RPMSG_AK4497 is not set
+# CONFIG_SND_SOC_MAX9759 is not set
+CONFIG_SND_SOC_MC13783=y
+# CONFIG_SND_SOC_MT6351 is not set
+# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
@@ -4753,7 +4733,6 @@
+CONFIG_SND_SIMPLE_CARD_UTILS=y
+CONFIG_SND_SIMPLE_CARD=y
+# CONFIG_SND_AUDIO_GRAPH_CARD is not set
+CONFIG_AC97_BUS=y
+
+#
+# HID support
@@ -7202,7 +7181,7 @@
+# end of Kernel hacking
diff -Nuar -x include-prefixes -x logo_linux_clut224.ppm linux-imx/Makefile linux-imx-imx6ull/Makefile
--- linux-imx/Makefile   2021-09-08 18:41:11.000000000 +0800
+++ linux-imx-imx6ull/Makefile   2021-11-23 19:58:23.629972395 +0800
+++ linux-imx-imx6ull/Makefile   2021-11-24 23:09:49.623638513 +0800
@@ -367,7 +367,8 @@
 # Alternatively CROSS_COMPILE can be set in the environment.
 # Default value for CROSS_COMPILE is not to prefix executables
@@ -7213,3 +7192,27 @@
 
 # Architecture as present in compile.h
 UTS_MACHINE    := $(ARCH)
diff -Nuar -x include-prefixes -x logo_linux_clut224.ppm linux-imx/sound/soc/fsl/fsl_mqs.c linux-imx-imx6ull/sound/soc/fsl/fsl_mqs.c
--- linux-imx/sound/soc/fsl/fsl_mqs.c   2021-09-08 18:41:11.000000000 +0800
+++ linux-imx-imx6ull/sound/soc/fsl/fsl_mqs.c   2021-11-24 21:15:11.290432174 +0800
@@ -247,6 +247,8 @@
          &fsl_mqs_dai, 1);
    if (ret)
       goto err_free_gpr_np;
+
+    printk("NXP mqs sound card driver register ok\n");
    return 0;
 err_free_gpr_np:
diff -Nuar -x include-prefixes -x logo_linux_clut224.ppm linux-imx/sound/soc/fsl/fsl_sai.c linux-imx-imx6ull/sound/soc/fsl/fsl_sai.c
--- linux-imx/sound/soc/fsl/fsl_sai.c   2021-09-08 18:41:11.000000000 +0800
+++ linux-imx-imx6ull/sound/soc/fsl/fsl_sai.c   2021-11-24 22:27:07.491444651 +0800
@@ -1349,7 +1349,7 @@
       sai->bus_clk = NULL;
    }
-   for (i = 0; i < FSL_SAI_MCLK_MAX; i++) {
+   for (i = 1; i < FSL_SAI_MCLK_MAX; i++) {
       sprintf(tmp, "mclk%d", i);
       sai->mclk_clk[i] = devm_clk_get(&pdev->dev, tmp);
       if (IS_ERR(sai->mclk_clk[i])) {