From 7d7c52de371d95c60517939f54cf04967c10b6eb Mon Sep 17 00:00:00 2001 From: shiwgupt Date: Thu, 24 Jun 2021 21:19:04 +0530 Subject: [PATCH] ARM: dts: msm: Add shared gpio node for I2C flash for holi Pro This change adds support in device-tree for sharing gpio among multiple nodes. Gpio sharing among nodes enables each camera to have its own unique I2C flash node. CRs-Fixed: 2976840 Change-Id: Ib4ab92908b51c17f806e5acf2abe86cf41707e43 --- holi-camera-sensor-pm6125-cdp.dtsi | 54 ++++++++++++++++++++++++- holi-camera-sensor-pm6125-mtp.dtsi | 54 ++++++++++++++++++++++++- holi-camera-sensor-usbc-pm6125-mtp.dtsi | 54 ++++++++++++++++++++++++- 3 files changed, 156 insertions(+), 6 deletions(-) diff --git a/holi-camera-sensor-pm6125-cdp.dtsi b/holi-camera-sensor-pm6125-cdp.dtsi index 2e0c6eea8568..9a64b040cca0 100644 --- a/holi-camera-sensor-pm6125-cdp.dtsi +++ b/holi-camera-sensor-pm6125-cdp.dtsi @@ -5,6 +5,10 @@ qcom,cam-res-mgr { compatible = "qcom,cam-res-mgr"; status = "ok"; + gpios-shared = <407>; + pinctrl-names = "cam_res_mgr_default", "cam_res_mgr_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; }; }; @@ -118,6 +122,52 @@ status = "ok"; }; + led_flash_rear_aux: qcom,camera-flash@1 { + cell-index = <1>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + + led_flash_rear_aux2: qcom,camera-flash@2 { + cell-index = <2>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + /* Rear*/ qcom,cam-sensor0 { cell-index = <0>; @@ -171,7 +221,7 @@ sensor-position-roll = <270>; sensor-position-pitch = <0>; sensor-position-yaw = <180>; - led-flash-src = <&led_flash_rear>; + led-flash-src = <&led_flash_rear_aux2>; eeprom-src = <&eeprom_rear_aux2>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L3P>; @@ -415,7 +465,7 @@ sensor-position-pitch = <0>; sensor-position-yaw = <180>; actuator-src = <&actuator_rear_aux>; - led-flash-src = <&led_flash_rear>; + led-flash-src = <&led_flash_rear_aux>; eeprom-src = <&eeprom_rear_aux>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L7P>; diff --git a/holi-camera-sensor-pm6125-mtp.dtsi b/holi-camera-sensor-pm6125-mtp.dtsi index 2e0c6eea8568..9a64b040cca0 100644 --- a/holi-camera-sensor-pm6125-mtp.dtsi +++ b/holi-camera-sensor-pm6125-mtp.dtsi @@ -5,6 +5,10 @@ qcom,cam-res-mgr { compatible = "qcom,cam-res-mgr"; status = "ok"; + gpios-shared = <407>; + pinctrl-names = "cam_res_mgr_default", "cam_res_mgr_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; }; }; @@ -118,6 +122,52 @@ status = "ok"; }; + led_flash_rear_aux: qcom,camera-flash@1 { + cell-index = <1>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + + led_flash_rear_aux2: qcom,camera-flash@2 { + cell-index = <2>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + /* Rear*/ qcom,cam-sensor0 { cell-index = <0>; @@ -171,7 +221,7 @@ sensor-position-roll = <270>; sensor-position-pitch = <0>; sensor-position-yaw = <180>; - led-flash-src = <&led_flash_rear>; + led-flash-src = <&led_flash_rear_aux2>; eeprom-src = <&eeprom_rear_aux2>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L3P>; @@ -415,7 +465,7 @@ sensor-position-pitch = <0>; sensor-position-yaw = <180>; actuator-src = <&actuator_rear_aux>; - led-flash-src = <&led_flash_rear>; + led-flash-src = <&led_flash_rear_aux>; eeprom-src = <&eeprom_rear_aux>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L7P>; diff --git a/holi-camera-sensor-usbc-pm6125-mtp.dtsi b/holi-camera-sensor-usbc-pm6125-mtp.dtsi index 2e0c6eea8568..9a64b040cca0 100644 --- a/holi-camera-sensor-usbc-pm6125-mtp.dtsi +++ b/holi-camera-sensor-usbc-pm6125-mtp.dtsi @@ -5,6 +5,10 @@ qcom,cam-res-mgr { compatible = "qcom,cam-res-mgr"; status = "ok"; + gpios-shared = <407>; + pinctrl-names = "cam_res_mgr_default", "cam_res_mgr_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; }; }; @@ -118,6 +122,52 @@ status = "ok"; }; + led_flash_rear_aux: qcom,camera-flash@1 { + cell-index = <1>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + + led_flash_rear_aux2: qcom,camera-flash@2 { + cell-index = <2>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + /* Rear*/ qcom,cam-sensor0 { cell-index = <0>; @@ -171,7 +221,7 @@ sensor-position-roll = <270>; sensor-position-pitch = <0>; sensor-position-yaw = <180>; - led-flash-src = <&led_flash_rear>; + led-flash-src = <&led_flash_rear_aux2>; eeprom-src = <&eeprom_rear_aux2>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L3P>; @@ -415,7 +465,7 @@ sensor-position-pitch = <0>; sensor-position-yaw = <180>; actuator-src = <&actuator_rear_aux>; - led-flash-src = <&led_flash_rear>; + led-flash-src = <&led_flash_rear_aux>; eeprom-src = <&eeprom_rear_aux>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L7P>;