Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: dts: qcom: sm8550-hdk: Add SM8550-HDK Rear Camera Card overlay

Lantronix SM8550-HDK board may be equipped with a Rear Camera Card PCB
which contains:
* Samsung S3K33D time-of-fligt image sensor connected to CSIPHY0 (TOF),
* Omnivision OV64B40 image sensor connected to CSIPHY1 (uWide),
* Sony IMX766 image sensor connected to CSIPHY2 (Wide),
* Samsung S5K3M5 image sensor connected to CSIPHY3 (Tele),
* two flash leds.

The change adds support of a Samsung S5K3M5 camera image sensor and
two flash leds on the external camera card module.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20251013235500.1883847-4-vladimir.zapolskiy@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>

authored by

Vladimir Zapolskiy and committed by
Bjorn Andersson
08ce5274 3f857377

+95
+4
arch/arm64/boot/dts/qcom/Makefile
··· 303 303 dtb-$(CONFIG_ARCH_QCOM) += sm8450-samsung-r0q.dtb 304 304 dtb-$(CONFIG_ARCH_QCOM) += sm8450-sony-xperia-nagara-pdx223.dtb 305 305 dtb-$(CONFIG_ARCH_QCOM) += sm8450-sony-xperia-nagara-pdx224.dtb 306 + 307 + sm8550-hdk-rear-camera-card-dtbs := sm8550-hdk.dtb sm8550-hdk-rear-camera-card.dtbo 308 + 309 + dtb-$(CONFIG_ARCH_QCOM) += sm8550-hdk-rear-camera-card.dtb 306 310 dtb-$(CONFIG_ARCH_QCOM) += sm8550-hdk.dtb 307 311 dtb-$(CONFIG_ARCH_QCOM) += sm8550-mtp.dtb 308 312 dtb-$(CONFIG_ARCH_QCOM) += sm8550-qrd.dtb
+91
arch/arm64/boot/dts/qcom/sm8550-hdk-rear-camera-card.dtso
··· 1 + // SPDX-License-Identifier: BSD-3-Clause 2 + /* 3 + * SM8550-HDK Rear Camera Card overlay 4 + * 5 + * Copyright (c) 2025, Linaro Limited 6 + */ 7 + 8 + #include <dt-bindings/clock/qcom,sm8550-camcc.h> 9 + #include <dt-bindings/gpio/gpio.h> 10 + #include <dt-bindings/leds/common.h> 11 + 12 + /dts-v1/; 13 + /plugin/; 14 + 15 + &camss { 16 + status = "okay"; 17 + 18 + vdda-phy-supply = <&vreg_l1e_0p88>; 19 + vdda-pll-supply = <&vreg_l3e_1p2>; 20 + 21 + ports { 22 + #address-cells = <1>; 23 + #size-cells = <0>; 24 + 25 + port@3 { 26 + reg = <3>; 27 + 28 + csiphy3_ep: endpoint { 29 + clock-lanes = <4>; 30 + data-lanes = <0 1 2 3>; 31 + remote-endpoint = <&cam_tele>; 32 + }; 33 + }; 34 + }; 35 + }; 36 + 37 + &cci1 { 38 + status = "okay"; 39 + }; 40 + 41 + &cci1_i2c0 { 42 + #address-cells = <1>; 43 + #size-cells = <0>; 44 + 45 + sensor@10 { 46 + compatible = "samsung,s5k3m5"; 47 + reg = <0x10>; 48 + clocks = <&camcc CAM_CC_MCLK3_CLK>; 49 + assigned-clocks = <&camcc CAM_CC_MCLK3_CLK>; 50 + assigned-clock-rates = <24000000>; 51 + reset-gpios = <&tlmm 119 GPIO_ACTIVE_LOW>; 52 + pinctrl-0 = <&cam3_default>; 53 + pinctrl-names = "default"; 54 + afvdd-supply = <&vreg_l7n_2p96>; 55 + avdd-supply = <&vreg_l4m_2p8>; 56 + dovdd-supply = <&vreg_l5n_1p8>; 57 + dvdd-supply = <&vreg_l2m_1p056>; 58 + 59 + port { 60 + cam_tele: endpoint { 61 + link-frequencies = /bits/ 64 <602500000>; 62 + data-lanes = <0 1 2 3>; 63 + remote-endpoint = <&csiphy3_ep>; 64 + }; 65 + }; 66 + }; 67 + }; 68 + 69 + &pm8550_flash { 70 + status = "okay"; 71 + 72 + led-0 { 73 + function = LED_FUNCTION_FLASH; 74 + color = <LED_COLOR_ID_YELLOW>; 75 + led-sources = <1>, <4>; 76 + led-max-microamp = <500000>; 77 + flash-max-microamp = <2000000>; 78 + flash-max-timeout-us = <1280000>; 79 + function-enumerator = <0>; 80 + }; 81 + 82 + led-1 { 83 + function = LED_FUNCTION_FLASH; 84 + color = <LED_COLOR_ID_WHITE>; 85 + led-sources = <2>, <3>; 86 + led-max-microamp = <500000>; 87 + flash-max-microamp = <2000000>; 88 + flash-max-timeout-us = <1280000>; 89 + function-enumerator = <1>; 90 + }; 91 + };