aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>2019-10-25 20:07:39 +0530
committerManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>2019-10-25 20:07:39 +0530
commit797b56836390627e37c49a364f92394eee5d9a5c (patch)
treee6f0688400acbfe715eabcf55050547606c353e3
parenta256445005e3340d676226eefad3bfe9f55d8ec6 (diff)
download96b-common-imx296-db410c.tar.gz
Enable IMX296 camera sensorimx296-db410c
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
-rw-r--r--arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi38
-rw-r--r--arch/arm64/configs/defconfig1
2 files changed, 32 insertions, 7 deletions
diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
index aac1da4f1d3c..b93ec4bb547a 100644
--- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
@@ -346,9 +346,9 @@
status = "okay";
};
- camera_vdddo_1v8: fixedregulator@0 {
+ camera_vddo_1v8: fixedregulator@0 {
compatible = "regulator-fixed";
- regulator-name = "camera_vdddo";
+ regulator-name = "camera_vddo";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
@@ -373,6 +373,31 @@
cci@1b0c000 {
status = "ok";
+ imx296: imx296@1a {
+ compatible = "sony,imx296";
+ reg = <0x1a>;
+
+ reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&camera_rear_default>;
+
+ clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
+ clock-names = "mclk";
+ clock-frequency = <37125000>;
+
+ vddo-supply = <&camera_vddo_1v8>;
+ vdda-supply = <&camera_vdda_2v8>;
+ vddd-supply = <&camera_vddd_1v5>;
+
+ port {
+ imx296_ep: endpoint {
+ clock-lanes = <1>;
+ data-lanes = <0>;
+ remote-endpoint = <&csiphy0_ep>;
+ };
+ };
+ };
+
camera_rear@3b {
compatible = "ovti,ov5645";
reg = <0x3b>;
@@ -386,7 +411,7 @@
clock-names = "xclk";
clock-frequency = <23880000>;
- vdddo-supply = <&camera_vdddo_1v8>;
+ vddo-supply = <&camera_vddo_1v8>;
vdda-supply = <&camera_vdda_2v8>;
vddd-supply = <&camera_vddd_1v5>;
@@ -414,7 +439,7 @@
clock-names = "xclk";
clock-frequency = <23880000>;
- vdddo-supply = <&camera_vdddo_1v8>;
+ vddo-supply = <&camera_vddo_1v8>;
vdda-supply = <&camera_vdda_2v8>;
vddd-supply = <&camera_vddd_1v5>;
@@ -439,9 +464,8 @@
reg = <0>;
csiphy0_ep: endpoint {
clock-lanes = <1>;
- data-lanes = <0 2>;
- remote-endpoint = <&ov5645_ep>;
- status = "disabled";
+ data-lanes = <0>;
+ remote-endpoint = <&imx296_ep>;
};
};
port@1 {
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index bb1abec5cb0a..593a076c7bf3 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -385,6 +385,7 @@ CONFIG_VIDEO_RENESAS_FCP=m
CONFIG_VIDEO_RENESAS_VSP1=m
CONFIG_VIDEO_QCOM_VENUS=m
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
+CONFIG_VIDEO_IMX296=m
CONFIG_VIDEO_OV5645=m
CONFIG_VIDEO_OV7251=m
CONFIG_DRM=m