From 89d074c76280a64bdea05c5e8591c2184ff51abd Mon Sep 17 00:00:00 2001 From: Henrik Grimler Date: Wed, 8 Nov 2023 21:47:04 +0100 Subject: [PATCH] samsung-klimtlte: enable FIMC IS with downstream kernel (MR 4721) As for several other exynos devices we need to disable the video4linux's udev rule OR disable FIMC IS and patch kernel to fix build error without FIMC IS. Add dependency on postmarketos-base-downstream-disable-udev-v4l to override the v4l rule with symlink to /dev/null. We can then drop FIMC IS patch and keep kernel config more similar to original one. --- .../device-samsung-chagallwifi/APKBUILD | 2 +- .../testing/device-samsung-klimtlte/APKBUILD | 4 +- .../01-fix-FIMC-IS-disabling.patch | 59 ------------------- ...mbols.patch => 01-netfilter-symbols.patch} | 0 ...ndom-rndis-host-MAC-address-to-prev.patch} | 0 .../testing/linux-samsung-klimtlte/APKBUILD | 20 +++---- .../config-samsung-klimtlte.armv7 | 18 ++++-- 7 files changed, 27 insertions(+), 76 deletions(-) delete mode 100644 device/testing/linux-samsung-klimtlte/01-fix-FIMC-IS-disabling.patch rename device/testing/linux-samsung-klimtlte/{02-netfilter-symbols.patch => 01-netfilter-symbols.patch} (100%) rename device/testing/linux-samsung-klimtlte/{03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch => 02-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch} (100%) diff --git a/device/testing/device-samsung-chagallwifi/APKBUILD b/device/testing/device-samsung-chagallwifi/APKBUILD index 2279c506b..f3bbbb6a0 100644 --- a/device/testing/device-samsung-chagallwifi/APKBUILD +++ b/device/testing/device-samsung-chagallwifi/APKBUILD @@ -11,7 +11,6 @@ arch="armv7" options="!check !archcheck" depends=" postmarketos-base - postmarketos-base-downstream-disable-udev-v4l postmarketos-update-kernel mkbootimg " @@ -39,6 +38,7 @@ kernel_downstream() { linux-samsung-chagallwifi msm-fb-refresher postmarketos-base-downstream + postmarketos-base-downstream-disable-udev-v4l " devicepkg_subpackage_kernel $startdir $pkgname $subpkgname } diff --git a/device/testing/device-samsung-klimtlte/APKBUILD b/device/testing/device-samsung-klimtlte/APKBUILD index 9506a7c49..a11797bf8 100644 --- a/device/testing/device-samsung-klimtlte/APKBUILD +++ b/device/testing/device-samsung-klimtlte/APKBUILD @@ -2,8 +2,8 @@ # Reference: pkgname=device-samsung-klimtlte pkgdesc="Samsung Galaxy Tab S 8.4 LTE" -pkgver=1.3 -pkgrel=2 +pkgver=1.4 +pkgrel=0 url="https://postmarketos.org" license="MIT" arch="armv7" diff --git a/device/testing/linux-samsung-klimtlte/01-fix-FIMC-IS-disabling.patch b/device/testing/linux-samsung-klimtlte/01-fix-FIMC-IS-disabling.patch deleted file mode 100644 index 3be0ad9ef..000000000 --- a/device/testing/linux-samsung-klimtlte/01-fix-FIMC-IS-disabling.patch +++ /dev/null @@ -1,59 +0,0 @@ -commit 611c7138d2812827c3a62940576bf62c61cd8515 -Author: Henrik Grimler -Date: Fri Nov 27 18:01:34 2020 +0100 - - Fix so that FIMC IS can be disabled - - * mach-exynos: don't set EXYNOS5_{DEV,SETUP}_FIMC_IS for universal5420 - - * board-universal5420-media: add ifdef guard to fix compilation error - - * pm_domains: always init exynos54xx_pd_isp to prevent null pointer dereference - -diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig -index 2aed1a4dfbac..9667d665363d 100644 ---- a/arch/arm/mach-exynos/Kconfig -+++ b/arch/arm/mach-exynos/Kconfig -@@ -883,8 +883,6 @@ config MACH_UNIVERSAL5420 - select EXYNOS5_SETUP_HSI2C4 - select EXYNOS5_SETUP_HSI2C5 - select EXYNOS5_SETUP_HSI2C6 -- select EXYNOS5_DEV_FIMC_IS -- select EXYNOS5_SETUP_FIMC_IS - help - Machine support for Universal board based on EXYNOS5420 - endif -diff --git a/arch/arm/mach-exynos/board-universal5420-media.c b/arch/arm/mach-exynos/board-universal5420-media.c -index 91677b04f9e8..4e461819fa68 100644 ---- a/arch/arm/mach-exynos/board-universal5420-media.c -+++ b/arch/arm/mach-exynos/board-universal5420-media.c -@@ -1166,6 +1166,7 @@ void __init exynos5_universal5420_media_init(void) - sizeof(s5p_mipi_csis1_default_data), &s5p_device_mipi_csis1); - #endif - -+#ifdef CONFIG_VISION_MODE - #ifdef CONFIG_VIDEO_EXYNOS_FIMC_LITE - #if !defined(CONFIG_V1A) && !defined(CONFIG_V2A) - s3c_i2c1_set_platdata(NULL); -@@ -1178,6 +1179,7 @@ void __init exynos5_universal5420_media_init(void) - s3c_set_platdata(&exynos_flite2_default_data, - sizeof(exynos_flite2_default_data), &exynos_device_flite2); - #endif -+#endif /* CONFIG_VISION_MODE */ - - /* camera */ - #ifdef CONFIG_VIDEO_EXYNOS5_FIMC_IS -diff --git a/arch/arm/mach-exynos/pm_domains5.c b/arch/arm/mach-exynos/pm_domains5.c -index 3220333bed94..2599bb756958 100644 ---- a/arch/arm/mach-exynos/pm_domains5.c -+++ b/arch/arm/mach-exynos/pm_domains5.c -@@ -1224,8 +1224,8 @@ static int exynos5420_pm_domain_init(void) - exynos_pm_add_clk(&exynos5420_spd_mscl1, NULL, "mscl"); - exynos_pm_add_clk(&exynos5420_spd_mscl2, NULL, "mscl"); - #endif --#ifdef CONFIG_EXYNOS5_DEV_FIMC_IS - exynos_pm_powerdomain_init(&exynos54xx_pd_isp); -+#ifdef CONFIG_EXYNOS5_DEV_FIMC_IS - exynos_pm_add_platdev(&exynos54xx_pd_isp, &exynos5_device_fimc_is); - exynos_pm_add_platdev(&exynos54xx_pd_isp, &s3c64xx_device_spi3); - exynos_pm_add_clk(&exynos54xx_pd_isp, &exynos5_device_fimc_is.dev, "gscl_wrap0"); diff --git a/device/testing/linux-samsung-klimtlte/02-netfilter-symbols.patch b/device/testing/linux-samsung-klimtlte/01-netfilter-symbols.patch similarity index 100% rename from device/testing/linux-samsung-klimtlte/02-netfilter-symbols.patch rename to device/testing/linux-samsung-klimtlte/01-netfilter-symbols.patch diff --git a/device/testing/linux-samsung-klimtlte/03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch b/device/testing/linux-samsung-klimtlte/02-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch similarity index 100% rename from device/testing/linux-samsung-klimtlte/03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch rename to device/testing/linux-samsung-klimtlte/02-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch diff --git a/device/testing/linux-samsung-klimtlte/APKBUILD b/device/testing/linux-samsung-klimtlte/APKBUILD index a95f027b9..eee7d86bc 100644 --- a/device/testing/linux-samsung-klimtlte/APKBUILD +++ b/device/testing/linux-samsung-klimtlte/APKBUILD @@ -4,7 +4,7 @@ pkgname=linux-samsung-klimtlte pkgver=3.4.113 -pkgrel=2 +pkgrel=3 pkgdesc="Samsung Galaxy Tab S 8.4 LTE kernel fork" arch="armv7" _carch="arm" @@ -30,9 +30,8 @@ _config="config-$_flavor.$arch" source=" $pkgname-$_commit.tar.gz::https://github.com/exynos5420/$_repository/archive/$_commit.tar.gz $_config - 01-fix-FIMC-IS-disabling.patch - 02-netfilter-symbols.patch - 03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch + 01-netfilter-symbols.patch + 02-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch gcc7-give-up-on-ilog2-const-optimizations.patch gcc8-fix-put-user.patch gcc10-extern_YYLOC_global_declaration.patch @@ -56,12 +55,13 @@ package() { downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir" } -sha512sums="38bb1af78097f32ec594d3c7dd393c1fe449c4c892b567b1558a999143049e1bc2fa7375ecd54477be97066534e0dd875c01453e4658b4ae3f91e346e0b3b6ea linux-samsung-klimtlte-c1a203cee565eb20a9b5bc2daf1c1b650a420fe5.tar.gz -67c3c109ea34ef4233b064a2200374a2c8b578a5bc2bdda9eb4ed5437832e8b3809574582416084e05a903ac4cc5d3dfbf4ee622e04a7adf25d2111540fef399 config-samsung-klimtlte.armv7 -00c86b897193340ce4e8184e622d830d16efe9a5c10c12357e5f6ab98193a28f69c0006bdfe0d3429f1136a9820b8f8ff262d07b0314e40f4c7b664013e0b8a6 01-fix-FIMC-IS-disabling.patch -5214a850d496bed9e17575bd0b52e9e4415bcbd5a89863f924c5bfed848f684c0a95e8d10c9ef93c0e00149f034cf5e897d1b268be35676a600b3ee6e1917501 02-netfilter-symbols.patch -5fad0940e90da71277b70b6e72fbb75fcc5e12625e65f827ae896d448628b252b3312539f9c184b26ffe5ca3b343a56b388ea6addb7fe446c7d1ae2aefb4b51e 03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch +sha512sums=" +38bb1af78097f32ec594d3c7dd393c1fe449c4c892b567b1558a999143049e1bc2fa7375ecd54477be97066534e0dd875c01453e4658b4ae3f91e346e0b3b6ea linux-samsung-klimtlte-c1a203cee565eb20a9b5bc2daf1c1b650a420fe5.tar.gz +896fadb4d8a1da5f9d7406b174c5adb6cd5e431342fa0d84b05fefcb6bdc251d48a848615d543548a0f6ef46e682b3bb53e159b94f406cdff09ffb5cbd3d7906 config-samsung-klimtlte.armv7 +5214a850d496bed9e17575bd0b52e9e4415bcbd5a89863f924c5bfed848f684c0a95e8d10c9ef93c0e00149f034cf5e897d1b268be35676a600b3ee6e1917501 01-netfilter-symbols.patch +5fad0940e90da71277b70b6e72fbb75fcc5e12625e65f827ae896d448628b252b3312539f9c184b26ffe5ca3b343a56b388ea6addb7fe446c7d1ae2aefb4b51e 02-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch 77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch 197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch 2b48f1bf0e3f70703d2cdafc47d5e615cc7c56c70bec56b2e3297d3fa4a7a1321d649a8679614553dde8fe52ff1051dae38d5990e3744c9ca986d92187dcdbeb gcc10-extern_YYLOC_global_declaration.patch -7488e1b2714bb5771375684b4e27c0e773720da57f6d7b9a74225bfd2b21493f9e20ee219e7c6f8cfb57cda7b17f86fa2bc35a1b26471b1d7cee3f5b5ab6562a kernel-use-the-gnu89-standard-explicitly.patch" +7488e1b2714bb5771375684b4e27c0e773720da57f6d7b9a74225bfd2b21493f9e20ee219e7c6f8cfb57cda7b17f86fa2bc35a1b26471b1d7cee3f5b5ab6562a kernel-use-the-gnu89-standard-explicitly.patch +" diff --git a/device/testing/linux-samsung-klimtlte/config-samsung-klimtlte.armv7 b/device/testing/linux-samsung-klimtlte/config-samsung-klimtlte.armv7 index 1966540c1..04816b8a3 100644 --- a/device/testing/linux-samsung-klimtlte/config-samsung-klimtlte.armv7 +++ b/device/testing/linux-samsung-klimtlte/config-samsung-klimtlte.armv7 @@ -364,6 +364,7 @@ CONFIG_S5P_DEV_FIMD1=y CONFIG_S5P_DEV_MFC=y CONFIG_S5P_DEV_TV=y CONFIG_S5P_DEV_USB_EHCI=y +CONFIG_S5P_SETUP_MIPIPHY=y # # SAMSUNG EXYNOS SoCs Support @@ -386,7 +387,8 @@ CONFIG_EXYNOS_SETUP_DP=y CONFIG_EXYNOS_DEV_SYSMMU=y CONFIG_EXYNOS_DEV_DWMCI=y CONFIG_EXYNOS4_DEV_FIMC_LITE=y -# CONFIG_CAMERA_EEPROM is not set +CONFIG_CAMERA_EEPROM=y +CONFIG_EXYNOS5_DEV_FIMC_IS=y CONFIG_EXYNOS4_DEV_USB_OHCI=y CONFIG_EXYNOS5_DEV_USB3_DRD=y CONFIG_EXYNOS_DEV_USB_SWITCH=y @@ -409,6 +411,7 @@ CONFIG_EXYNOS5_SETUP_HSI2C5=y CONFIG_EXYNOS5_SETUP_HSI2C6=y CONFIG_EXYNOS4_SETUP_MFC=y CONFIG_EXYNOS4_SETUP_USB_PHY=y +CONFIG_EXYNOS5_SETUP_FIMC_IS=y CONFIG_EXYNOS_SETUP_SPI=y # CONFIG_EXYNOS5_CORESIGHT is not set CONFIG_SAMSUNG_PRODUCT_SHIP=y @@ -2333,6 +2336,13 @@ CONFIG_VIDEO_IR_I2C=y # CONFIG_VIDEO_TCM825X is not set # CONFIG_VIDEO_SR030PC30 is not set # CONFIG_VIDEO_NOON010PC30 is not set +CONFIG_VIDEO_S5K6B2=y +# CONFIG_S5K6B2_CSI_C is not set +CONFIG_S5K6B2_CSI_D=y +CONFIG_S5K6B2_POSITION_FRONT=y +# CONFIG_S5K6B2_POSITION_REAR is not set +CONFIG_VISION_MODE=y +# CONFIG_VIDEO_M5MOLS is not set # CONFIG_VIDEO_S5K6AA is not set # @@ -2419,7 +2429,7 @@ CONFIG_USB_GSPCA=y CONFIG_VIDEO_EXYNOS=y CONFIG_EXYNOS_MEDIA_DEVICE=y CONFIG_VIDEO_EXYNOS_FIMC_LITE=y -# CONFIG_VIDEO_EXYNOS_MIPI_CSIS is not set +CONFIG_VIDEO_EXYNOS_MIPI_CSIS=y CONFIG_VIDEO_EXYNOS_GSCALER=y CONFIG_VIDEO_EXYNOS_SCALER=y # CONFIG_SCALER_NO_SOFTRST is not set @@ -2441,8 +2451,8 @@ CONFIG_VIDEO_EXYNOS_MIXER=y # CONFIG_VIDEO_EXYNOS_HDMI_CEC is not set # CONFIG_VIDEO_EXYNOS_MIXER_DEBUG is not set # CONFIG_VIDEO_EXYNOS_ROTATOR is not set -# CONFIG_VIDEO_EXYNOS5_FIMC_IS is not set -# CONFIG_VIDEO_EXYNOS5_FIMC_IS_SENSOR is not set +CONFIG_VIDEO_EXYNOS5_FIMC_IS=y +CONFIG_VIDEO_EXYNOS5_FIMC_IS_SENSOR=y CONFIG_MEDIA_EXYNOS=y #