From 500aae6a753212e52231c479cf15b31208bb056f Mon Sep 17 00:00:00 2001 From: zhuo Date: Fri, 19 Jan 2024 11:45:40 -0800 Subject: [PATCH] ARM: dts: msm: Add cci gpio resources for vmrm Due to cci is using pinctrl, but it does not define gpio info and vmrm is checking the gpios parameter to get the device use gpio info, so need to add gpio for cci. And due to cci is using pinctrl, so there is not need to define gpio-req-tbl-num for cci, so cci just has gpios without gpio-req-tbl-num. This commit add gpio_for_vmrm_purpose to identify the scene and add gpio resources. CRs-Fixed: 3685452 Change-Id: I75450c252c62899c6b563745ef3322520595a8eb Signed-off-by: zhuo --- bindings/msm-cam-cci.txt | 10 ++++++++++ pineapple-camera.dtsi | 15 +++++++++++++++ trustedvm-pineapple-camera.dtsi | 15 +++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/bindings/msm-cam-cci.txt b/bindings/msm-cam-cci.txt index 93f4eb02..7865e3fe 100644 --- a/bindings/msm-cam-cci.txt +++ b/bindings/msm-cam-cci.txt @@ -132,6 +132,16 @@ First Level Node - CCI device Definition: should specify vmrm resource id list order is mem label, mem tag, irq1 label, irq2 label. +- gpios + Usage: required when enable vmrm + Value type: + Definition: should specify the gpios to be used for the cci. + +- gpio_for_vmrm_purpose + Usage: required when enable vmrm + Value type: + Definition: A boolean flag to indicate the gpios is only for vmrm. + ========================= CCI clock settings ========================= diff --git a/pineapple-camera.dtsi b/pineapple-camera.dtsi index 6ce7c0bc..4987d266 100644 --- a/pineapple-camera.dtsi +++ b/pineapple-camera.dtsi @@ -1106,6 +1106,11 @@ pinctrl-1 = <&cci_i2c_scl0_suspend &cci_i2c_sda0_suspend>; pinctrl-2 = <&cci_i2c_scl1_active &cci_i2c_sda1_active>; pinctrl-3 = <&cci_i2c_scl1_suspend &cci_i2c_sda1_suspend>; + gpios = <&tlmm 113 0>, + <&tlmm 114 0>, + <&tlmm 115 0>, + <&tlmm 116 0>; + gpio_for_vmrm_purpose; vmrm-resource-ids = <7 7 7>; status = "ok"; @@ -1195,6 +1200,11 @@ pinctrl-1 = <&cci_i2c_scl2_suspend &cci_i2c_sda2_suspend>; pinctrl-2 = <&cci_i2c_scl3_active &cci_i2c_sda3_active>; pinctrl-3 = <&cci_i2c_scl3_suspend &cci_i2c_sda3_suspend>; + gpios = <&tlmm 12 0>, + <&tlmm 13 0>, + <&tlmm 117 0>, + <&tlmm 118 0>; + gpio_for_vmrm_purpose; vmrm-resource-ids = <8 8 8>; status = "ok"; @@ -1284,6 +1294,11 @@ pinctrl-1 = <&cci_i2c_scl4_suspend &cci_i2c_sda4_suspend>; pinctrl-2 = <&cci_i2c_scl5_active &cci_i2c_sda5_active>; pinctrl-3 = <&cci_i2c_scl5_suspend &cci_i2c_sda5_suspend>; + gpios = <&tlmm 112 0>, + <&tlmm 153 0>, + <&tlmm 119 0>, + <&tlmm 120 0>; + gpio_for_vmrm_purpose; vmrm-resource-ids = <9 9 9>; status = "ok"; diff --git a/trustedvm-pineapple-camera.dtsi b/trustedvm-pineapple-camera.dtsi index 0818592c..0de83a2b 100644 --- a/trustedvm-pineapple-camera.dtsi +++ b/trustedvm-pineapple-camera.dtsi @@ -975,6 +975,11 @@ pinctrl-1 = <&cci_i2c_scl0_suspend &cci_i2c_sda0_suspend>; pinctrl-2 = <&cci_i2c_scl1_active &cci_i2c_sda1_active>; pinctrl-3 = <&cci_i2c_scl1_suspend &cci_i2c_sda1_suspend>; + gpios = <&tlmm 113 0>, + <&tlmm 114 0>, + <&tlmm 115 0>, + <&tlmm 116 0>; + gpio_for_vmrm_purpose; vmrm-resource-ids = <7 7 7>; status = "ok"; @@ -1056,6 +1061,11 @@ pinctrl-1 = <&cci_i2c_scl2_suspend &cci_i2c_sda2_suspend>; pinctrl-2 = <&cci_i2c_scl3_active &cci_i2c_sda3_active>; pinctrl-3 = <&cci_i2c_scl3_suspend &cci_i2c_sda3_suspend>; + gpios = <&tlmm 12 0>, + <&tlmm 13 0>, + <&tlmm 117 0>, + <&tlmm 118 0>; + gpio_for_vmrm_purpose; vmrm-resource-ids = <8 8 8>; status = "ok"; @@ -1137,6 +1147,11 @@ pinctrl-1 = <&cci_i2c_scl4_suspend &cci_i2c_sda4_suspend>; pinctrl-2 = <&cci_i2c_scl5_active &cci_i2c_sda5_active>; pinctrl-3 = <&cci_i2c_scl5_suspend &cci_i2c_sda5_suspend>; + gpios = <&tlmm 112 0>, + <&tlmm 153 0>, + <&tlmm 119 0>, + <&tlmm 120 0>; + gpio_for_vmrm_purpose; vmrm-resource-ids = <9 9 9>; status = "ok";