]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: sm8650-hdk: Add support for the Rear Camera Card overlay
authorVladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Thu, 4 Dec 2025 04:15:05 +0000 (06:15 +0200)
committerBjorn Andersson <andersson@kernel.org>
Sat, 3 Jan 2026 14:50:44 +0000 (08:50 -0600)
To provide access to camera sensors a Rear Camera Card can be connected
to SM8650-HDK board, the camera sensors are:
* Samsung S5K33D ToF camera sensor, connected to CSI0 over MIPI D-PHY,
* Sony IMX766 Wide camera sensor, connected to CSI1 over MIPI C-PHY,
* Omnivision OV64B Ultrawide camera sensor, connected to CSI2 over MIPI C-PHY,
* Samsung S5KJN1 Tele camera sensor, connected to CSI3 over MIPI D-PHY).

Get the initial support of Samsung S5KJN1 camera sensor and two flash leds
on the Rear Camera Card board by adding a board overlay.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Link: https://lore.kernel.org/r/20251204041505.131891-5-vladimir.zapolskiy@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/sm8650-hdk-rear-camera-card.dtso [new file with mode: 0644]

index 76cf0115a00adfac7081367acc33707aa6d23366..02b8e4d761a1d6039cb9bdcd6579bdf0dc63282f 100644 (file)
@@ -317,8 +317,12 @@ dtb-$(CONFIG_ARCH_QCOM)    += sm8550-samsung-q5q.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8550-sony-xperia-yodo-pdx234.dtb
 
 sm8650-hdk-display-card-dtbs   := sm8650-hdk.dtb sm8650-hdk-display-card.dtbo
+sm8650-hdk-display-card-rear-camera-card-dtbs  := sm8650-hdk.dtb sm8650-hdk-display-card.dtbo sm8650-hdk-rear-camera-card.dtbo
+sm8650-hdk-rear-camera-card-dtbs       := sm8650-hdk.dtb sm8650-hdk-rear-camera-card.dtbo
 
+dtb-$(CONFIG_ARCH_QCOM)        += sm8650-hdk-display-card-rear-camera-card.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8650-hdk-display-card.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += sm8650-hdk-rear-camera-card.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8650-hdk.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8650-mtp.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sm8650-qrd.dtb
diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk-rear-camera-card.dtso b/arch/arm64/boot/dts/qcom/sm8650-hdk-rear-camera-card.dtso
new file mode 100644 (file)
index 0000000..8a7c6d7
--- /dev/null
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * SM8650-HDK Rear Camera Card overlay
+ *
+ * Copyright (c) 2025, Linaro Limited
+ */
+
+#include <dt-bindings/clock/qcom,sm8650-camcc.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/leds/common.h>
+
+/dts-v1/;
+/plugin/;
+
+&camss {
+       vdd-csiphy35-0p9-supply = <&vreg_l2i_0p88>;
+       vdd-csiphy35-1p2-supply = <&vreg_l3i_1p2>;
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@3 {
+                       reg = <3>;
+
+                       csiphy3_ep: endpoint {
+                               data-lanes = <0 1 2 3>;
+                               remote-endpoint = <&cam_tele>;
+                       };
+               };
+       };
+};
+
+&cci1 {
+       status = "okay";
+};
+
+&cci1_i2c0 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       sensor@56 {
+               compatible = "samsung,s5kjn1";
+               reg = <0x56>;
+               clocks = <&camcc CAM_CC_MCLK3_CLK>;
+               assigned-clocks = <&camcc CAM_CC_MCLK3_CLK>;
+               assigned-clock-rates = <24000000>;
+               reset-gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
+               pinctrl-0 = <&cam3_default>;
+               pinctrl-names = "default";
+               afvdd-supply = <&vreg_l7m_2p96>;
+               vdda-supply = <&vreg_l4m_2p8>;
+               vddd-supply = <&vreg_l2m_1p056>;
+               vddio-supply = <&vreg_l3n_1p8>;
+
+               port {
+                       cam_tele: endpoint {
+                               link-frequencies = /bits/ 64 <700000000>;
+                               remote-endpoint = <&csiphy3_ep>;
+                       };
+               };
+       };
+};
+
+&pm8550_flash {
+       status = "okay";
+
+       led-0 {
+               function = LED_FUNCTION_FLASH;
+               color = <LED_COLOR_ID_YELLOW>;
+               led-sources = <1>, <4>;
+               led-max-microamp = <500000>;
+               flash-max-microamp = <2000000>;
+               flash-max-timeout-us = <1280000>;
+               function-enumerator = <0>;
+       };
+
+       led-1 {
+               function = LED_FUNCTION_FLASH;
+               color = <LED_COLOR_ID_WHITE>;
+               led-sources = <2>, <3>;
+               led-max-microamp = <500000>;
+               flash-max-microamp = <2000000>;
+               flash-max-timeout-us = <1280000>;
+               function-enumerator = <1>;
+       };
+};