[PATCH RFC 10/15] arm64: dts: qcom: hawi-mtp: Enable camera subsystem for Hawi MTP
From: Nihal Kumar Gupta
Date: Wed Sep 23 2026 - 07:18:03 EST
From: Hangxiang Ma <hangxiang.ma@xxxxxxxxxxxxxxxx>
Enable the camera subsystem on the Hawi MTP along with the S5KJN5 sensor
connected to CSIPHY2 through I2C0 CCI1. Add the camera master clock and
sensor reset pin states on the TLMM GPIOs.
Signed-off-by: Hangxiang Ma <hangxiang.ma@xxxxxxxxxxxxxxxx>
Co-developed-by: Nihal Kumar Gupta <nihal.gupta@xxxxxxxxxxxxxxxx>
Signed-off-by: Nihal Kumar Gupta <nihal.gupta@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/hawi-mtp.dts | 62 +++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/hawi-mtp.dts b/arch/arm64/boot/dts/qcom/hawi-mtp.dts
index 7709582491f9d426886a6afced6d3706b629e620..183c0c7a7595703113cb709b0e9f39ea5dc339b1 100644
--- a/arch/arm64/boot/dts/qcom/hawi-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/hawi-mtp.dts
@@ -7,6 +7,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/leds/common.h>
+#include <dt-bindings/media/video-interfaces.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
@@ -781,6 +782,60 @@ vreg_l7n_3p3: ldo7 {
};
};
+&camss {
+ status = "okay";
+};
+
+&camss_csiphy2_inep {
+ data-lanes = <1 2 3 4>;
+};
+
+&cci0 {
+ status = "okay";
+};
+
+&cci0_i2c1 {
+ camera@10 {
+ compatible = "samsung,s5kjn5";
+ reg = <0x10>;
+ reset-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&cam2_default &cam2_reset>;
+ pinctrl-names = "default";
+
+ clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK2_CLK>;
+ assigned-clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK2_CLK>;
+ assigned-clock-rates = <19200000>;
+
+ afvdd-supply = <&vreg_l5m_2p8>;
+ vdda-supply = <&vreg_l7m_2p2>;
+ vddd-supply = <&vreg_l1m_1p0>;
+ vddio-supply = <&vreg_l4n_1p8>;
+ vddio1p2-supply = <&vreg_l2n_1p2>;
+
+ port {
+ s5kjn5_ep: endpoint {
+ link-frequencies = /bits/ 64 <1248000000>;
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&csiphy2_in_ep>;
+ };
+ };
+ };
+};
+
+&csiphy2 {
+ vdda-0p9-supply = <&vreg_l1i_0p8>;
+ vdda-1p2-supply = <&vreg_l3d_1p2>;
+
+ status = "okay";
+};
+
+&csiphy2_in_ep {
+ bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
+ clock-lanes = <0>;
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&s5kjn5_ep>;
+};
+
&pcie0 {
status = "okay";
};
@@ -937,6 +992,13 @@ &tlmm {
<119 2>, /* SoCCP */
<144 2>; /* CXM UART */
+ cam2_reset: cam2-reset-state {
+ pins = "gpio3";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
key_vol_up_default: key-vol-up-default-state {
pins = "gpio101";
function = "gpio";
--
2.34.1