arm64: dts: qcom: sm8650-hdk: Add support for the Rear Camera Card overlay

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>
This commit is contained in:
Vladimir Zapolskiy 2025-12-04 06:15:05 +02:00 committed by Bjorn Andersson
parent 328407ba89
commit 1c20a021de
2 changed files with 92 additions and 0 deletions

View 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

View File

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