From aed168c2d09c97349e5ccf9b707ed522fc56ee77 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Mon, 4 Jan 2016 09:53:26 -0200 Subject: [PATCH] linux-fslc-imx: Upgrade to the 3.14.52-1.1.0 GA based fork The FSLC kernel fork has been updated for the 3.14-1.52-1.1.0 GA release. It is a consolidated release covering all i.MX active product lines covering: - i.MX6QDL - i.MX6SL - i.MX6SX - i.MX6UL - i.MX7D The patch also updates the linux-fslc-imx-rt flavour for the very same kernel fork and ensures people uses the built-in Vivante GPU driver, when using the Linux RT support, as the external kernel module does not support it yet. Signed-off-by: Otavio Salvador --- conf/machine/include/imx-base.inc | 2 +- .../0001-fix-build.patch | 0 .../0003-no-split-ptlocks.patch | 0 ...04-imx-sdma-channel-use-raw-spinlock.patch | 0 .../defconfig | 0 .../linux/linux-fslc-imx-rt_3.14-1.1.x.bb | 31 +++++++++++ .../defconfig | 55 +++++++++++++++---- ...-1.0.x.bb => linux-fslc-imx_3.14-1.1.x.bb} | 10 ++-- .../0002-fix-build-with-rt-enabled.patch | 19 ------- .../linux/linux-fslc-mx6-rt_3.14-1.0.x.bb | 27 --------- 10 files changed, 81 insertions(+), 63 deletions(-) rename recipes-kernel/linux/{linux-fslc-mx6-rt => linux-fslc-imx-rt}/0001-fix-build.patch (100%) rename recipes-kernel/linux/{linux-fslc-mx6-rt => linux-fslc-imx-rt}/0003-no-split-ptlocks.patch (100%) rename recipes-kernel/linux/{linux-fslc-mx6-rt => linux-fslc-imx-rt}/0004-imx-sdma-channel-use-raw-spinlock.patch (100%) rename recipes-kernel/linux/{linux-fslc-mx6-rt => linux-fslc-imx-rt}/defconfig (100%) create mode 100644 recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb rename recipes-kernel/linux/{linux-fslc-mx6 => linux-fslc-imx}/defconfig (89%) rename recipes-kernel/linux/{linux-fslc-mx6_3.14-1.0.x.bb => linux-fslc-imx_3.14-1.1.x.bb} (58%) delete mode 100644 recipes-kernel/linux/linux-fslc-mx6-rt/0002-fix-build-with-rt-enabled.patch delete mode 100644 recipes-kernel/linux/linux-fslc-mx6-rt_3.14-1.0.x.bb diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index 6953c58e..970ea332 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc @@ -139,7 +139,7 @@ PREFERRED_PROVIDER_virtual/libg2d_mx6ul = "" IMX_DEFAULT_KERNEL = "linux-imx" IMX_DEFAULT_KERNEL_mxs = "linux-fslc" IMX_DEFAULT_KERNEL_mx5 = "linux-fslc" -IMX_DEFAULT_KERNEL_mx6 = "linux-fslc-mx6" +IMX_DEFAULT_KERNEL_mx6 = "linux-fslc-imx" IMX_DEFAULT_KERNEL_mx6ul = "linux-imx" PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}" diff --git a/recipes-kernel/linux/linux-fslc-mx6-rt/0001-fix-build.patch b/recipes-kernel/linux/linux-fslc-imx-rt/0001-fix-build.patch similarity index 100% rename from recipes-kernel/linux/linux-fslc-mx6-rt/0001-fix-build.patch rename to recipes-kernel/linux/linux-fslc-imx-rt/0001-fix-build.patch diff --git a/recipes-kernel/linux/linux-fslc-mx6-rt/0003-no-split-ptlocks.patch b/recipes-kernel/linux/linux-fslc-imx-rt/0003-no-split-ptlocks.patch similarity index 100% rename from recipes-kernel/linux/linux-fslc-mx6-rt/0003-no-split-ptlocks.patch rename to recipes-kernel/linux/linux-fslc-imx-rt/0003-no-split-ptlocks.patch diff --git a/recipes-kernel/linux/linux-fslc-mx6-rt/0004-imx-sdma-channel-use-raw-spinlock.patch b/recipes-kernel/linux/linux-fslc-imx-rt/0004-imx-sdma-channel-use-raw-spinlock.patch similarity index 100% rename from recipes-kernel/linux/linux-fslc-mx6-rt/0004-imx-sdma-channel-use-raw-spinlock.patch rename to recipes-kernel/linux/linux-fslc-imx-rt/0004-imx-sdma-channel-use-raw-spinlock.patch diff --git a/recipes-kernel/linux/linux-fslc-mx6-rt/defconfig b/recipes-kernel/linux/linux-fslc-imx-rt/defconfig similarity index 100% rename from recipes-kernel/linux/linux-fslc-mx6-rt/defconfig rename to recipes-kernel/linux/linux-fslc-imx-rt/defconfig diff --git a/recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb b/recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb new file mode 100644 index 00000000..0a7bd36d --- /dev/null +++ b/recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb @@ -0,0 +1,31 @@ +SUMMARY = "Realtime version of the FSL Community BSP i.MX6 Linux kernel with backported features and fixes" +DESCRIPTION = "Linux kernel based on Freescale 3.14.52-1.1.0 GA release, used by FSL Community BSP in order to \ +provide support for i.MX6 based platforms and include official Linux kernel stable updates, backported \ +features and fixes coming from the vendors, kernel community or FSL Community itself. \ +In addition, this kernel has the realtime patch (PREEMPT_RT) applied." + +include linux-fslc.inc + +PV .= "+git${SRCPV}" + +SRCBRANCH = "3.14-1.1.x-imx" +SRCREV = "327d5c9063b715c91a88655533d5e477a0afe218" + +SRC_URI += "\ + https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patch-3.14.58-rt59.patch.gz;name=rt-patch1 \ + file://0001-fix-build.patch \ + file://0003-no-split-ptlocks.patch \ + file://0004-imx-sdma-channel-use-raw-spinlock.patch \ +" + +SRC_URI[rt-patch1.md5sum] = "d4b380eab31878e607e92fec3e150e8f" +SRC_URI[rt-patch1.sha256sum] = "56c8a9fc6b1c11883ee40b4edc529d19cf9ba0855dd0d0878581900f51d60064" + +python () { + using_builtin_driver = (d.getVar("MACHINE_USES_VIVANTE_KERNEL_DRIVER_MODULE", True) or "") != "1" + if not using_builtin_driver: + raise bb.parse.SkipPackage('You must use the builtin driver with the Linux RT patch as the external module does not yet include support for it. Set "MACHINE_USES_VIVANTE_KERNEL_DRIVER_MODULE" accordingly.') +} + + +COMPATIBLE_MACHINE = "(mx6|mx7)" diff --git a/recipes-kernel/linux/linux-fslc-mx6/defconfig b/recipes-kernel/linux/linux-fslc-imx/defconfig similarity index 89% rename from recipes-kernel/linux/linux-fslc-mx6/defconfig rename to recipes-kernel/linux/linux-fslc-imx/defconfig index 80f49e64..4fe1f7e8 100644 --- a/recipes-kernel/linux/linux-fslc-mx6/defconfig +++ b/recipes-kernel/linux/linux-fslc-imx/defconfig @@ -1,8 +1,9 @@ CONFIG_KERNEL_LZO=y CONFIG_SYSVIPC=y -CONFIG_FHANDLE=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=18 CONFIG_CGROUPS=y CONFIG_RELAY=y @@ -26,9 +27,12 @@ CONFIG_SOC_IMX53=y CONFIG_SOC_IMX6Q=y CONFIG_SOC_IMX6SL=y CONFIG_SOC_IMX6SX=y +CONFIG_SOC_IMX6UL=y +CONFIG_SOC_IMX7D=y CONFIG_SOC_VF610=y # CONFIG_SWP_EMULATE is not set CONFIG_SMP=y +CONFIG_HAVE_ARM_ARCH_TIMER=y CONFIG_VMSPLIT_2G=y CONFIG_PREEMPT=y CONFIG_AEABI=y @@ -44,6 +48,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_ARM_IMX6Q_CPUFREQ=y +CONFIG_ARM_IMX7D_CPUFREQ=y CONFIG_CPU_IDLE=y CONFIG_VFP=y CONFIG_NEON=y @@ -76,7 +81,6 @@ CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_HIDP=y CONFIG_BT_HCIBTUSB=y -CONFIG_BT_HCIBTSDIO=y CONFIG_BT_HCIUART=y CONFIG_BT_HCIUART_H4=y CONFIG_BT_HCIUART_BCSP=y @@ -113,6 +117,8 @@ CONFIG_MTD_UBI=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_SENSORS_FXOS8700=y +CONFIG_SENSORS_FXAS2100X=y CONFIG_EEPROM_AT24=y CONFIG_EEPROM_AT25=y # CONFIG_SCSI_PROC_FS is not set @@ -141,33 +147,38 @@ CONFIG_SMC91X=y CONFIG_SMC911X=y CONFIG_SMSC911X=y # CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_MICREL_PHY=y CONFIG_USB_PEGASUS=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m CONFIG_USB_USBNET=m CONFIG_USB_NET_CDC_EEM=m -CONFIG_ATH_CARDS=y -CONFIG_ATH6KL=m -CONFIG_ATH6KL_SDIO=m -CONFIG_BRCMFMAC=m +CONFIG_BCMDHD=m +CONFIG_BCMDHD_SDIO=y +CONFIG_BCMDHD_FW_PATH="/lib/firmware/bcm/fw_bcmdhd.bin" +CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/bcm/bcmdhd.cal" +# CONFIG_RTL_CARDS is not set # CONFIG_INPUT_MOUSEDEV_PSAUX is not set CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set +CONFIG_INPUT_EVBUG=m CONFIG_KEYBOARD_GPIO=y -CONFIG_KEYBOARD_SNVS_PWRKEY=y CONFIG_KEYBOARD_IMX=y CONFIG_MOUSE_PS2=m CONFIG_MOUSE_PS2_ELANTECH=y CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ADS7846=y CONFIG_TOUCHSCREEN_EGALAX=y CONFIG_TOUCHSCREEN_ELAN=y CONFIG_TOUCHSCREEN_MAX11801=y +CONFIG_TOUCHSCREEN_IMX6UL_TSC=y CONFIG_TOUCHSCREEN_MC13783=y CONFIG_TOUCHSCREEN_TSC2007=y CONFIG_TOUCHSCREEN_STMPE=y CONFIG_INPUT_MISC=y CONFIG_INPUT_MMA8450=y CONFIG_INPUT_ISL29023=y +CONFIG_INPUT_MPL3115=y +CONFIG_SENSOR_FXLS8471=y CONFIG_SERIO_SERPORT=m # CONFIG_LEGACY_PTYS is not set # CONFIG_DEVKMEM is not set @@ -183,8 +194,11 @@ CONFIG_I2C_ALGOPCF=m CONFIG_I2C_ALGOPCA=m CONFIG_I2C_IMX=y CONFIG_SPI=y +CONFIG_SPI_GPIO=y CONFIG_SPI_IMX=y CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_MAX732X=y +CONFIG_GPIO_74X164=y CONFIG_POWER_SUPPLY=y CONFIG_SABRESD_MAX8903=y CONFIG_SENSORS_MAX17135=y @@ -205,6 +219,7 @@ CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_ANATOP=y CONFIG_REGULATOR_DA9052=y +CONFIG_REGULATOR_GPIO=y CONFIG_REGULATOR_MAX17135=y CONFIG_REGULATOR_MC13783=y CONFIG_REGULATOR_MC13892=y @@ -229,6 +244,8 @@ CONFIG_VIDEO_MXC_IPU_OUTPUT=y CONFIG_VIDEO_MXC_PXP_V4L2=y CONFIG_VIDEO_MXC_CSI_CAMERA=m CONFIG_MXC_VADC=m +CONFIG_MXC_MIPI_CSI=m +CONFIG_MXC_CAMERA_OV5647_MIPI=m CONFIG_SOC_CAMERA=y CONFIG_VIDEO_MX3=y CONFIG_V4L_MEM2MEM_DRIVERS=y @@ -248,15 +265,17 @@ CONFIG_BACKLIGHT_PWM=y CONFIG_FB_MXC_SYNC_PANEL=y CONFIG_FB_MXC_LDB=y CONFIG_FB_MXC_MIPI_DSI=y +CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y CONFIG_FB_MXC_HDMI=y CONFIG_FB_MXC_EINK_PANEL=y +CONFIG_FB_MXC_EINK_V2_PANEL=y CONFIG_FB_MXS_SII902X=y CONFIG_FB_MXC_DCIC=m CONFIG_HANNSTAR_CABC=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -# CONFIG_LOGO is not set +CONFIG_LOGO=y CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_USB_AUDIO=m @@ -264,6 +283,9 @@ CONFIG_SND_SOC=y CONFIG_SND_IMX_SOC=y CONFIG_SND_SOC_EUKREA_TLV320=y CONFIG_SND_SOC_IMX_CS42888=y +CONFIG_SND_SOC_IMX_SII902X=y +CONFIG_SND_SOC_IMX_WM8958=y +CONFIG_SND_SOC_IMX_WM8960=y CONFIG_SND_SOC_IMX_WM8962=y CONFIG_SND_SOC_IMX_SGTL5000=y CONFIG_SND_SOC_IMX_MQS=y @@ -272,8 +294,11 @@ CONFIG_SND_SOC_IMX_MC13783=y CONFIG_SND_SOC_IMX_HDMI=y CONFIG_SND_SOC_IMX_SI476X=y CONFIG_USB=y +CONFIG_USB_OTG_WHITELIST=y +CONFIG_USB_OTG_FSM=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_MXC=y +CONFIG_USB_HCD_TEST_MODE=y CONFIG_USB_ACM=m CONFIG_USB_STORAGE=y CONFIG_USB_CHIPIDEA=y @@ -283,7 +308,7 @@ CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_FTDI_SIO=m CONFIG_USB_SERIAL_OPTION=m -CONFIG_USB_EHSET_TEST_FIXTURE=m +CONFIG_USB_EHSET_TEST_FIXTURE=y CONFIG_NOP_USB_XCEIV=y CONFIG_USB_MXS_PHY=y CONFIG_USB_GADGET=y @@ -312,8 +337,9 @@ CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MMC_SDHCI_ESDHC_IMX=y CONFIG_MXC_IPU=y CONFIG_MXC_GPU_VIV=y +CONFIG_MXC_IPU_V3_PRE=y CONFIG_MXC_MIPI_CSI2=y -CONFIG_MXC_MLB150=m +CONFIG_MXC_SIM=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y CONFIG_LEDS_GPIO=y @@ -330,6 +356,7 @@ CONFIG_RTC_DRV_MXC=y CONFIG_RTC_DRV_SNVS=y CONFIG_DMADEVICES=y CONFIG_MXC_PXP_V2=y +CONFIG_MXC_PXP_V3=y CONFIG_IMX_SDMA=y CONFIG_MXS_DMA=y CONFIG_STAGING=y @@ -337,6 +364,7 @@ CONFIG_STAGING_MEDIA=y # CONFIG_IOMMU_SUPPORT is not set CONFIG_IIO=y CONFIG_VF610_ADC=y +CONFIG_AD2802A=y CONFIG_PWM=y CONFIG_PWM_IMX=y CONFIG_EXT2_FS=y @@ -378,6 +406,11 @@ CONFIG_MAGIC_SYSRQ=y # CONFIG_SCHED_DEBUG is not set # CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_FTRACE is not set +CONFIG_CORESIGHT=y +CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y +CONFIG_CORESIGHT_SINK_TPIU=y +CONFIG_CORESIGHT_SINK_ETBV10=y +CONFIG_CORESIGHT_SOURCE_ETM3X=y CONFIG_SECURITYFS=y CONFIG_CRYPTO_USER=y CONFIG_CRYPTO_TEST=m diff --git a/recipes-kernel/linux/linux-fslc-mx6_3.14-1.0.x.bb b/recipes-kernel/linux/linux-fslc-imx_3.14-1.1.x.bb similarity index 58% rename from recipes-kernel/linux/linux-fslc-mx6_3.14-1.0.x.bb rename to recipes-kernel/linux/linux-fslc-imx_3.14-1.1.x.bb index f46c0b3c..a8d42fa6 100644 --- a/recipes-kernel/linux/linux-fslc-mx6_3.14-1.0.x.bb +++ b/recipes-kernel/linux/linux-fslc-imx_3.14-1.1.x.bb @@ -1,8 +1,8 @@ -# Copyright (C) 2015 O.S. Systems Software LTDA. +# Copyright (C) 2015, 2016 O.S. Systems Software LTDA. # Released under the MIT license (see COPYING.MIT for the terms) SUMMARY = "FSL Community BSP i.MX6 Linux kernel with backported features and fixes" -DESCRIPTION = "Linux kernel based on Freescale 3.14.28 GA release, used by FSL Community BSP in order to \ +DESCRIPTION = "Linux kernel based on Freescale 3.14.52-1.1.0 GA release, used by FSL Community BSP in order to \ provide support for i.MX6 based platforms and include official Linux kernel stable updates, backported \ features and fixes coming from the vendors, kernel community or FSL Community itself." @@ -10,7 +10,7 @@ include linux-fslc.inc PV .= "+git${SRCPV}" -SRCBRANCH = "3.14-1.0.x-mx6" -SRCREV = "964e5a3e65936e07f5d5189d233b8f8843687776" +SRCBRANCH = "3.14-1.1.x-imx" +SRCREV = "327d5c9063b715c91a88655533d5e477a0afe218" -COMPATIBLE_MACHINE = "(mx6)" +COMPATIBLE_MACHINE = "(mx6|mx7)" diff --git a/recipes-kernel/linux/linux-fslc-mx6-rt/0002-fix-build-with-rt-enabled.patch b/recipes-kernel/linux/linux-fslc-mx6-rt/0002-fix-build-with-rt-enabled.patch deleted file mode 100644 index 83652c96..00000000 --- a/recipes-kernel/linux/linux-fslc-mx6-rt/0002-fix-build-with-rt-enabled.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix build error when PREEMPT_RT_FULL is enabled - -Upstream-Status: Pending - -Signed-off-by: Jacob Kroon - -Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c -=================================================================== ---- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c -+++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c -@@ -3266,7 +3266,7 @@ gckOS_CreateMutex( - gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex)); - - /* Initialize the mutex. */ -- mutex_init(*Mutex); -+ mutex_init((struct mutex*)*Mutex); - - /* Return status. */ - gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex); diff --git a/recipes-kernel/linux/linux-fslc-mx6-rt_3.14-1.0.x.bb b/recipes-kernel/linux/linux-fslc-mx6-rt_3.14-1.0.x.bb deleted file mode 100644 index af65b725..00000000 --- a/recipes-kernel/linux/linux-fslc-mx6-rt_3.14-1.0.x.bb +++ /dev/null @@ -1,27 +0,0 @@ -# Adapted from linux-fslc-mx6_3.14-1.0.x.bb - -SUMMARY = "Realtime version of the FSL Community BSP i.MX6 Linux kernel with backported features and fixes" -DESCRIPTION = "Linux kernel based on Freescale 3.14.28 GA release, used by FSL Community BSP in order to \ -provide support for i.MX6 based platforms and include official Linux kernel stable updates, backported \ -features and fixes coming from the vendors, kernel community or FSL Community itself. \ -In addition, this kernel has the realtime patch (PREEMPT_RT) applied." - -include linux-fslc.inc - -PV .= "+git${SRCPV}" - -SRCBRANCH = "3.14-1.0.x-mx6" -SRCREV = "964e5a3e65936e07f5d5189d233b8f8843687776" - -SRC_URI += "\ - https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/older/patch-3.14.51-rt52.patch.gz;name=rt-patch1 \ - file://0001-fix-build.patch \ - file://0002-fix-build-with-rt-enabled.patch \ - file://0003-no-split-ptlocks.patch \ - file://0004-imx-sdma-channel-use-raw-spinlock.patch \ -" - -SRC_URI[rt-patch1.md5sum] = "236a97a3722c21403bbe60350e9be184" -SRC_URI[rt-patch1.sha256sum] = "a454c6fabbd3a0698feec6a1bb71bc8af8d8f40a424ca071b30bee40c32f2c20" - -COMPATIBLE_MACHINE = "(mx6)" -- 2.40.1