From 7d3a0bb9779829f1f376613495a3e0cdf7319b9b Mon Sep 17 00:00:00 2001 From: Henrik Grimler Date: Wed, 8 Nov 2023 21:43:39 +0100 Subject: [PATCH] samsung-chagallwifi: 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 | 5 +- .../01-fix-FIMC-IS-disabling.patch | 59 ------------------- ...mbols.patch => 01-netfilter-symbols.patch} | 0 ...ndom-rndis-host-MAC-address-to-prev.patch} | 0 .../linux-samsung-chagallwifi/APKBUILD | 20 +++---- .../config-samsung-chagallwifi.armv7 | 18 ++++-- 6 files changed, 27 insertions(+), 75 deletions(-) delete mode 100644 device/testing/linux-samsung-chagallwifi/01-fix-FIMC-IS-disabling.patch rename device/testing/linux-samsung-chagallwifi/{02-netfilter-symbols.patch => 01-netfilter-symbols.patch} (100%) rename device/testing/linux-samsung-chagallwifi/{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 6f22ee450..2279c506b 100644 --- a/device/testing/device-samsung-chagallwifi/APKBUILD +++ b/device/testing/device-samsung-chagallwifi/APKBUILD @@ -3,14 +3,15 @@ # Reference: pkgname=device-samsung-chagallwifi pkgdesc="Samsung Galaxy Tab S 10.5" -pkgver=1.3 -pkgrel=2 +pkgver=1.4 +pkgrel=0 url="https://postmarketos.org" license="MIT" arch="armv7" options="!check !archcheck" depends=" postmarketos-base + postmarketos-base-downstream-disable-udev-v4l postmarketos-update-kernel mkbootimg " diff --git a/device/testing/linux-samsung-chagallwifi/01-fix-FIMC-IS-disabling.patch b/device/testing/linux-samsung-chagallwifi/01-fix-FIMC-IS-disabling.patch deleted file mode 100644 index 3be0ad9ef..000000000 --- a/device/testing/linux-samsung-chagallwifi/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-chagallwifi/02-netfilter-symbols.patch b/device/testing/linux-samsung-chagallwifi/01-netfilter-symbols.patch similarity index 100% rename from device/testing/linux-samsung-chagallwifi/02-netfilter-symbols.patch rename to device/testing/linux-samsung-chagallwifi/01-netfilter-symbols.patch diff --git a/device/testing/linux-samsung-chagallwifi/03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch b/device/testing/linux-samsung-chagallwifi/02-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch similarity index 100% rename from device/testing/linux-samsung-chagallwifi/03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch rename to device/testing/linux-samsung-chagallwifi/02-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch diff --git a/device/testing/linux-samsung-chagallwifi/APKBUILD b/device/testing/linux-samsung-chagallwifi/APKBUILD index 349c624c5..d4f107744 100644 --- a/device/testing/linux-samsung-chagallwifi/APKBUILD +++ b/device/testing/linux-samsung-chagallwifi/APKBUILD @@ -5,7 +5,7 @@ pkgname=linux-samsung-chagallwifi pkgver=3.4.113 -pkgrel=4 +pkgrel=5 pkgdesc="Samsung Galaxy Tab S 10.5 kernel fork" arch="armv7" _carch="arm" @@ -22,9 +22,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 " @@ -46,10 +45,11 @@ package() { downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir" } -sha512sums="c10c0b457a37ca89172203d83b0c5efd3b4fd4a9e4ff5b64328737275cfc4b19d4a316eab61aa5561943f29f70bb2bebac0efba54854e01553b90b8dd639d4bd linux-samsung-chagallwifi-fed1690ca92e33cc6a5febe2e45dd909b9090d37.tar.gz -ab5a6ff22793a548d7fe9da163c764cf7898c2a1ee6825cd436eca4f1916dd37b8029a08b3e579dfe83fc691c16d765f605ba26e5cc434c18f57d368f718efa4 config-samsung-chagallwifi.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=" +c10c0b457a37ca89172203d83b0c5efd3b4fd4a9e4ff5b64328737275cfc4b19d4a316eab61aa5561943f29f70bb2bebac0efba54854e01553b90b8dd639d4bd linux-samsung-chagallwifi-fed1690ca92e33cc6a5febe2e45dd909b9090d37.tar.gz +9f5a290e6675208ef616e2f0aea721dc14708e35fb12da1cb0e19dc21ccc05c53ba4698f916f8aad685931f629c2db2aae80cb31f38225984e863c26f49116dd config-samsung-chagallwifi.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" +197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch +" diff --git a/device/testing/linux-samsung-chagallwifi/config-samsung-chagallwifi.armv7 b/device/testing/linux-samsung-chagallwifi/config-samsung-chagallwifi.armv7 index aeed08fb5..e3f42771a 100644 --- a/device/testing/linux-samsung-chagallwifi/config-samsung-chagallwifi.armv7 +++ b/device/testing/linux-samsung-chagallwifi/config-samsung-chagallwifi.armv7 @@ -361,6 +361,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 @@ -383,7 +384,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 @@ -406,6 +408,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 @@ -2248,6 +2251,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 # @@ -2334,7 +2344,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 @@ -2356,8 +2366,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 #