diff --git a/bindings/msm-camera.txt b/bindings/msm-camera.txt index cbbb136b..0ef6a6b7 100644 --- a/bindings/msm-camera.txt +++ b/bindings/msm-camera.txt @@ -3,14 +3,37 @@ Required properties: - compatible : - "qcom,cam-req-mgr", "qcom,cam-sync" -- qcom,sensor-manual-probe : specify if sensor probes at kernel boot time or user driven + +- cam-bypass-driver : + Usage: optional + Value type: + Definition: should contain drivers that required to bypass on camera, + including rgltr, rgltr_mode, clks, cesta, icc. + +- device-heap-size : + Usage: optional + Value type: + Definition: heap size used for camera internal allocations (exa - hfi memory) which stay forever. + +- session-heap-size : + Usage: optional + Value type: + Definition: heap size used for session based allocations. These allocations must be freed at the + end of session and the session-heap memory will be released to PVM at the end of usecase. Example: - qcom,cam-req-mgr { - compatible = "qcom,cam-req-mgr"; - qcom,sensor-manual-probe; - }; + qcom,cam-req-mgr { + compatible = "qcom,cam-req-mgr"; + cam-bypass-driver = <(CAM_BYPASS_RGLTR | + CAM_BYPASS_RGLTR_MODE | + CAM_BYPASS_CLKS | + CAM_BYPASS_CESTA | + CAM_BYPASS_ICC)>; + device-heap-size = <0x400000>; + session-heap-size = <0xC800000>; + status = "ok"; + }; qcom,cam-sync { compatible = "qcom,cam-sync"; diff --git a/sun-camera-sensor-cdp.dts b/sun-camera-sensor-cdp.dts index e307ddf3..8c06d501 100644 --- a/sun-camera-sensor-cdp.dts +++ b/sun-camera-sensor-cdp.dts @@ -12,6 +12,6 @@ / { model = "Qualcomm Technologies, Inc. Sun CDP/RCM"; compatible = "qcom,sun-cdp", "qcom,sun", "qcom,cdp", "qcom,rcm", "qcom,sun-rcm"; - qcom,msm-id = <618 0x10000>, <618 0x20000>; - qcom,board-id = <1 0>, <21 0>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <1 0>, <21 0>, <0x20001 0>, <0x50001 0>, <0x60001 0>; }; diff --git a/sun-camera-sensor-cdp.dtsi b/sun-camera-sensor-cdp.dtsi index 3c1fbd5c..94ddcf35 100644 --- a/sun-camera-sensor-cdp.dtsi +++ b/sun-camera-sensor-cdp.dtsi @@ -696,6 +696,7 @@ regulator-names = "cam_vio", "cam_vdig","cam_clk", "cam_vana", "cam_vaf"; rgltr-cntrl-support; + aon-camera-id = ; i3c-target; rgltr-min-voltage = <1200000 1104000 0 2800000 2960000>; rgltr-max-voltage = <1200000 1104000 0 2800000 2960000>; diff --git a/sun-camera-sensor-mtp.dts b/sun-camera-sensor-mtp.dts index 1fb05ebe..5a655583 100644 --- a/sun-camera-sensor-mtp.dts +++ b/sun-camera-sensor-mtp.dts @@ -12,6 +12,6 @@ / { model = "Qualcomm Technologies, Inc. Sun MTP"; compatible = "qcom,sun-mtp", "qcom,sun", "qcom,mtp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>; - qcom,board-id = <8 0>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <8 0>, <0x20008 0>, <0x40008 0>, <0x50008 0>; }; diff --git a/sun-camera-sensor-mtp.dtsi b/sun-camera-sensor-mtp.dtsi index 3c1fbd5c..94ddcf35 100644 --- a/sun-camera-sensor-mtp.dtsi +++ b/sun-camera-sensor-mtp.dtsi @@ -696,6 +696,7 @@ regulator-names = "cam_vio", "cam_vdig","cam_clk", "cam_vana", "cam_vaf"; rgltr-cntrl-support; + aon-camera-id = ; i3c-target; rgltr-min-voltage = <1200000 1104000 0 2800000 2960000>; rgltr-max-voltage = <1200000 1104000 0 2800000 2960000>; diff --git a/sun-camera-sensor-qrd.dts b/sun-camera-sensor-qrd.dts index eb858650..95472e51 100644 --- a/sun-camera-sensor-qrd.dts +++ b/sun-camera-sensor-qrd.dts @@ -12,6 +12,6 @@ / { model = "Qualcomm Technologies, Inc. Sun QRD"; compatible = "qcom,sun-qrd", "qcom,sun", "qcom,qrd"; - qcom,msm-id = <618 0x10000>, <618 0x20000>; - qcom,board-id = <11 0>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x1000B 0>, <0x2000B 0>, <0x3000B 0>; }; diff --git a/sun-camera-sensor-qrd.dtsi b/sun-camera-sensor-qrd.dtsi index 3c1fbd5c..94ddcf35 100644 --- a/sun-camera-sensor-qrd.dtsi +++ b/sun-camera-sensor-qrd.dtsi @@ -696,6 +696,7 @@ regulator-names = "cam_vio", "cam_vdig","cam_clk", "cam_vana", "cam_vaf"; rgltr-cntrl-support; + aon-camera-id = ; i3c-target; rgltr-min-voltage = <1200000 1104000 0 2800000 2960000>; rgltr-max-voltage = <1200000 1104000 0 2800000 2960000>; diff --git a/sun-camera-sensor-rumi.dtsi b/sun-camera-sensor-rumi.dtsi index 3c1fbd5c..94ddcf35 100644 --- a/sun-camera-sensor-rumi.dtsi +++ b/sun-camera-sensor-rumi.dtsi @@ -696,6 +696,7 @@ regulator-names = "cam_vio", "cam_vdig","cam_clk", "cam_vana", "cam_vaf"; rgltr-cntrl-support; + aon-camera-id = ; i3c-target; rgltr-min-voltage = <1200000 1104000 0 2800000 2960000>; rgltr-max-voltage = <1200000 1104000 0 2800000 2960000>; diff --git a/sun-camera.dts b/sun-camera.dts index 37e5bc68..80cb1c7f 100644 --- a/sun-camera.dts +++ b/sun-camera.dts @@ -11,6 +11,6 @@ / { model = "Qualcomm Technologies, Inc. Sun SoC"; compatible = "qcom,sun"; - qcom,msm-id = <618 0x10000>, <618 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; qcom,board-id = <0 0>; }; diff --git a/sun-camera.dtsi b/sun-camera.dtsi index 0c2a3034..69a79d94 100644 --- a/sun-camera.dtsi +++ b/sun-camera.dtsi @@ -3189,12 +3189,13 @@ <&camcc CAM_CC_IPE_PPS_CLK>, <&camcc CAM_CC_CAMNOC_NRT_IPE_NPS_CLK>; clock-rates = - <0 0 0 455000000 0 0 0>, + <0 0 0 332500000 0 0 0>, + <0 0 0 475000000 0 0 0>, <0 0 0 575000000 0 0 0>, <0 0 0 675000000 0 0 0>, <0 0 0 825000000 0 0 0>, <0 0 0 825000000 0 0 0>; - clock-cntl-level = "lowsvs", "svs", "svs_l1", "nominal", + clock-cntl-level = "lowsvsd1", "lowsvs", "svs", "svs_l1", "nominal", "turbo"; nrt-device; src-clock-name = "ipe_nps_clk_src"; @@ -3263,10 +3264,10 @@ cam_jpeg_enc0: qcom,jpegenc0@ac25000 { cell-index = <0>; compatible = "qcom,cam_jpeg_enc_780"; - reg-names = "jpegenc_hw", "cam_camnoc"; + reg-names = "jpegenc_hw", "cam_camnoc_nrt"; reg = <0xac25000 0x1000>, - <0xac19000 0xac80>; - reg-cam-base = <0x2a000 0x19000>; + <0x0ac62000 0x9200>; + reg-cam-base = <0x25000 0x62000>; interrupt-names = "jpeg_enc0"; interrupts = ; regulator-names = "gdsc"; @@ -3294,9 +3295,9 @@ cell-index = <0>; compatible = "qcom,cam_jpeg_dma_780"; reg-names = "jpegdma_hw", "cam_camnoc_nrt"; - reg = <0xac2b000 0x1000>, + reg = <0xac26000 0x1000>, <0x0ac62000 0x9200>; - reg-cam-base = <0x2b000 0x62000>; + reg-cam-base = <0x26000 0x62000>; interrupt-names = "jpeg_dma0"; interrupts = ; regulator-names = "gdsc"; diff --git a/trustedvm-pineapple-camera.dtsi b/trustedvm-pineapple-camera.dtsi index fd532198..ca15437e 100644 --- a/trustedvm-pineapple-camera.dtsi +++ b/trustedvm-pineapple-camera.dtsi @@ -862,6 +862,8 @@ CAM_BYPASS_CLKS | CAM_BYPASS_CESTA | CAM_BYPASS_ICC)>; + device-heap-size = <0x400000>; + session-heap-size = <0xC800000>; status = "ok"; };