summaryrefslogtreecommitdiff
path: root/patches.tizen/0051-ARM-dts-Add-camera-device-nodes-for-PQ-board.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches.tizen/0051-ARM-dts-Add-camera-device-nodes-for-PQ-board.patch')
-rw-r--r--patches.tizen/0051-ARM-dts-Add-camera-device-nodes-for-PQ-board.patch225
1 files changed, 225 insertions, 0 deletions
diff --git a/patches.tizen/0051-ARM-dts-Add-camera-device-nodes-for-PQ-board.patch b/patches.tizen/0051-ARM-dts-Add-camera-device-nodes-for-PQ-board.patch
new file mode 100644
index 00000000000..fe7c638f023
--- /dev/null
+++ b/patches.tizen/0051-ARM-dts-Add-camera-device-nodes-for-PQ-board.patch
@@ -0,0 +1,225 @@
+From b58b47b20440051cb5351aad2f25acbce85e7e09 Mon Sep 17 00:00:00 2001
+From: Sylwester Nawrocki <s.nawrocki@samsung.com>
+Date: Wed, 6 Feb 2013 18:34:42 +0100
+Subject: [PATCH 0051/1302] ARM: dts: Add camera device nodes for PQ board
+
+This patch adds all nodes for camera devices on an example Exynos4412 SoC
+based board. This is all what's required in the board dts file to enable
+rear facing camera (S5C73M3 sensor).
+
+The aliases node contains entries required for the camera processing
+data path entity drivers.
+
+The sensor nodes use standard port/remote-endpoint nodes convention.
+Internal SoC links between entities are not specified this way and
+are coded in the driver instead.
+
+The S5C73M3 sensor uses two control buses: I2C and SPI. There are
+two, i2c_0 and spi_1 bus controller child nodes assigned to it.
+
+Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
+Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
+Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
+---
+ arch/arm/boot/dts/exynos4412-slp_pq.dts | 173 ++++++++++++++++++++++++++++++++
+ 1 file changed, 173 insertions(+)
+
+diff --git a/arch/arm/boot/dts/exynos4412-slp_pq.dts b/arch/arm/boot/dts/exynos4412-slp_pq.dts
+index e28bc60..fa47f9a 100644
+--- a/arch/arm/boot/dts/exynos4412-slp_pq.dts
++++ b/arch/arm/boot/dts/exynos4412-slp_pq.dts
+@@ -113,6 +113,35 @@
+ };
+ };
+
++ i2c_0: i2c@13860000 {
++ samsung,i2c-sda-delay = <100>;
++ samsung,i2c-slave-addr = <0x10>;
++ samsung,i2c-max-bus-freq = <400000>;
++ pinctrl-0 = <&i2c0_bus>;
++ pinctrl-names = "default";
++ status = "okay";
++
++ s5c73m3@3c {
++ compatible = "samsung,s5c73m3";
++ reg = <0x3c>;
++ gpios = <&gpm0 1 1>, /* ISP_STANDBY */
++ <&gpf1 3 1>; /* ISP_RESET */
++ vdd-int-supply = <&buck9_reg>;
++ vddio-cis-supply = <&ldo9_reg>;
++ vdda-supply = <&ldo17_reg>;
++ vddio-host-supply = <&ldo18_reg>;
++ vdd-af-supply = <&cam_af_reg>;
++ vdd-reg-supply = <&cam_io_reg>;
++ clock-frequency = <24000000>;
++
++ port {
++ s5c73m3_ep: endpoint {
++ remote-endpoint = <&csis0_ep>;
++ };
++ };
++ };
++ };
++
+ i2c@13890000 {
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-slave-addr = <0x10>;
+@@ -425,6 +454,34 @@
+ enable-active-high;
+ };
+
++ cam_af_reg: voltage-regulator@2 {
++ compatible = "regulator-fixed";
++ regulator-name = "CAM_AF";
++ regulator-min-microvolt = <2800000>;
++ regulator-max-microvolt = <2800000>;
++ gpio = <&gpm0 4 0>;
++ enable-active-high;
++ };
++
++ cam_io_reg: voltage-regulator@3 {
++ compatible = "regulator-fixed";
++ regulator-name = "CAM_SENSOR_A";
++ regulator-min-microvolt = <2800000>;
++ regulator-max-microvolt = <2800000>;
++ gpio = <&gpm0 2 0>;
++ enable-active-high;
++ };
++
++ cam_isp_core_reg: voltage-regulator@4 {
++ compatible = "regulator-fixed";
++ regulator-name = "CAM_ISP_CORE_1.2V_EN";
++ regulator-min-microvolt = <1200000>;
++ regulator-max-microvolt = <1200000>;
++ gpio = <&gpm0 3 0>;
++ enable-active-high;
++ regulator-always-on;
++ };
++
+ fimd0_lcd: panel {
+ compatible = "s6e8ax0";
+ reset-gpio = <&gpy4 5 0>;
+@@ -484,4 +541,120 @@
+ vusb_d-supply = <&ldo15_reg>;
+ vusb_a-supply = <&ldo12_reg>;
+ };
++
++ spi_1: spi@13930000 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&spi1_bus>;
++ status = "okay";
++
++ s5c73m3_spi: s5c73m3 {
++ compatible = "samsung,s5c73m3";
++ spi-max-frequency = <50000000>;
++ reg = <0>;
++ controller-data {
++ cs-gpio = <&gpb 5 0>;
++ samsung,spi-feedback-delay = <2>;
++ };
++ };
++ };
++
++ camera {
++ compatible = "samsung,fimc", "simple-bus";
++ status = "okay";
++
++ pinctrl-names = "default", "inactive";
++ pinctrl-0 = <&cam_port_a_clk_active>;
++ pinctrl-1 = <&cam_port_a_clk_idle>;
++
++ fimc_0: fimc@11800000 {
++ clock-frequency = <176000000>;
++ status = "okay";
++ };
++
++ fimc_1: fimc@11810000 {
++ clock-frequency = <176000000>;
++ status = "okay";
++ };
++
++ fimc_2: fimc@11820000 {
++ clock-frequency = <176000000>;
++ status = "okay";
++ };
++
++ fimc_3: fimc@11830000 {
++ clock-frequency = <176000000>;
++ status = "okay";
++ };
++
++ csis_0: csis@11880000 {
++ status = "okay";
++ vddcore-supply = <&ldo8_reg>;
++ vddio-supply = <&ldo10_reg>;
++ clock-frequency = <160000000>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ /* Camera C (3) MIPI CSI-2 (CSIS0) */
++ port@3 {
++ reg = <3>;
++ csis0_ep: endpoint {
++ remote-endpoint = <&s5c73m3_ep>;
++ data-lanes = <1 2 3 4>;
++ samsung,csis-hs-settle = <12>;
++ };
++ };
++ };
++
++ csis_1: csis@11890000 {
++ status = "okay";
++ vddcore-supply = <&ldo8_reg>;
++ vddio-supply = <&ldo10_reg>;
++ clock-frequency = <160000000>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ /* Camera D (4) MIPI CSI-2 (CSIS1) */
++ port@4 {
++ reg = <4>;
++ csis1_ep: endpoint {
++ remote-endpoint = <&is_s5k6a3_ep>;
++ data-lanes = <1>;
++ samsung,csis-hs-settle = <18>;
++ samsung,csis-wclk;
++ };
++ };
++ };
++
++ fimc-is@12000000 {
++ status = "okay";
++
++ fimc_lite_0: fimc-lite@12390000 {
++ status = "okay";
++ };
++
++ fimc_lite_1: fimc-lite@123A0000 {
++ status = "okay";
++ };
++
++ fimc-is-i2c@0 {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ s5k6a3@10 {
++ compatible = "samsung,s5k6a3";
++ reg = <0x10>;
++ svdda-supply = <&cam_io_reg>;
++ svddio-supply = <&ldo19_reg>;
++ clock-frequency = <24000000>;
++ gpios = <&gpm1 6 0>;
++ port {
++ is_s5k6a3_ep: endpoint {
++ remote-endpoint = <&csis1_ep>;
++ data-lanes = <1>;
++ };
++ };
++ };
++ };
++ };
++ };
+ };
+--
+1.8.3.2
+