From 89e9f58c817a3c2b2ed4f4c363cd90bf5d1fea0a Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Tue, 23 Nov 2021 20:08:18 +0800 Subject: [PATCH] update linux patch for ov5640 dts, ov5640 can work normal on 64x480 --- bsp/kernel/patch/linux-imx-imx6ull.patch | 157 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 99 insertions(+), 58 deletions(-) diff --git a/bsp/kernel/patch/linux-imx-imx6ull.patch b/bsp/kernel/patch/linux-imx-imx6ull.patch index e1b5193..9d5f14f 100644 --- a/bsp/kernel/patch/linux-imx-imx6ull.patch +++ b/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-20 00:00:25.765567396 +0800 ++++ linux-imx-imx6ull/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi 2021-11-23 19:58:00.218178392 +0800 @@ -31,7 +31,41 @@ brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <6>; @@ -65,7 +65,32 @@ /* * If you want to want to make this dynamic please * check schematics and test all affected peripherals: -@@ -142,7 +173,7 @@ +@@ -78,6 +109,24 @@ + gpios = <&gpio_spi 3 GPIO_ACTIVE_LOW>; + }; + ++ reg_3p3v: 3p3v { ++ compatible = "regulator-fixed"; ++ regulator-name = "3P3V"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++ ++ reg_1p8v: 1p8v { ++ compatible = "regulator-fixed"; ++ regulator-name = "1P8V"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++ + sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "mx6ul-wm8960"; +@@ -142,7 +191,7 @@ compatible = "spi-gpio"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_spi4>; @@ -74,7 +99,16 @@ pinctrl-assert-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>; gpio-sck = <&gpio5 11 0>; gpio-mosi = <&gpio5 10 0>; -@@ -184,6 +215,26 @@ +@@ -169,7 +218,7 @@ + }; + + &csi { +- status = "disabled"; ++ status = "okay"; + + port { + csi1_ep: endpoint { +@@ -184,6 +233,26 @@ pinctrl-0 = <&pinctrl_i2c2>; status = "okay"; @@ -101,7 +135,7 @@ codec: wm8960@1a { #sound-dai-cells = <0>; compatible = "wlf,wm8960"; -@@ -192,7 +243,8 @@ +@@ -192,7 +261,8 @@ wlf,hp-cfg = <3 2 3>; wlf,gpio-cfg = <1 3>; clocks = <&clks IMX6UL_CLK_SAI2>; @@ -111,22 +145,43 @@ }; ov5640: ov5640@3c { -@@ -221,7 +273,9 @@ - pinctrl-0 = <&pinctrl_enet1>; +@@ -202,12 +272,19 @@ + pinctrl-0 = <&pinctrl_csi1>; + clocks = <&clks IMX6UL_CLK_CSI>; + clock-names = "csi_mclk"; +- pwn-gpios = <&gpio_spi 6 1>; +- rst-gpios = <&gpio_spi 5 0>; ++ ++ DOVDD-supply = <®_3p3v>; ++ VDD-supply = <®_1p8v>; ++ AVDD-supply = <®_3p3v>; ++ DVDD-supply = <®_3p3v>; ++ ++ pwn-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>; ++ rst-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>; + csi_id = <0>; + mclk = <24000000>; + mclk_source = <0>; +- status = "disabled"; ++ /* rotation = <180>; */ ++ status = "okay"; + port { + ov5640_ep: endpoint { + remote-endpoint = <&csi1_ep>; +@@ -222,6 +299,9 @@ phy-mode = "rmii"; phy-handle = <ðphy0>; -- phy-supply = <®_peri_3v3>; + phy-supply = <®_peri_3v3>; + phy-reset-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>; /* MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07 conflict with spi4 */ + phy-reset-duration = <50>; + phy-reset-post-delay = <15>; status = "okay"; }; -@@ -230,15 +284,17 @@ - pinctrl-0 = <&pinctrl_enet2>; +@@ -231,14 +311,17 @@ phy-mode = "rmii"; phy-handle = <ðphy1>; -- phy-supply = <®_peri_3v3>; + phy-supply = <®_peri_3v3>; + phy-reset-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>; /* MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04 conflict with sai2 */ + phy-reset-duration = <50>; + phy-reset-post-delay = <15>; @@ -143,7 +198,7 @@ micrel,led-mode = <1>; clocks = <&clks IMX6UL_CLK_ENET_REF>; clock-names = "rmii-ref"; -@@ -301,21 +357,21 @@ +@@ -301,21 +384,21 @@ display0: display@0 { bits-per-pixel = <16>; @@ -175,7 +230,7 @@ hsync-active = <0>; vsync-active = <0>; de-active = <1>; -@@ -332,6 +388,13 @@ +@@ -332,6 +415,13 @@ status = "okay"; }; @@ -189,7 +244,7 @@ &pxp { status = "okay"; }; -@@ -339,7 +402,7 @@ +@@ -339,7 +429,7 @@ &qspi { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_qspi>; @@ -198,7 +253,7 @@ flash0: n25q256a@0 { #address-cells = <1>; -@@ -360,7 +423,7 @@ +@@ -360,7 +450,7 @@ assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>; assigned-clock-rates = <0>, <12288000>; fsl,sai-mclk-direction-output; @@ -207,7 +262,7 @@ }; &snvs_poweroff { -@@ -439,6 +502,7 @@ +@@ -439,6 +529,7 @@ pinctrl-1 = <&pinctrl_usdhc1_100mhz>; pinctrl-2 = <&pinctrl_usdhc1_200mhz>; cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>; @@ -215,7 +270,7 @@ keep-power-in-suspend; wakeup-source; vmmc-supply = <®_sd1_vmmc>; -@@ -446,8 +510,8 @@ +@@ -446,8 +537,8 @@ }; &usdhc2 { @@ -226,7 +281,7 @@ non-removable; keep-power-in-suspend; wakeup-source; -@@ -463,6 +527,25 @@ +@@ -463,6 +554,25 @@ &iomuxc { pinctrl-names = "default"; @@ -252,15 +307,15 @@ pinctrl_csi1: csi1grp { fsl,pins = < MX6UL_PAD_CSI_MCLK__CSI_MCLK 0x1b088 -@@ -490,6 +573,7 @@ +@@ -490,6 +600,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 -+ MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x10B0 /* ENET1 RESET conflict with pinctrl_spi4 */ ++ MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x10B0 /* ENET1 RESET conflict with pinctrl_spi4 */ >; }; -@@ -505,6 +589,7 @@ +@@ -505,6 +616,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 @@ -268,7 +323,7 @@ >; }; -@@ -594,19 +679,18 @@ +@@ -594,19 +706,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 @@ -292,7 +347,7 @@ >; }; -@@ -625,7 +709,6 @@ +@@ -625,7 +736,6 @@ fsl,pins = < MX6UL_PAD_BOOT_MODE0__GPIO5_IO10 0x70a1 MX6UL_PAD_BOOT_MODE1__GPIO5_IO11 0x70a1 @@ -300,7 +355,7 @@ MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08 0x80000000 >; }; -@@ -678,9 +761,7 @@ +@@ -678,9 +788,7 @@ MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059 @@ -313,7 +368,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-18 23:10:08.149821196 +0800 ++++ linux-imx-imx6ull/arch/arm/boot/dts/imx6ul.dtsi 2021-11-23 19:45:27.875382794 +0800 @@ -727,6 +727,7 @@ offset = <0x34>; interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, @@ -324,8 +379,8 @@ snvs_poweroff: snvs-poweroff { 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-19 23:56:45.007385743 +0800 -@@ -0,0 +1,6833 @@ ++++ linux-imx-imx6ull/.cfg-imx6ull 2021-11-23 20:06:37.849363291 +0800 +@@ -0,0 +1,6819 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 5.10.52 Kernel Configuration @@ -3508,9 +3563,9 @@ +# +# Webcam devices +# -+CONFIG_USB_VIDEO_CLASS=m ++CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y -+CONFIG_USB_GSPCA=m ++CONFIG_USB_GSPCA=y +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set @@ -3605,22 +3660,7 @@ +# CONFIG_USB_HACKRF is not set +# CONFIG_USB_MSI2500 is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set -+CONFIG_RADIO_ADAPTERS=y -+# CONFIG_RADIO_SI470X is not set -+# CONFIG_RADIO_SI4713 is not set -+CONFIG_RADIO_SI476X=y -+# CONFIG_USB_MR800 is not set -+# CONFIG_USB_DSBR is not set -+# CONFIG_RADIO_MAXIRADIO is not set -+# CONFIG_RADIO_SHARK is not set -+# CONFIG_RADIO_SHARK2 is not set -+# CONFIG_USB_KEENE is not set -+# CONFIG_USB_RAREMONO is not set -+# CONFIG_USB_MA901 is not set -+# CONFIG_RADIO_TEA5764 is not set -+# CONFIG_RADIO_SAA7706H is not set -+# CONFIG_RADIO_TEF6862 is not set -+# CONFIG_RADIO_WL1273 is not set ++# CONFIG_RADIO_ADAPTERS is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_V4L2=y +CONFIG_VIDEOBUF2_MEMOPS=y @@ -3631,28 +3671,29 @@ +# CONFIG_VIDEO_CADENCE is not set +# CONFIG_VIDEO_ASPEED is not set +CONFIG_VIDEO_MUX=y -+CONFIG_VIDEO_MXC_CAPTURE=m ++CONFIG_VIDEO_MXC_CAPTURE=y +# CONFIG_VIDEO_MX8_CAPTURE is not set +CONFIG_VIDEO_MXC_OUTPUT=y -+CONFIG_VIDEO_V4L2_MXC_INT_DEVICE=m -+CONFIG_VIDEO_MXC_CSI_CAMERA=m -+CONFIG_MXC_VADC=m -+CONFIG_MXC_MIPI_CSI=m ++CONFIG_VIDEO_V4L2_MXC_INT_DEVICE=y ++CONFIG_VIDEO_MXC_CSI_CAMERA=y ++CONFIG_MXC_VADC=y ++CONFIG_MXC_MIPI_CSI=y + +# +# MXC Camera/V4L2 PRP Features support +# +CONFIG_VIDEO_MXC_IPU_CAMERA=y -+CONFIG_MXC_CAMERA_OV5640=m -+CONFIG_MXC_CAMERA_OV5640_V2=m ++# CONFIG_MXC_CAMERA_OV5640 is not set ++CONFIG_MXC_CAMERA_OV5640_V2=y +# CONFIG_MXC_CAMERA_OV5642 is not set -+CONFIG_MXC_CAMERA_OV5640_MIPI=m -+CONFIG_MXC_CAMERA_OV5640_MIPI_V2=m ++# CONFIG_MXC_CAMERA_OV5640_MIPI is not set ++CONFIG_MXC_CAMERA_OV5640_MIPI_V2=y +# CONFIG_MXC_CAMERA_OV5647_MIPI is not set -+CONFIG_MXC_TVIN_ADV7180=m -+CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m -+CONFIG_MXC_IPU_PRP_ENC=m -+CONFIG_MXC_IPU_CSI_ENC=m ++# CONFIG_MXC_TVIN_ADV7180 is not set ++CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=y ++# CONFIG_MXC_IPU_PRP_VF_SDC is not set ++CONFIG_MXC_IPU_PRP_ENC=y ++CONFIG_MXC_IPU_CSI_ENC=y +# end of MXC Camera/V4L2 PRP Features support + +CONFIG_VIDEO_MXC_IPU_OUTPUT=y @@ -7161,7 +7202,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-19 23:54:49.744292020 +0800 ++++ linux-imx-imx6ull/Makefile 2021-11-23 19:58:23.629972395 +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