Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[7.1.r1][DNM] Add missing commits from LA.UM.7.1.r1-16600-sm8150.0 #2330

Open
wants to merge 15 commits into
base: aosp/LA.UM.7.1.r1
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ First Level Node - CSIPHY device
Value type: <string>
Definition: Should be "qcom,csiphy-v1.0",
"qcom,csiphy-v1.1", "qcom,csiphy-v1.2",
"qcom,csiphy-v2.0", "qcom,csiphy".
"qcom,csiphy-v1.2.2", "qcom,csiphy-v2.0",
"qcom,csiphy".

- cell-index: csiphy hardware core index
Usage: required
Expand Down
102 changes: 102 additions & 0 deletions Documentation/devicetree/bindings/media/video/msm-cam-ppi.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
* Qualcomm Technologies, Inc. MSM camera PPI

=======================
Required Node Structure
=======================
The camera PPI node must be described in First level of device nodes. The
first level describe the overall PPI node structure.

======================================
First Level Node - PPI device
======================================

- compatible
Usage: required
Value type: <string>
Definition: Should be "qcom,ppi-v1.0",
"qcom,ppi-v1.1", "qcom,ppi-v1.2",
"qcom,ppi-v2.0", "qcom,ppi".

- cell-index: ppi hardware core index
Usage: required
Value type: <u32>
Definition: Should specify the Hardware index id.

- reg
Usage: required
Value type: <u32>
Definition: offset and length of the register set
for the device for the ppi operating in
compatible mode.

- reg-names
Usage: required
Value type: <string>
Definition: Should specify relevant names to each
reg property defined.

- reg-cam-base
Usage: required
Value type: <string>
Definition: offset of PPI in camera hw block

- interrupts
Usage: required
Value type: <u32>
Definition: Interrupt associated with PPI HW.

- interrupt-names
Usage: required
Value type: <string>
Definition: Name of the interrupt.

- clock-names
Usage: required
Value type: <string>
Definition: List of clock names required for PPI HW.

- clock-rates
Usage: required
Value type: <u32>
Definition: List of clock rates in Hz for PPI HW.

- clock-cntl-level
Usage: required
Value type: <string>
Definition: All different clock level node can support.

- clocks
Usage: required
Value type: <phandle>
Definition: all clock phandle and source clocks.

- regulator-names
Usage: required
Value type: <string>
Definition: name of the voltage regulators required for the device.

- gdscr-supply
Usage: required
Value type: <phandle>
Definition: should contain gdsr regulator used for PPI clocks.

Example:
qcom,ppi0@ace0000 {
cell-index = <0>;
compatible = "qcom,ppi170";
reg-names = "ppi";
reg = <0xace0000 0x200>;
reg-cam-base = <0xe0000>;
interrupt-names = "ppi";
interrupts = <0 202 0>;
regulator-names = "gdscr", "refgen";
gdscr-supply = <&titan_top_gdsc>;
clocks = <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
<&clock_camcc CAM_CC_PPI0_CLK>,
<&clock_camcc CAM_CC_CSI0PHYTIMER_CLK_SRC>,
<&clock_camcc CAM_CC_CSI0PHYTIMER_CLK>;
clock-names = "cphy_rx_clk_src", "ppi0_clk"
clock-rates = <400000000 0 300000000 0>;
clock-cntl-level = "turbo";
status = "ok";
};
256 changes: 256 additions & 0 deletions arch/arm64/boot/dts/qcom/atoll-camera-sensor-idp.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,256 @@
/*
* Copyright (c) 2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/

#include <dt-bindings/clock/qcom,camcc-atoll.h>

&soc {
led_flash_rear: qcom,camera-flash@0 {
cell-index = <0>;
reg = <0x00 0x00>;
compatible = "qcom,camera-flash";
flash-source = <&pm6150l_flash0 &pm6150l_flash1>;
torch-source = <&pm6150l_torch0 &pm6150l_torch1>;
switch-source = <&pm6150l_switch2 &pm6150l_switch2>;
status = "ok";
};

led_flash_rear_aux: qcom,camera-flash@1 {
cell-index = <1>;
reg = <0x01 0x00>;
compatible = "qcom,camera-flash";
flash-source = <&pm6150l_flash0 &pm6150l_flash1>;
torch-source = <&pm6150l_torch0 &pm6150l_torch1>;
switch-source = <&pm6150l_switch2 &pm6150l_switch2>;
status = "ok";
};
};

&cam_cci0 {
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok";
};

actuator_rear: qcom,actuator@0 {
cell-index = <0>;
reg = <0x0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&L6P>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <100000>;
};

eeprom_rear: qcom,eeprom@0 {
cell-index = <0>;
reg = <0>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L5P>;
cam_vana-supply = <&L4P>;
cam_vdig-supply = <&L1P>;
cam_clk-supply = <&titan_top_gdsc>;
cam_vaf-supply = <&L6P>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk", "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1104000 0 2800000>;
rgltr-max-voltage = <1800000 2800000 1104000 0 2800000>;
rgltr-load-current = <0 80000 105000 0 100000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear_suspend>;
gpios = <&tlmm 13 0>,
<&tlmm 30 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
sensor-mode = <0>;
cci-master = <0>;
status = "ok";
clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};

eeprom_front: qcom,eeprom@2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L5P>;
cam_vana-supply = <&L3P>;
cam_vdig-supply = <&L1P>;
cam_clk-supply = <&titan_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1104000 0>;
rgltr-max-voltage = <1800000 2800000 1104000 0>;
rgltr-load-current = <0 80000 105000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_suspend>;
gpios = <&tlmm 15 0>,
<&tlmm 29 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
sensor-mode = <0>;
cci-device = <0>;
cci-master = <1>;
status = "ok";
clocks = <&clock_camcc CAM_CC_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};

qcom,cam-sensor@0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
reg = <0x0>;
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
led-flash-src = <&led_flash_rear>;
eeprom-src = <&eeprom_rear>;
actuator-src = <&actuator_rear>;
cam_vio-supply = <&L5P>;
cam_vana-supply = <&L4P>;
cam_vdig-supply = <&L1P>;
cam_clk-supply = <&titan_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1104000 0>;
rgltr-max-voltage = <1800000 2800000 1104000 0>;
rgltr-load-current = <0 80000 105000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear_suspend>;
gpios = <&tlmm 13 0>,
<&tlmm 30 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
sensor-mode = <0>;
cci-master = <0>;
status = "ok";
clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};

qcom,cam-sensor@1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
reg = <0x1>;
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
led-flash-src = <&led_flash_rear_aux>;
cam_vio-supply = <&L5P>;
cam_vana-supply = <&L3P>;
cam_vdig-supply = <&L2P>;
cam_clk-supply = <&titan_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1104000 0>;
rgltr-max-voltage = <1800000 2800000 1104000 0>;
rgltr-load-current = <0 80000 105000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear2_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear2_suspend>;
gpios = <&tlmm 14 0>,
<&tlmm 25 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1";
sensor-mode = <0>;
cci-master = <1>;
status = "ok";
clocks = <&clock_camcc CAM_CC_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};

qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
reg = <0x2>;
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&L5P>;
cam_vana-supply = <&L3P>;
cam_vdig-supply = <&L1P>;
cam_clk-supply = <&titan_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1104000 0>;
rgltr-max-voltage = <1800000 2800000 1104000 0>;
rgltr-load-current = <0 80000 105000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_suspend>;
gpios = <&tlmm 15 0>,
<&tlmm 29 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
sensor-mode = <0>;
cci-device = <0>;
cci-master = <1>;
status = "ok";
clocks = <&clock_camcc CAM_CC_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};
Loading