From ee06173ae772cb9df02dd4f23cec28839da8d2c4 Mon Sep 17 00:00:00 2001 From: Timon Baetz Date: Tue, 6 Apr 2021 13:22:28 +0200 Subject: [PATCH] main/linux-postmarketos-exynos4: add front camera support for i9100 (MR 2097) Add a patch that ads the Samsung S5K5BAF CMOS image sensor and enables the associated MIPI CSI-2 receiver node. Also update to the latest stable kernel. [ci:skip-build] already built successfully in CI --- ...os-Add-front-camera-support-to-I9100.patch | 93 +++++++++++++++++++ main/linux-postmarketos-exynos4/APKBUILD | 8 +- .../config-postmarketos-exynos4.armv7 | 21 ++++- 3 files changed, 116 insertions(+), 6 deletions(-) create mode 100644 main/linux-postmarketos-exynos4/0011-ARM-dts-exynos-Add-front-camera-support-to-I9100.patch diff --git a/main/linux-postmarketos-exynos4/0011-ARM-dts-exynos-Add-front-camera-support-to-I9100.patch b/main/linux-postmarketos-exynos4/0011-ARM-dts-exynos-Add-front-camera-support-to-I9100.patch new file mode 100644 index 000000000..5d462f865 --- /dev/null +++ b/main/linux-postmarketos-exynos4/0011-ARM-dts-exynos-Add-front-camera-support-to-I9100.patch @@ -0,0 +1,93 @@ +From 0c13c224414a56f6112f915bdd866569975dab27 Mon Sep 17 00:00:00 2001 +From: Timon Baetz +Date: Fri, 26 Mar 2021 16:56:01 +0100 +Subject: [PATCH] ARM: dts: exynos: Add front camera support to I9100 + +Add node for Samsung S5K5BAF CMOS image sensor and +enable the associated MIPI CSI-2 receiver node. + +Signed-off-by: Timon Baetz +--- +v2: Rename node from s5k5bafx to image-sensor and use GPIO_ACTIVE_LOW + + arch/arm/boot/dts/exynos4210-i9100.dts | 52 ++++++++++++++++++++++++++ + 1 file changed, 52 insertions(+) + +diff --git a/arch/arm/boot/dts/exynos4210-i9100.dts b/arch/arm/boot/dts/exynos4210-i9100.dts +index 228de6d8c9d1..f47b6eaf208f 100644 +--- a/arch/arm/boot/dts/exynos4210-i9100.dts ++++ b/arch/arm/boot/dts/exynos4210-i9100.dts +@@ -147,6 +147,36 @@ battery@36 { + }; + }; + ++ i2c_s5k5baf: i2c-gpio-1 { ++ compatible = "i2c-gpio"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ sda-gpios = <&gpc1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; ++ scl-gpios = <&gpc1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; ++ i2c-gpio,delay-us = <2>; ++ ++ image-sensor@2d { ++ compatible = "samsung,s5k5baf"; ++ reg = <0x2d>; ++ vdda-supply = <&cam_io_en_reg>; ++ vddreg-supply = <&vt_core_15v_reg>; ++ vddio-supply = <&vtcam_reg>; ++ clocks = <&camera 0>; ++ clock-names = "mclk"; ++ stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>; ++ rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>; ++ clock-frequency = <24000000>; ++ ++ port { ++ s5k5bafx_ep: endpoint { ++ remote-endpoint = <&csis1_ep>; ++ data-lanes = <1>; ++ }; ++ }; ++ }; ++ }; ++ + spi-3 { + compatible = "spi-gpio"; + #address-cells = <1>; +@@ -220,7 +250,11 @@ pmic_ap_clk: pmic-ap-clk { + }; + + &camera { ++ pinctrl-0 = <&cam_port_a_clk_active>; ++ pinctrl-names = "default"; + status = "okay"; ++ assigned-clocks = <&clock CLK_MOUT_CAM0>, <&clock CLK_MOUT_CAM1>; ++ assigned-clock-parents = <&clock CLK_XUSBXTI>, <&clock CLK_XUSBXTI>; + }; + + &cpu0 { +@@ -794,3 +828,21 @@ &serial_3 { + &tmu { + status = "okay"; + }; ++ ++&csis_1 { ++ status = "okay"; ++ vddcore-supply = <&vusb_reg>; ++ vddio-supply = <&vmipi_reg>; ++ clock-frequency = <160000000>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@4 { ++ reg = <4>; ++ csis1_ep: endpoint { ++ remote-endpoint = <&s5k5bafx_ep>; ++ data-lanes = <1>; ++ samsung,csis-hs-settle = <6>; ++ }; ++ }; ++}; +-- +2.25.1 + diff --git a/main/linux-postmarketos-exynos4/APKBUILD b/main/linux-postmarketos-exynos4/APKBUILD index 7c4a874a9..49ef2fe73 100644 --- a/main/linux-postmarketos-exynos4/APKBUILD +++ b/main/linux-postmarketos-exynos4/APKBUILD @@ -3,7 +3,7 @@ # Kernel config based on: arch/arm/configs/exynos_defconfig pkgname=linux-postmarketos-exynos4 -pkgver=5.11.8 +pkgver=5.11.11 pkgrel=0 pkgdesc="Mainline kernel fork for Samsung Exynos4 devices" arch="armv7" @@ -30,6 +30,7 @@ source=" 0008-power-supply-max8997_charger-Set-CHARGER-current-lim.patch 0009-ARM-dts-exynos-Add-charger-supply-for-I9100.patch 0010-power-supply-max8997_charger-Switch-to-new-binding.patch + 0011-ARM-dts-exynos-Add-front-camera-support-to-I9100.patch initramfs.list init " @@ -68,8 +69,8 @@ package() { "$pkgdir/usr/share/kernel/$_flavor/kernel.release" } -sha512sums="2b78607a2cafab6bd49c18cc4f79f26df3694f3984d6d24936dc722e72dca567f86eff3ae87f8560ed9bb363410a6ec7bccc33f3d1c9ab2bc3385be5f6a99da6 linux-5.11.8.tar.xz -384509349d552bbc1b42ce784080148f6b5e67060156df60c54aa767fbe7167ac030e0d8627281b0dc70ebc02f621edea2ebd2bd999b72f6b4bbd553ff2bacc1 config-postmarketos-exynos4.armv7 +sha512sums="cb4f3e3d2cc8b59527f439b704e9fd8dc515424171fe2db720047f56fa987ea1736fd2cce1a20b2fe4ebf33306d6affe79024225bb5e67d617ae37574b316408 linux-5.11.11.tar.xz +52096bf5a1d887ac3a8748838a739c1379dbced602f663f40c7f8acb43e985fe277670f928064a108ef34e184e9738bf8ef9860de6e609d39a49196b8aae8eb3 config-postmarketos-exynos4.armv7 4bb111db4396a1981ad0883737c6594ca93701699846298b940d2ea202c666be0158a0f9ddc5b95b9147fa4cfe62639512ae78e9315f8d975b379ccc4e15da36 0001-ARM-decompressor-Flush-tlb-before-swiching-domain-0-.patch ddee2a51b33b7bd0ba310085324e72342c992d6d047132f7204ff9695cef112d4809bbe734d382b720e8deb90b948b65709bbb407bd1a32876c524fe9f4bae67 0005-ARM-dts-exynos-Fix-charging-regulator-voltage-and-cu.patch 8eb1452fd2cc302df0ccc5bee33e99d12d6bb851fb48b281026f46b70008e3f515f3287f01684981ff81c7e2c422a9480a40e23f45823812f913cc866c319811 0006-ARM-dts-exynos-Add-top-off-charging-regulator-node-f.patch @@ -77,5 +78,6 @@ dffe9934281e81b20e158ce9b80c6f1a91c5eaa06eb92ee655ee9430dba8aa066dd70a9fb163007f ea14ce70ac337b952b0246bb2765c7ca099808f4f46021b4f366e706265f9fab6a1e887e327d6b73d2b9963e4ae1f64a2877500cbc79a6214169486993f60069 0008-power-supply-max8997_charger-Set-CHARGER-current-lim.patch b70e8afa3779d471835bbdda4c8ddcf882bce58752993314655596961210235558e87dce3d1f07810ab5bb3d0471e89933a8008d7b97d8ebd05a408ffc947054 0009-ARM-dts-exynos-Add-charger-supply-for-I9100.patch 11160ac085aa912439a18995e323dfc89dfc61d85f1221af8f0116eed0f5b1fd087fc2828174c8c60f937495c31d72240c2f3c4249c29ceda6acd92f08d235c4 0010-power-supply-max8997_charger-Switch-to-new-binding.patch +30b457377bcf750a083b8a8acc3b91c7049c69b7f2e3e0dba9afe00e2c8918b1a9b2314fe553cbd808d827e845bdca10986c731d29082e20d2599d25c1956276 0011-ARM-dts-exynos-Add-front-camera-support-to-I9100.patch aaff0332b90e1f9f62de1128cace934717336e54ab09de46477369fa808302482d97334e43a85ee8597c1bcab64d3484750103559fea2ce8cd51776156bf7591 initramfs.list 09f1f214a24300696809727a7b04378887c06ca6f40803ca51a12bf2176a360b2eb8632139d6a0722094e05cb2038bdb04018a1e3d33fc2697674552ade03bee init" diff --git a/main/linux-postmarketos-exynos4/config-postmarketos-exynos4.armv7 b/main/linux-postmarketos-exynos4/config-postmarketos-exynos4.armv7 index 50acfe61d..24ca9189f 100644 --- a/main/linux-postmarketos-exynos4/config-postmarketos-exynos4.armv7 +++ b/main/linux-postmarketos-exynos4/config-postmarketos-exynos4.armv7 @@ -2,7 +2,7 @@ # Automatically generated file; DO NOT EDIT. # Linux/arm 5.11.8 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="gcc (Alpine 10.2.1_git20210318) 10.2.1 20210318" +CONFIG_CC_VERSION_TEXT="armv7-alpine-linux-musleabihf-gcc (Alpine 10.2.1_git20210328) 10.2.1 20210328" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=100201 CONFIG_LD_VERSION=235020000 @@ -612,6 +612,7 @@ CONFIG_CRYPTO_CHACHA20_NEON=m # CONFIG_CRYPTO_POLY1305_ARM is not set # CONFIG_CRYPTO_NHPOLY1305_NEON is not set # CONFIG_CRYPTO_CURVE25519_NEON is not set +CONFIG_AS_VFP_VMRS_FPINST=y # # General architecture-dependent options @@ -2680,7 +2681,7 @@ CONFIG_MEDIA_CAMERA_SUPPORT=y # CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set # CONFIG_MEDIA_RADIO_SUPPORT is not set # CONFIG_MEDIA_SDR_SUPPORT is not set -# CONFIG_MEDIA_PLATFORM_SUPPORT is not set +CONFIG_MEDIA_PLATFORM_SUPPORT=y # CONFIG_MEDIA_TEST_SUPPORT is not set # end of Media device types @@ -2695,6 +2696,7 @@ CONFIG_VIDEO_V4L2_I2C=y CONFIG_VIDEO_V4L2_SUBDEV_API=y # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_V4L2_MEM2MEM_DEV=m # CONFIG_V4L2_FLASH_LED_CLASS is not set CONFIG_V4L2_FWNODE=m # end of Video4Linux options @@ -2782,7 +2784,20 @@ CONFIG_USB_GSPCA=m CONFIG_VIDEOBUF2_CORE=m CONFIG_VIDEOBUF2_V4L2=m CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_V4L_PLATFORM_DRIVERS=y +# CONFIG_VIDEO_CADENCE is not set +# CONFIG_VIDEO_ASPEED is not set +# CONFIG_VIDEO_MUX is not set +CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=m +CONFIG_VIDEO_EXYNOS4_IS_COMMON=m +CONFIG_VIDEO_S5P_FIMC=m +CONFIG_VIDEO_S5P_MIPI_CSIS=m +# CONFIG_VIDEO_EXYNOS_FIMC_LITE is not set +# CONFIG_VIDEO_EXYNOS4_FIMC_IS is not set +# CONFIG_VIDEO_XILINX is not set +# CONFIG_V4L_MEM2MEM_DRIVERS is not set # end of Media drivers # @@ -2941,7 +2956,7 @@ CONFIG_VIDEOBUF2_VMALLOC=m # CONFIG_VIDEO_S5K6AA is not set CONFIG_VIDEO_S5K6A3=m # CONFIG_VIDEO_S5K4ECGX is not set -# CONFIG_VIDEO_S5K5BAF is not set +CONFIG_VIDEO_S5K5BAF=m # CONFIG_VIDEO_CCS is not set # CONFIG_VIDEO_ET8EK8 is not set CONFIG_VIDEO_S5C73M3=m