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
This commit is contained in:
Timon Baetz 2021-04-06 13:22:28 +02:00 committed by Clayton Craft
parent 96c3a7450a
commit ee06173ae7
No known key found for this signature in database
GPG key ID: 7A3461CA187CEA54
3 changed files with 116 additions and 6 deletions

View file

@ -0,0 +1,93 @@
From 0c13c224414a56f6112f915bdd866569975dab27 Mon Sep 17 00:00:00 2001
From: Timon Baetz <timon.baetz@protonmail.com>
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 <timon.baetz@protonmail.com>
---
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

View file

@ -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"

View file

@ -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