Add node for Samsung S5K5BAF CMOS image sensor and
enable the associated MIPI CSI-2 receiver node.

Signed-off-by: Timon Baetz <timon.ba...@protonmail.com>
---
v2: Rename node from s5k5bafx to image-sensor and use GPIO_ACTIVE_LOW

 arch/arm/boot/dts/exynos4210-i9100.dts | 52 ++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/arch/arm/boot/dts/exynos4210-i9100.dts 
b/arch/arm/boot/dts/exynos4210-i9100.dts
index 228de6d8c9d1..f47b6eaf208f 100644
--- a/arch/arm/boot/dts/exynos4210-i9100.dts
+++ b/arch/arm/boot/dts/exynos4210-i9100.dts
@@ -147,6 +147,36 @@ battery@36 {
                };
        };

+       i2c_s5k5baf: i2c-gpio-1 {
+               compatible = "i2c-gpio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               sda-gpios = <&gpc1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               scl-gpios = <&gpc1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               i2c-gpio,delay-us = <2>;
+
+               image-sensor@2d {
+                       compatible = "samsung,s5k5baf";
+                       reg = <0x2d>;
+                       vdda-supply = <&cam_io_en_reg>;
+                       vddreg-supply = <&vt_core_15v_reg>;
+                       vddio-supply = <&vtcam_reg>;
+                       clocks = <&camera 0>;
+                       clock-names = "mclk";
+                       stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>;
+                       rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>;
+                       clock-frequency = <24000000>;
+
+                       port {
+                               s5k5bafx_ep: endpoint {
+                                       remote-endpoint = <&csis1_ep>;
+                                       data-lanes = <1>;
+                               };
+                       };
+               };
+       };
+
        spi-3 {
                compatible = "spi-gpio";
                #address-cells = <1>;
@@ -220,7 +250,11 @@ pmic_ap_clk: pmic-ap-clk {
 };

 &camera {
+       pinctrl-0 = <&cam_port_a_clk_active>;
+       pinctrl-names = "default";
        status = "okay";
+       assigned-clocks = <&clock CLK_MOUT_CAM0>, <&clock CLK_MOUT_CAM1>;
+       assigned-clock-parents = <&clock CLK_XUSBXTI>, <&clock CLK_XUSBXTI>;
 };

 &cpu0 {
@@ -794,3 +828,21 @@ &serial_3 {
 &tmu {
        status = "okay";
 };
+
+&csis_1 {
+       status = "okay";
+       vddcore-supply = <&vusb_reg>;
+       vddio-supply = <&vmipi_reg>;
+       clock-frequency = <160000000>;
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       port@4 {
+               reg = <4>;
+               csis1_ep: endpoint {
+                       remote-endpoint = <&s5k5bafx_ep>;
+                       data-lanes = <1>;
+                       samsung,csis-hs-settle = <6>;
+               };
+       };
+};
--
2.25.1


Reply via email to