From 705df3d275a71294406940f48dffbe05d3d5edb9 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Thu, 20 Jun 2024 20:00:33 +0800
Subject: [PATCH] PATCH:IGKBoard-IMX6ULL: Update linux kernel patch for LCD display
---
kernel/patches/igkboard-imx6ull/linux-imx-lf-6.1.36-2.1.0.patch | 181 ++++++++++++++------------------------------
1 files changed, 58 insertions(+), 123 deletions(-)
diff --git a/kernel/patches/igkboard-imx6ull/linux-imx-lf-6.1.36-2.1.0.patch b/kernel/patches/igkboard-imx6ull/linux-imx-lf-6.1.36-2.1.0.patch
index fffccc6..daa7315 100644
--- a/kernel/patches/igkboard-imx6ull/linux-imx-lf-6.1.36-2.1.0.patch
+++ b/kernel/patches/igkboard-imx6ull/linux-imx-lf-6.1.36-2.1.0.patch
@@ -812,10 +812,10 @@
+
diff --git a/arch/arm/boot/dts/igkboard-imx6ull/lcd.dts b/arch/arm/boot/dts/igkboard-imx6ull/lcd.dts
new file mode 100644
-index 000000000..ef1c479bf
+index 000000000..061cc612b
--- /dev/null
+++ b/arch/arm/boot/dts/igkboard-imx6ull/lcd.dts
-@@ -0,0 +1,82 @@
+@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
+ * Author: Guo Wenxue<guowenxue@gmail.com>
@@ -839,6 +839,7 @@
+ };
+};
+
++/* CONFIG_DRM_MXSFB use DRM driver: drivers/gpu/drm/mxsfb/mxsfb_drv.c */
+&lcdif {
+ assigned-clocks = <&clks IMX6UL_CLK_LCDIF_PRE_SEL>;
+ assigned-clock-parents = <&clks IMX6UL_CLK_PLL5_VIDEO_DIV>;
@@ -898,7 +899,6 @@
+ >;
+ };
+};
-\ No newline at end of file
diff --git a/arch/arm/boot/dts/igkboard-imx6ull/nbiot-4g.dts b/arch/arm/boot/dts/igkboard-imx6ull/nbiot-4g.dts
new file mode 100644
index 000000000..07e278e7e
@@ -1222,10 +1222,10 @@
+
diff --git a/arch/arm/configs/igkboard-imx6ull_defconfig b/arch/arm/configs/igkboard-imx6ull_defconfig
new file mode 100644
-index 000000000..84a721bc4
+index 000000000..87fd9dcfe
--- /dev/null
+++ b/arch/arm/configs/igkboard-imx6ull_defconfig
-@@ -0,0 +1,604 @@
+@@ -0,0 +1,574 @@
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
@@ -1247,8 +1247,6 @@
+CONFIG_EXPERT=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PERF_EVENTS=y
-+# CONFIG_SLUB_DEBUG is not set
-+# CONFIG_COMPAT_BRK is not set
+CONFIG_ARCH_MXC=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SL=y
@@ -1261,7 +1259,6 @@
+CONFIG_VMSPLIT_2G=y
+CONFIG_ARM_PSCI=y
+CONFIG_HIGHMEM=y
-+CONFIG_FORCE_MAX_ZONEORDER=14
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_KEXEC=y
+CONFIG_CPU_FREQ=y
@@ -1286,10 +1283,13 @@
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_BINFMT_MISC=m
++# CONFIG_COMPAT_BRK is not set
+CONFIG_CMA=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
++CONFIG_TLS=y
++CONFIG_TLS_DEVICE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_PNP=y
@@ -1298,7 +1298,6 @@
+CONFIG_VLAN_8021Q=m
+CONFIG_LLC2=y
+CONFIG_CAN=y
-+CONFIG_CAN_FLEXCAN=y
+CONFIG_BT=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
@@ -1391,6 +1390,7 @@
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_MICREL_PHY=y
+CONFIG_AT803X_PHY=y
++CONFIG_CAN_FLEXCAN=y
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=y
@@ -1462,14 +1462,17 @@
+CONFIG_SPI_SLAVE_TIME=y
+CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y
+CONFIG_GPIO_SYSFS=y
++CONFIG_GPIO_IMX_RPMSG=y
+CONFIG_GPIO_MXC=y
+CONFIG_GPIO_SIOX=m
-+CONFIG_GPIO_IMX_RPMSG=y
+CONFIG_GPIO_MAX732X=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCF857X=y
+CONFIG_GPIO_STMPE=y
+CONFIG_GPIO_74X164=y
++CONFIG_W1=y
++CONFIG_W1_MASTER_GPIO=y
++CONFIG_W1_SLAVE_THERM=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_POWER_RESET_SYSCON_POWEROFF=y
@@ -1497,6 +1500,7 @@
+CONFIG_MFD_DA9063=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
++CONFIG_MFD_MXC_HDMI=y
+CONFIG_MFD_MAX17135=y
+CONFIG_MFD_RN5T618=y
+CONFIG_MFD_SI476X_CORE=y
@@ -1523,9 +1527,9 @@
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_RADIO_SI476X=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
++CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MUX=y
+CONFIG_VIDEO_MXC_CAPTURE=m
-+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_CSI_CAMERA=m
+CONFIG_MXC_VADC=m
+CONFIG_MXC_MIPI_CSI=m
@@ -1535,40 +1539,29 @@
+CONFIG_MXC_CAMERA_OV5640_MIPI_V2=m
+CONFIG_MXC_TVIN_ADV7180=m
+CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
++CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
+CONFIG_VIDEO_MXC_PXP_V4L2=y
-+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_CODA=m
+CONFIG_VIDEO_IMX_PXP=y
-+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_OV2680=m
+CONFIG_VIDEO_OV5645=m
++CONFIG_VIDEO_ADV7180=m
+CONFIG_DRM=y
+CONFIG_DRM_PANEL_LVDS=y
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
+CONFIG_DRM_TI_TFP410=y
++CONFIG_DRM_MXSFB=y
+CONFIG_FB=y
-+CONFIG_FB_MXS=y
++# CONFIG_FB_MX3 is not set
+CONFIG_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXC_OVERLAY=y
-+CONFIG_FB_MXC_MIPI_DSI_NORTHWEST=y
-+CONFIG_FB_MXC_ADV7535=y
-+CONFIG_FB_MXC_TRULY_PANEL_TFT3P5581E=y
-+CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
-+CONFIG_FB_MXC_RK_PANEL_RK055AHD042=y
-+CONFIG_FB_MXC_RK_PANEL_RK055IQH042=y
-+CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
-+CONFIG_FB_MXC_MIPI_DSI=y
-+CONFIG_FB_MXC_LDB=y
-+CONFIG_FB_MXC_EINK_PANEL=y
-+CONFIG_FB_MXC_EINK_V2_PANEL=y
-+CONFIG_FB_MXC_HDMI=y
-+CONFIG_FB_MXS_SII902X=y
-+CONFIG_FB_MXC_DCIC=y
++# CONFIG_FB_MXC_EDID is not set
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
++CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_BACKLIGHT_GPIO=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
@@ -1710,7 +1703,6 @@
+CONFIG_MXC_SIMv2=y
+CONFIG_MXC_MLB150=y
+CONFIG_MXC_IPU_V3_PRE=y
-+CONFIG_MXC_HDMI_CEC=y
+CONFIG_MXC_MIPI_CSI2=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
@@ -1747,30 +1739,13 @@
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
++CONFIG_TRUSTED_KEYS=m
++# CONFIG_TRUSTED_KEYS_TEE is not set
++# CONFIG_TRUSTED_KEYS_CAAM is not set
+CONFIG_SECURITYFS=y
+CONFIG_CRYPTO_USER=y
+CONFIG_CRYPTO_TEST=m
-+CONFIG_CRYPTO_ECHAINIV=m
-+CONFIG_CRYPTO_TLS=m
-+CONFIG_CRYPTO_CFB=m
-+CONFIG_CRYPTO_CTS=m
-+CONFIG_CRYPTO_LRW=m
-+CONFIG_CRYPTO_OFB=m
-+CONFIG_CRYPTO_PCBC=m
-+CONFIG_CRYPTO_XCBC=m
-+CONFIG_CRYPTO_VMAC=m
-+CONFIG_CRYPTO_XXHASH=m
-+CONFIG_CRYPTO_BLAKE2B=m
-+CONFIG_CRYPTO_BLAKE2S=m
-+CONFIG_CRYPTO_MD4=m
-+CONFIG_CRYPTO_MD5=m
-+CONFIG_CRYPTO_RMD160=m
-+CONFIG_CRYPTO_SHA3=m
-+CONFIG_CRYPTO_SM3=m
-+CONFIG_CRYPTO_STREEBOG=m
-+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
-+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
@@ -1780,17 +1755,36 @@
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
-+CONFIG_CRYPTO_SM4=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_ARC4=m
++CONFIG_CRYPTO_CFB=m
++CONFIG_CRYPTO_CTS=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_OFB=m
++CONFIG_CRYPTO_PCBC=m
++CONFIG_CRYPTO_ECHAINIV=m
++CONFIG_CRYPTO_TLS=m
++CONFIG_CRYPTO_BLAKE2B=m
++CONFIG_CRYPTO_MD4=m
++CONFIG_CRYPTO_MD5=m
++CONFIG_CRYPTO_RMD160=m
++CONFIG_CRYPTO_SHA3=m
++CONFIG_CRYPTO_STREEBOG=m
++CONFIG_CRYPTO_VMAC=m
++CONFIG_CRYPTO_WP512=m
++CONFIG_CRYPTO_XCBC=m
++CONFIG_CRYPTO_XXHASH=m
+CONFIG_CRYPTO_ANSI_CPRNG=m
++CONFIG_CRYPTO_USER_API_HASH=m
++CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_USER_API_RNG=m
++CONFIG_CRYPTO_USER_API_AEAD=m
+CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=m
+CONFIG_CRYPTO_DEV_FSL_CAAM=m
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m
+CONFIG_CRYPTO_DEV_SAHARA=y
+CONFIG_CRYPTO_DEV_MXS_DCP=y
-+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
@@ -1802,36 +1796,12 @@
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
++# CONFIG_SLUB_DEBUG is not set
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_FTRACE is not set
-+
-+# enable AF_ALG
-+CONFIG_CRYPTO_USER_API_HASH=m
-+CONFIG_CRYPTO_USER_API_SKCIPHER=m
-+CONFIG_CRYPTO_USER_API_AEAD=m
-+
-+# enable KTLS
-+CONFIG_TLS=y
-+CONFIG_TLS_DEVICE=y
-+
-+#enable trust based hardware key
-+CONFIG_TRUSTED_KEYS=m
-+CONFIG_TRUSTED_KEYS_TPM=n
-+CONFIG_TRUSTED_KEYS_TEE=n
-+CONFIG_TRUSTED_KEYS_CAAM=n
-+CONFIG_TRUSTED_KEYS_DCP=y
-+
-+# Custom Addition of Linke
-+# enable one wire device driver
-+CONFIG_W1=y
-+CONFIG_W1_MASTER_GPIO=y
-+CONFIG_W1_SLAVE_THERM=y
-+
-+# enable drm to realize fb
-+CONFIG_DRM_MXSFB=y
diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
-index 582db321e..7444c06e4 100644
+index 582db321e..40891eef4 100644
--- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
@@ -370,7 +370,7 @@ static int mxsfb_probe(struct platform_device *pdev)
@@ -1843,17 +1813,8 @@
return 0;
-@@ -426,7 +426,7 @@ static struct platform_driver mxsfb_platform_driver = {
- .remove = mxsfb_remove,
- .shutdown = mxsfb_shutdown,
- .driver = {
-- .name = "mxsfb",
-+ .name = "mxsfb-drm",
- .of_match_table = mxsfb_dt_ids,
- .pm = &mxsfb_pm_ops,
- },
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
-index 009e3e96c..3b158fd50 100644
+index 009e3e96c..670e30b8d 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -4024,8 +4024,33 @@ static const struct panel_desc arm_rtsm = {
@@ -1861,24 +1822,24 @@
};
+static const struct drm_display_mode igkboard_6ull_panel_mode[] = {
-+ {
++ {
+ .clock = 30000,
-+ .hdisplay = 800,
++ .hdisplay = 800,
+ .hsync_start = 800 + 40,
+ .hsync_end = 800 + 40 + 48,
+ .htotal = 800 + 40 + 48 + 88,
-+ .vdisplay = 480,
++ .vdisplay = 480,
+ .vsync_start = 480 + 13,
-+ .vsync_end = 480 + 13 + 3,
++ .vsync_end = 480 + 13 + 3,
+ .vtotal = 480 + 13 + 3 + 32,
+ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
-+ },
++ },
+};
+
+static const struct panel_desc igkboard_6ull_panel = {
+ .modes = igkboard_6ull_panel_mode,
-+ .num_modes = 1,
-+ .bpc = 8,
++ .num_modes = 1,
++ .bpc = 8,
+ .bus_format = MEDIA_BUS_FMT_RGB565_1X16,
+};
+
@@ -1890,28 +1851,15 @@
.compatible = "ampire,am-1280800n3tzqw-t00h",
.data = &ire_am_1280800n3tzqw_t00h,
}, {
-diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
-index b28ac814a..12143bbea 100644
---- a/drivers/video/backlight/pwm_bl.c
-+++ b/drivers/video/backlight/pwm_bl.c
-@@ -53,7 +53,7 @@ static void pwm_backlight_power_on(struct pwm_bl_data *pb)
- if (err < 0)
- dev_err(pb->dev, "failed to enable power supply\n");
-
-- state.enabled = true;
-+ state.enabled = true; /* enalbe backlight as default */
- pwm_apply_state(pb->pwm, &state);
-
- if (pb->post_pwm_on_delay)
diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
-index fa205be94..8bb25f64f 100644
+index fa205be94..5b8cdb642 100644
--- a/drivers/video/fbdev/core/fbcon.c
+++ b/drivers/video/fbdev/core/fbcon.c
@@ -345,6 +345,7 @@ static int get_color(struct vc_data *vc, struct fb_info *info,
return color;
}
-+#if 0 /* comment by guowenxue */
++#if 0 /* comment by guowenxue to remove cursor */
static void fb_flashcursor(struct work_struct *work)
{
struct fbcon_ops *ops = container_of(work, struct fbcon_ops, cursor_work.work);
@@ -1929,7 +1877,7 @@
ops->clear_margins(vc, info, margin_color, bottom_only);
}
-+#if 0 /* comment by guowenxue */
++#if 0 /* comment by guowenxue to remove cursor */
static void fbcon_cursor(struct vc_data *vc, int mode)
{
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
@@ -1943,16 +1891,3 @@
static int scrollback_phys_max = 0;
static int scrollback_max = 0;
-diff --git a/drivers/video/fbdev/mxsfb.c b/drivers/video/fbdev/mxsfb.c
-index 862278022..ce647f570 100644
---- a/drivers/video/fbdev/mxsfb.c
-+++ b/drivers/video/fbdev/mxsfb.c
-@@ -1586,7 +1586,7 @@ MODULE_DEVICE_TABLE(platform, mxsfb_devtype);
-
- static const struct of_device_id mxsfb_dt_ids[] = {
- { .compatible = "fsl,imx23-lcdif", .data = &mxsfb_devtype[0], },
-- { .compatible = "fsl,imx28-lcdif", .data = &mxsfb_devtype[1], },
-+ //{ .compatible = "fsl,imx28-lcdif", .data = &mxsfb_devtype[1], }, /* Use DRM driver as default */
- { .compatible = "fsl,imx7ulp-lcdif", .data = &mxsfb_devtype[2], },
- { /* sentinel */ }
- };
--
Gitblit v1.9.1