Hi Luca!
On 3/19/26 10:12, Luca Weiss wrote:
Add and configure the necessary nodes to enable the front camera
(Samsung S5KJN1), connected to CSIPHY 3.
Reviewed-by: Konrad Dybcio <[email protected]>
Signed-off-by: Luca Weiss <[email protected]>
---
arch/arm64/boot/dts/qcom/kodiak.dtsi | 7 ++++
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 47 +++++++++++++++++++++-
2 files changed, 53 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi
b/arch/arm64/boot/dts/qcom/kodiak.dtsi
index 343da1b18095..6cbf6ba5fbc0 100644
--- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
+++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
@@ -5774,6 +5774,13 @@ tlmm: pinctrl@f100000 {
gpio-ranges = <&tlmm 0 0 175>;
wakeup-parent = <&pdc>;
+ cam_mclk3_default: cam-mclk3-default-state {
+ pins = "gpio67";
+ function = "cam_mclk";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
cci0_default: cci0-default-state {
pins = "gpio69", "gpio70";
function = "cci_i2c";
diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
index c9c24c36ba7e..aaba40478891 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
@@ -12,6 +12,7 @@
#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.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>
#include <dt-bindings/sound/qcom,q6asm.h>
@@ -626,6 +627,24 @@ vreg_bob: bob {
};
};
+&camss {
+ vdda-phy-supply = <&vreg_l10c>;
+ vdda-pll-supply = <&vreg_l6b>;
+
+ status = "okay";
+
+ ports {
+ port@3 {
+ csiphy3_ep: endpoint {
+ clock-lanes = <7>;
Please remove this notorious and kind of senseless under the CAMSS context
'clock-lanes' property, unfortunately it gets copied over a lot...
+ data-lanes = <0 1 2 3>;
+ bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
+ remote-endpoint = <&camera_s5kjn1_ep>;
+ };
+ };
+ };
+};
+
&cci0 {
status = "okay";
};
@@ -666,7 +685,33 @@ &cci1 {
};
&cci1_i2c1 {
- /* S5KJN1SQ03 @ 10 */
+ camera@10 {
+ compatible = "samsung,s5kjn1";
+ reg = <0x10>;
+
+ vddio-supply = <&vreg_l6p>;
+ vddd-supply = <&vreg_l2p>;
+ vdda-supply = <&vreg_l3p>;
The list of supplies could be beautified by applying the alphanumerical sorting.
+
+ clocks = <&camcc CAM_CC_MCLK3_CLK>;
+ assigned-clocks = <&camcc CAM_CC_MCLK3_CLK>;
+ assigned-clock-rates = <24000000>;
+
+ reset-gpios = <&tlmm 78 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&cam_mclk3_default>;
+ pinctrl-names = "default";
+
+ orientation = <0>; /* Front facing */
+ rotation = <270>;
+
+ port {
+ camera_s5kjn1_ep: endpoint {
+ data-lanes = <1 2 3 4>;
+ link-frequencies = /bits/ 64 <700000000>;
+ remote-endpoint = <&csiphy3_ep>;
+ };
+ };
+ };
eeprom@51 {
compatible = "giantec,gt24p128f", "atmel,24c128";
Nice to see that the sensor driver works for you!
Reviewed-by: Vladimir Zapolskiy <[email protected]>
--
Best wishes,
Vladimir