diff --git a/bindings/msm-cam-cci.txt b/bindings/msm-cam-cci.txt index f84f2c34..7865e3fe 100644 --- a/bindings/msm-cam-cci.txt +++ b/bindings/msm-cam-cci.txt @@ -126,6 +126,22 @@ First Level Node - CCI device Value type: Definition: should contain mmagic regulator used for mmagic clocks. +- vmrm-resource-ids + Usage: optional + Value type: + 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 ========================= @@ -201,6 +217,7 @@ Example: pinctrl-1 = <&cci0_suspend>; pinctrl-2 = <&cci1_active>; pinctrl-3 = <&cci1_suspend>; + vmrm-resource-ids = <7 7 7>; i2c_freq_100Khz: qcom,i2c_standard_mode { hw-thigh = <78>; hw-tlow = <114>; diff --git a/bindings/msm-cam-cdm.txt b/bindings/msm-cam-cdm.txt index 0e188fec..7d9d7df7 100644 --- a/bindings/msm-cam-cdm.txt +++ b/bindings/msm-cam-cdm.txt @@ -150,6 +150,22 @@ to CDM interface node. Value type: Definition: Flag to indicate whether this is non real time device. +- vmrm-resource-ids + Usage: optional + Value type: + Definition: should specify vmrm resource id list order is mem label, + mem tag, irq1 label, irq2 label. + +- override-cdm-family + Usage: optional + Value type: + Definition: should specify cdm family. + +- override-cdm-version + Usage: optional + Value type: + Definition: should specify cdm version. + Example: qcom,cpas-cdm0@ac48000 { cell-index = <0>; @@ -180,5 +196,8 @@ Example: config-fifo; fifo-depths = <64 0 0 0>; single-context-cdm; + vmrm-resource-ids = <12 12 12>; + override-cdm-family = <0>; + override-cdm-version = <0x20020000>; status = "ok"; }; diff --git a/bindings/msm-cam-cpas.txt b/bindings/msm-cam-cpas.txt index 179a4e76..fa5d7c0d 100644 --- a/bindings/msm-cam-cpas.txt +++ b/bindings/msm-cam-cpas.txt @@ -298,6 +298,27 @@ First Level Node - CAM CPAS device properties for those need to be included for this property to work. +- vmrm-resource-ids + Usage: optional + Value type: + Definition: should specify vmrm resource id list order is mem label, + mem tag, irq1 label, irq2 label. + +- cam-version + Usage: optional + Value type: + Definition: should specify camera version. + +- cpas-version + Usage: optional + Value type: + Definition: should specify cpas version. + +- camera-capability + Usage: optional + Value type: + Definition: should specify camera capability. + =================================================================== Third Level Node - CAMNOC Level nodes =================================================================== @@ -521,6 +542,10 @@ Example: rt-wr-lowstress-indicator-threshold = <0>; rt-wr-bw-ratio-scale-factor = <1>; enable-cam-drv; + vmrm-resource-ids = <10 10 10>; + cam-version = <0x80800>; + cpas-version = <0x10000000>; + camera-capability = <0x9fffedeb 0x8>; camera-bus-nodes { level3-nodes { level-index = <3>; diff --git a/bindings/msm-cam-csiphy.txt b/bindings/msm-cam-csiphy.txt index b6fc719d..dd6402e6 100644 --- a/bindings/msm-cam-csiphy.txt +++ b/bindings/msm-cam-csiphy.txt @@ -139,6 +139,12 @@ First Level Node - CSIPHY device Value type: Definition: List of 0 or 1 values indicating whether shared clk or not. +- vmrm-resource-ids + Usage: optional + Value type: + Definition: should specify vmrm resource id list order is mem label, + mem tag, irq1 label, irq2 label. + Example: cam_csiphy0: qcom,csiphy0@ace4000 { @@ -171,5 +177,6 @@ cam_csiphy0: qcom,csiphy0@ace4000 { clock-cntl-level = "nominal"; clock-rates = <480000000 0 400000000 0>; + vmrm-resource-ids = <1 1 1>; status = "ok"; }; diff --git a/bindings/msm-cam-eeprom.txt b/bindings/msm-cam-eeprom.txt index d692385b..16485426 100644 --- a/bindings/msm-cam-eeprom.txt +++ b/bindings/msm-cam-eeprom.txt @@ -141,6 +141,12 @@ First Level Node - CAM EEPROM device Value type: Definition: List of clocks rates. +- vmrm-resource-ids + Usage: optional + Value type: + Definition: should specify vmrm resource id list order is mem label, + mem tag, irq1 label, irq2 label. + Example: eeprom0: qcom,eeprom@0 { @@ -174,6 +180,7 @@ Example: clock-names = "cam_clk"; clock-cntl-level = "turbo"; clock-rates = <24000000>; + vmrm-resource-ids = <32 32>; }; ======================================================= diff --git a/bindings/msm-cam-icp.txt b/bindings/msm-cam-icp.txt index aada7cc7..021a8fe9 100644 --- a/bindings/msm-cam-icp.txt +++ b/bindings/msm-cam-icp.txt @@ -179,6 +179,12 @@ and name of firmware image. Value type: Definition: Flag to indicate whether this is non real time device. +- vmrm-resource-ids + Usage: optional + Value type: + Definition: should specify vmrm resource id list order is mem label, + mem tag, irq1 label, irq2 label. + Examples: cam_a5: qcom,a5 { cell-index = <0>; @@ -258,6 +264,7 @@ cam_lx7: qcom,lx7 { ubwc-ipe-write-cfg = <0x161ef 0x1620f>; ubwc-bps-fetch-cfg = <0x707b 0x7083>; ubwc-bps-write-cfg = <0x161ef 0x1620f>; + vmrm-resource-ids = <29 29 29>; status = "ok"; }; @@ -299,6 +306,7 @@ cam_ipe0: qcom,ipe0@ac42000 { clock-cntl-level = "lowsvs", "svs", "svs_l1", "nominal", "turbo"; nrt-device; + vmrm-resource-ids = <30 30 30>; status = "ok"; }; @@ -326,6 +334,7 @@ qcom,ipe1 { <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", "svs_l1", "nominal", "turbo"; + vmrm-resource-ids = <31 31 31>; nrt-device; }; @@ -363,5 +372,6 @@ cam_bps: qcom,bps@ac2c000 { clock-cntl-level = "lowsvs", "svs", "svs_l1", "nominal", "turbo"; nrt-device; + vmrm-resource-ids = <32 32 32>; status = "ok"; }; diff --git a/bindings/msm-cam-sfe.txt b/bindings/msm-cam-sfe.txt index 607bf02d..50bb675c 100644 --- a/bindings/msm-cam-sfe.txt +++ b/bindings/msm-cam-sfe.txt @@ -101,6 +101,12 @@ Required properties: Value type: Definition: Enable/Disable clk rate control. +- vmrm-resource-ids + Usage: optional + Value type: + Definition: should specify vmrm resource id list order is mem label, + mem tag, irq1 label, irq2 label. + Example: cam_sfe0: qcom,sfe0@ac9e000 { cell-index = <0>; @@ -133,5 +139,6 @@ cam_sfe0: qcom,sfe0@ac9e000 { src-clock-name = "sfe_clk_src"; scl-clk-names = "sfe_0_ahb"; clock-control-debugfs = "true"; + vmrm-resource-ids = <16 16 16>; status = "ok"; }; diff --git a/bindings/msm-cam-vfe.txt b/bindings/msm-cam-vfe.txt index cf3f7ffc..3f3e7000 100644 --- a/bindings/msm-cam-vfe.txt +++ b/bindings/msm-cam-vfe.txt @@ -132,6 +132,12 @@ Optional properties: Value type: Definition: HW unique Pid values +- vmrm-resource-ids + Usage: optional + Value type: + Definition: should specify vmrm resource id list order is mem label, + mem tag, irq1 label, irq2 label. + Example: cam_vfe0: qcom,ife0@ac62000 { cell-index = <0>; @@ -173,4 +179,5 @@ cam_vfe0: qcom,ife0@ac62000 { ubwc-static-cfg = <0x1026 0x1036>; cam_hw_pid = <16 28 20 8>; status = "ok"; + vmrm-resource-ids = <20 20 20>; }; diff --git a/pineapple-camera-sensor-cdp.dtsi b/pineapple-camera-sensor-cdp.dtsi index 24fd3fc1..e0f47524 100644 --- a/pineapple-camera-sensor-cdp.dtsi +++ b/pineapple-camera-sensor-cdp.dtsi @@ -110,6 +110,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <32 32>; status = "ok"; }; @@ -146,6 +147,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <33 33>; status = "ok"; }; @@ -187,6 +189,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <34 34>; status = "ok"; }; @@ -231,6 +234,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <35 35>; status = "ok"; }; @@ -282,6 +286,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <36 36>; status = "ok"; }; @@ -324,6 +329,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <37 37>; status = "ok"; }; @@ -363,6 +369,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <38 38>; status = "ok"; }; @@ -404,6 +411,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <39 39>; status = "ok"; }; }; @@ -460,6 +468,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <40 40>; status = "ok"; }; @@ -496,6 +505,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <41 41>; status = "ok"; }; @@ -542,6 +552,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <42 42>; status = "ok"; }; @@ -591,6 +602,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <43 43>; status = "ok"; }; }; @@ -649,6 +661,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <44 44>; status = "ok"; }; @@ -711,6 +724,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <45 45>; status = "ok"; }; @@ -760,6 +774,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <46 46>; status = "ok"; }; }; diff --git a/pineapple-camera-sensor-mtp.dtsi b/pineapple-camera-sensor-mtp.dtsi index 24fd3fc1..e0f47524 100644 --- a/pineapple-camera-sensor-mtp.dtsi +++ b/pineapple-camera-sensor-mtp.dtsi @@ -110,6 +110,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <32 32>; status = "ok"; }; @@ -146,6 +147,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <33 33>; status = "ok"; }; @@ -187,6 +189,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <34 34>; status = "ok"; }; @@ -231,6 +234,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <35 35>; status = "ok"; }; @@ -282,6 +286,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <36 36>; status = "ok"; }; @@ -324,6 +329,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <37 37>; status = "ok"; }; @@ -363,6 +369,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <38 38>; status = "ok"; }; @@ -404,6 +411,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <39 39>; status = "ok"; }; }; @@ -460,6 +468,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <40 40>; status = "ok"; }; @@ -496,6 +505,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <41 41>; status = "ok"; }; @@ -542,6 +552,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <42 42>; status = "ok"; }; @@ -591,6 +602,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <43 43>; status = "ok"; }; }; @@ -649,6 +661,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <44 44>; status = "ok"; }; @@ -711,6 +724,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <45 45>; status = "ok"; }; @@ -760,6 +774,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <46 46>; status = "ok"; }; }; diff --git a/pineapple-camera-sensor-qrd.dtsi b/pineapple-camera-sensor-qrd.dtsi index 24fd3fc1..e0f47524 100644 --- a/pineapple-camera-sensor-qrd.dtsi +++ b/pineapple-camera-sensor-qrd.dtsi @@ -110,6 +110,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <32 32>; status = "ok"; }; @@ -146,6 +147,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <33 33>; status = "ok"; }; @@ -187,6 +189,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <34 34>; status = "ok"; }; @@ -231,6 +234,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <35 35>; status = "ok"; }; @@ -282,6 +286,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <36 36>; status = "ok"; }; @@ -324,6 +329,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <37 37>; status = "ok"; }; @@ -363,6 +369,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <38 38>; status = "ok"; }; @@ -404,6 +411,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <39 39>; status = "ok"; }; }; @@ -460,6 +468,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <40 40>; status = "ok"; }; @@ -496,6 +505,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <41 41>; status = "ok"; }; @@ -542,6 +552,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <42 42>; status = "ok"; }; @@ -591,6 +602,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <43 43>; status = "ok"; }; }; @@ -649,6 +661,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <44 44>; status = "ok"; }; @@ -711,6 +724,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <45 45>; status = "ok"; }; @@ -760,6 +774,7 @@ clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; + vmrm-resource-ids = <46 46>; status = "ok"; }; }; diff --git a/pineapple-camera.dtsi b/pineapple-camera.dtsi index ba0cd546..b2fc4393 100644 --- a/pineapple-camera.dtsi +++ b/pineapple-camera.dtsi @@ -877,6 +877,12 @@ status = "disabled"; }; + qcom,cam-vmrm { + compatible = "qcom,cam-vmrm"; + vmid = ; + status = "disabled"; + }; + cam_csiphy0: qcom,csiphy0@ace4000 { cell-index = <0>; compatible = "qcom,csiphy-v2.2.0", "qcom,csiphy"; @@ -907,6 +913,7 @@ clock-rates = <400000000 0 400000000 0>, <480000000 0 400000000 0>; + vmrm-resource-ids = <1 1 1>; status = "ok"; }; @@ -940,6 +947,7 @@ clock-rates = <400000000 0 400000000 0>, <480000000 0 400000000 0>; + vmrm-resource-ids = <2 2 2>; status = "ok"; }; @@ -973,6 +981,7 @@ clock-rates = <400000000 0 400000000 0>, <480000000 0 400000000 0>; + vmrm-resource-ids = <3 3 3>; status = "ok"; }; @@ -1006,6 +1015,7 @@ clock-rates = <400000000 0 400000000 0>, <480000000 0 400000000 0>; + vmrm-resource-ids = <4 4 4>; status = "ok"; }; @@ -1039,6 +1049,7 @@ clock-rates = <400000000 0 400000000 0>, <480000000 0 400000000 0>; + vmrm-resource-ids = <5 5 5>; status = "ok"; }; @@ -1072,6 +1083,7 @@ clock-rates = <400000000 0 400000000 0>, <480000000 0 400000000 0>; + vmrm-resource-ids = <6 6 6>; status = "ok"; }; @@ -1100,6 +1112,12 @@ 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"; i2c_freq_100Khz_cci0: qcom,i2c_standard_mode { @@ -1188,6 +1206,12 @@ 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"; i2c_freq_100Khz_cci1: qcom,i2c_standard_mode { @@ -1276,6 +1300,12 @@ 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"; i2c_freq_100Khz_cci2: qcom,i2c_standard_mode { @@ -1679,6 +1709,7 @@ rt-wr-highstress-indicator-threshold = <50>; rt-wr-lowstress-indicator-threshold = <0>; rt-wr-bw-ratio-scale-factor = <1>; + vmrm-resource-ids = <10 10 10>; status = "ok"; camera-bus-nodes { @@ -2515,6 +2546,7 @@ cam_hw_pid = <25>; cam-hw-mid = <0>; single-context-cdm; + vmrm-resource-ids = <11 11 11>; status = "ok"; }; @@ -2540,6 +2572,7 @@ cam_hw_pid = <26>; cam-hw-mid = <0>; single-context-cdm; + vmrm-resource-ids = <12 12 12>; status = "ok"; }; @@ -2565,6 +2598,7 @@ cam_hw_pid = <27>; cam-hw-mid = <0>; single-context-cdm; + vmrm-resource-ids = <13 13 13>; status = "ok"; }; @@ -2590,6 +2624,7 @@ cam_hw_pid = <24>; cam-hw-mid = <0>; single-context-cdm; + vmrm-resource-ids = <14 14 14>; status = "ok"; }; @@ -2615,6 +2650,7 @@ cam_hw_pid = <30>; cam-hw-mid = <0>; single-context-cdm; + vmrm-resource-ids = <15 15 15>; status = "ok"; }; @@ -2657,6 +2693,7 @@ src-clock-name = "sfe_0_clk_src"; cam_hw_pid = <11 0>; clock-control-debugfs = "true"; + vmrm-resource-ids = <16 16 16>; status = "ok"; }; @@ -2693,6 +2730,7 @@ src-clock-name = "sfe_1_clk_src"; cam_hw_pid = <12 1>; clock-control-debugfs = "true"; + vmrm-resource-ids = <17 17 17>; status = "ok"; }; @@ -2729,6 +2767,7 @@ src-clock-name = "sfe_2_clk_src"; cam_hw_pid = <13 2>; clock-control-debugfs = "true"; + vmrm-resource-ids = <18 18 18>; status = "ok"; }; @@ -2763,6 +2802,7 @@ "turbo"; src-clock-name = "csid_clk_src"; clock-control-debugfs = "true"; + vmrm-resource-ids = <19 19 19>; status = "ok"; }; @@ -2801,6 +2841,7 @@ clock-control-debugfs = "true"; ubwc-static-cfg = <0x1026 0x1036>; cam_hw_pid = <16 20 24 8>; + vmrm-resource-ids = <20 20 20>; status = "ok"; }; @@ -2835,6 +2876,7 @@ "turbo"; src-clock-name = "csid_clk_src"; clock-control-debugfs = "true"; + vmrm-resource-ids = <21 21 21>; status = "ok"; }; @@ -2873,6 +2915,7 @@ clock-control-debugfs = "true"; ubwc-static-cfg = <0x1026 0x1036>; cam_hw_pid = <17 21 25 9>; + vmrm-resource-ids = <22 22 22>; status = "ok"; }; @@ -2907,6 +2950,7 @@ "turbo"; src-clock-name = "csid_clk_src"; clock-control-debugfs = "true"; + vmrm-resource-ids = <23 23 23>; status = "ok"; }; @@ -2945,6 +2989,7 @@ clock-control-debugfs = "true"; ubwc-static-cfg = <0x1026 0x1036>; cam_hw_pid = <18 22 26 10>; + vmrm-resource-ids = <24 24 24>; status = "ok"; }; @@ -2984,6 +3029,7 @@ "turbo"; src-clock-name = "ife_lite_csid_clk_src"; clock-control-debugfs = "true"; + vmrm-resource-ids = <25 25 25>; status = "ok"; }; @@ -3024,6 +3070,7 @@ src-clock-name = "ife_lite_clk_src"; clock-control-debugfs = "true"; cam_hw_pid = <27>; + vmrm-resource-ids = <26 26 26>; status = "ok"; }; @@ -3063,6 +3110,7 @@ "turbo"; src-clock-name = "ife_lite_csid_clk_src"; clock-control-debugfs = "true"; + vmrm-resource-ids = <27 27 27>; status = "ok"; }; @@ -3103,6 +3151,7 @@ src-clock-name = "ife_lite_clk_src"; clock-control-debugfs = "true"; cam_hw_pid = <28>; + vmrm-resource-ids = <28 28 28>; status = "ok"; }; @@ -3243,6 +3292,7 @@ ubwc-bps-write-cfg = <0x161ef 0x1620f>; qos-val = <0x808>; cam_hw_pid = <11>; + vmrm-resource-ids = <29 29 29>; status = "ok"; }; @@ -3282,6 +3332,7 @@ src-clock-name = "ipe_nps_clk_src"; clock-control-debugfs = "true"; cam_hw_pid = <15 14 13 31>; + vmrm-resource-ids = <30 30 30>; status = "ok"; }; @@ -3317,6 +3368,7 @@ src-clock-name = "bps_clk_src"; clock-control-debugfs = "true"; cam_hw_pid = <6 30>; + vmrm-resource-ids = <31 31 31>; status = "ok"; }; diff --git a/sun-camera.dtsi b/sun-camera.dtsi index 69a79d94..d961853c 100644 --- a/sun-camera.dtsi +++ b/sun-camera.dtsi @@ -1342,14 +1342,18 @@ #address-cells = <2>; #size-cells = <2>; - msm_cam_smmu_ife { + msm_cam_smmu_ife: msm_cam_smmu_ife { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x1C00 0x00>; - qcom,iommu-dma-addr-pool = <0x0 0x100000 0xf 0xffe00000>; qcom,iommu-faults = "stall-disable", "non-fatal"; dma-coherent; cam-smmu-label = "ife"; multiple-client-devices; + memory-region = <&cam_smmu_ife_resv_region>; + cam_smmu_ife_resv_region: cam_smmu_ife_resv_region { + iommu-addresses = <&msm_cam_smmu_ife 0x0 0x0 0x0 0x100000>, + <&msm_cam_smmu_ife 0xf 0xfff00000 0x0 0x100000>; + }; ife_iova_mem_map: iova-mem-map { /* IO region is approximately 64 GB */ iova-mem-region-io { @@ -1366,13 +1370,17 @@ }; }; - msm_cam_smmu_jpeg { + msm_cam_smmu_jpeg: msm_cam_smmu_jpeg { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x18A0 0x00>; cam-smmu-label = "jpeg"; qcom,iommu-faults = "stall-disable", "non-fatal"; - qcom,iommu-dma-addr-pool = <0x0 0x100000 0x0 0xffe00000>; dma-coherent; + memory-region = <&cam_smmu_jpeg_resv_region>; + cam_smmu_jpeg_resv_region: cam_smmu_jpeg_resv_region { + iommu-addresses = <&msm_cam_smmu_jpeg 0x0 0x0 0x0 0x100000>, + <&msm_cam_smmu_jpeg 0x0 0xfff00000 0xf 0x00100000>; + }; jpeg_iova_mem_map: iova-mem-map { /* IO region is approximately 4.0 GB */ iova-mem-region-io { @@ -1389,7 +1397,7 @@ }; }; - msm_cam_smmu_icp { + msm_cam_smmu_icp: msm_cam_smmu_icp { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x1820 0x00>, <&apps_smmu 0x1800 0xC0>, @@ -1398,15 +1406,17 @@ multiple-client-devices; multiple-same-region-clients = "icp", "icp1"; qcom,iommu-faults = "stall-disable", "non-fatal"; - qcom,iommu-dma-addr-pool = <0x0 0xf1400000 0xf 0x0ec00000>; dma-coherent; + memory-region = <&cam_smmu_icp_resv_region>; + cam_smmu_icp_resv_region: cam_smmu_icp_resv_region { + iommu-addresses = <&msm_cam_smmu_icp 0x0 0x0 0x0 0xf1600000>; + }; icp_iova_mem_map: iova-mem-map { - iova-mem-region-shared1 { /* Shared region is ~900MB long */ iova-region-name = "shared"; - /* Start address: 0x80c00000 */ - iova-region-start = <0x0 0x80c00000>; + /* Start address: 0x80e00000 */ + iova-region-start = <0x0 0x80e00000>; /* Length: 0x38400000 */ iova-region-len = <0x0 0x38400000>; iova-region-id = <0x1>; @@ -1416,8 +1426,8 @@ iova-mem-region-shared2 { /* Shared region is ~900MB long */ iova-region-name = "shared"; - /* Start address: 0xb9000000 */ - iova-region-start = <0x0 0xb9000000>; + /* Start address: 0xb9200000 */ + iova-region-start = <0x0 0xb9200000>; /* Length: 0x38400000 */ iova-region-len = <0x0 0x38400000>; iova-region-id = <0x1>; @@ -1427,8 +1437,8 @@ iova-mem-region-fwuncached-region1 { /* FW uncached region is 5 MB long */ iova-region-name = "fw_uncached"; - /* Start address: 0x80200000 */ - iova-region-start = <0x0 0x80200000>; + /* Start address: 0x80400000 */ + iova-region-start = <0x0 0x80400000>; /* Length: 0x500000 */ iova-region-len = <0x0 0x500000>; iova-region-id = <0x6>; @@ -1438,7 +1448,7 @@ /* Used for HFI queues/sec heap */ iova-mem-region-generic-region { iova-region-name = "icp_hfi"; - iova-region-start = <0x0 0x80300000>; + iova-region-start = <0x0 0x80500000>; /* Length: 0x200000 */ iova-region-len = <0x0 0x200000>; iova-region-id = <0x0>; @@ -1447,7 +1457,7 @@ /* Global Sync Memory for IPC */ iova-mem-region-global-sync-region { iova-region-name = "global_sync"; - iova-region-start = <0x0 0x80200000>; + iova-region-start = <0x0 0x80400000>; /* Length: 0x100000 */ iova-region-len = <0x0 0x100000>; iova-region-id = <0x3>; @@ -1458,8 +1468,8 @@ iova-mem-region-fwuncached-region2 { /* FW uncached region is 5 MB long */ iova-region-name = "fw_uncached"; - /* Start address: 0x80700000 */ - iova-region-start = <0x0 0x80700000>; + /* Start address: 0x80900000 */ + iova-region-start = <0x0 0x80900000>; /* Length: 0x500000 */ iova-region-len = <0x0 0x500000>; iova-region-id = <0x6>; @@ -1469,7 +1479,7 @@ /* Used for HFI queues/sec heap */ iova-mem-region-generic-region { iova-region-name = "icp_hfi"; - iova-region-start = <0x0 0x80800000>; + iova-region-start = <0x0 0x80a00000>; /* Length: 0x200000 */ iova-region-len = <0x0 0x200000>; iova-region-id = <0x0>; @@ -1478,7 +1488,7 @@ /* Global Sync Memory for IPC */ iova-mem-region-global-sync-region { iova-region-name = "global_sync"; - iova-region-start = <0x0 0x80700000>; + iova-region-start = <0x0 0x80900000>; /* Length: 0x100000 */ iova-region-len = <0x0 0x100000>; iova-region-id = <0x3>; @@ -1490,7 +1500,7 @@ /* Device region is appropriate 1MB */ iova-region-name = "device"; iova-region-start = <0x0 0x80100000>; - iova-region-len = <0x0 0x100000>; + iova-region-len = <0x0 0x300000>; iova-region-id = <0x7>; subregion_support; status = "ok"; @@ -1518,15 +1528,22 @@ iova-region-id = <0x4>; phy-addr = <0xc220000>; }; + iova-mem-region-llcc-register { + iova-region-name = "llcc-register"; + iova-region-start = <0x0 0x80103000>; + iova-region-len = <0x0 0x200000>; + iova-region-id = <0x5>; + phy-addr = <0x26C00000>; + }; }; iova-mem-region-io { /* IO region is approximately 60 GB */ iova-region-name = "io"; - /* Start address: 0xf1400000 */ - iova-region-start = <0x0 0xf1400000>; - /* Length: 0xf0ec00000 */ - iova-region-len = <0xf 0x0ec00000>; + /* Start address: 0xf1600000 */ + iova-region-start = <0x0 0xf1600000>; + /* Length: 0xf0ea00000 */ + iova-region-len = <0xf 0x0ea00000>; iova-region-id = <0x3>; status = "ok"; }; @@ -1545,14 +1562,18 @@ }; }; - msm_cam_smmu_cdm { + msm_cam_smmu_cdm: msm_cam_smmu_cdm { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x1860 0x00>; cam-smmu-label = "rt-cdm"; qcom,iommu-faults = "stall-disable", "non-fatal"; - qcom,iommu-dma-addr-pool = <0x0 0x100000 0x0 0xffe00000>; dma-coherent; multiple-client-devices; + memory-region = <&cam_smmu_cdm_resv_region>; + cam_smmu_cdm_resv_region: cam_smmu_cdm_resv_region { + iommu-addresses = <&msm_cam_smmu_cdm 0x0 0x0 0x0 0x100000>, + <&msm_cam_smmu_cdm 0x0 0xfff00000 0xf 0x00100000>; + }; rt_cdm_iova_mem_map: iova-mem-map { iova-mem-region-io { iova-region-name = "io"; @@ -1701,6 +1722,9 @@ "cam-cdm-intf0", "icp0", "icp1", "ofe0", "cre0", "jpeg-dma0", "jpeg-enc0", "jpeg-dma1", "jpeg-enc1", "tpg13", "tpg14", "tpg15"; + sys-cache-names = "ofe_ip", "ipe_rt_ip", "ipe_srt_ip", "ipe_rt_rf", "ipe_srt_rf"; + sys-cache-uids = <71 72 73 74 75>; + sys-cache-concur = <1 1 1 0 0>; enable-smart-qos; rt-wr-priority-min = <4>; rt-wr-priority-max = <5>; diff --git a/trustedvm-pineapple-camera-sensor-cdp.dtsi b/trustedvm-pineapple-camera-sensor-cdp.dtsi index 4a13f9e2..e6275269 100644 --- a/trustedvm-pineapple-camera-sensor-cdp.dtsi +++ b/trustedvm-pineapple-camera-sensor-cdp.dtsi @@ -67,6 +67,7 @@ gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0"; cci-master = ; + vmrm-resource-ids = <32 32>; status = "ok"; }; @@ -87,6 +88,7 @@ gpio-req-tbl-label = "CAMIF_MCLK1", "CAM_RESET1"; cci-master = ; + vmrm-resource-ids = <33 33>; status = "ok"; }; @@ -112,6 +114,7 @@ gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0"; cci-master = <0>; + vmrm-resource-ids = <34 34>; status = "ok"; }; @@ -140,6 +143,7 @@ gpio-req-tbl-label = "CAMIF_MCLK1", "CAM_RESET1"; cci-master = ; + vmrm-resource-ids = <35 35>; status = "ok"; }; @@ -170,6 +174,7 @@ gpio-req-tbl-label = "CAMIF_MCLK3", "CAM_RESET3"; cci-master = ; + vmrm-resource-ids = <36 36>; status = "ok"; }; @@ -197,6 +202,7 @@ gpio-req-tbl-label = "CAMIF_MCLK3", "CAM_RESET3"; cci-master = ; + vmrm-resource-ids = <37 37>; status = "ok"; }; @@ -220,6 +226,7 @@ gpio-req-tbl-label = "CAMIF_MCLK5", "CAM_RESET5"; cci-master = ; + vmrm-resource-ids = <38 38>; status = "ok"; }; @@ -245,6 +252,7 @@ gpio-req-tbl-label = "CAMIF_MCLK5", "CAM_RESET5"; cci-master = ; + vmrm-resource-ids = <39 39>; status = "ok"; }; }; diff --git a/trustedvm-pineapple-camera-sensor-mtp.dtsi b/trustedvm-pineapple-camera-sensor-mtp.dtsi index 4a13f9e2..e6275269 100644 --- a/trustedvm-pineapple-camera-sensor-mtp.dtsi +++ b/trustedvm-pineapple-camera-sensor-mtp.dtsi @@ -67,6 +67,7 @@ gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0"; cci-master = ; + vmrm-resource-ids = <32 32>; status = "ok"; }; @@ -87,6 +88,7 @@ gpio-req-tbl-label = "CAMIF_MCLK1", "CAM_RESET1"; cci-master = ; + vmrm-resource-ids = <33 33>; status = "ok"; }; @@ -112,6 +114,7 @@ gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0"; cci-master = <0>; + vmrm-resource-ids = <34 34>; status = "ok"; }; @@ -140,6 +143,7 @@ gpio-req-tbl-label = "CAMIF_MCLK1", "CAM_RESET1"; cci-master = ; + vmrm-resource-ids = <35 35>; status = "ok"; }; @@ -170,6 +174,7 @@ gpio-req-tbl-label = "CAMIF_MCLK3", "CAM_RESET3"; cci-master = ; + vmrm-resource-ids = <36 36>; status = "ok"; }; @@ -197,6 +202,7 @@ gpio-req-tbl-label = "CAMIF_MCLK3", "CAM_RESET3"; cci-master = ; + vmrm-resource-ids = <37 37>; status = "ok"; }; @@ -220,6 +226,7 @@ gpio-req-tbl-label = "CAMIF_MCLK5", "CAM_RESET5"; cci-master = ; + vmrm-resource-ids = <38 38>; status = "ok"; }; @@ -245,6 +252,7 @@ gpio-req-tbl-label = "CAMIF_MCLK5", "CAM_RESET5"; cci-master = ; + vmrm-resource-ids = <39 39>; status = "ok"; }; }; diff --git a/trustedvm-pineapple-camera-sensor-qrd.dtsi b/trustedvm-pineapple-camera-sensor-qrd.dtsi index 4a13f9e2..e6275269 100644 --- a/trustedvm-pineapple-camera-sensor-qrd.dtsi +++ b/trustedvm-pineapple-camera-sensor-qrd.dtsi @@ -67,6 +67,7 @@ gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0"; cci-master = ; + vmrm-resource-ids = <32 32>; status = "ok"; }; @@ -87,6 +88,7 @@ gpio-req-tbl-label = "CAMIF_MCLK1", "CAM_RESET1"; cci-master = ; + vmrm-resource-ids = <33 33>; status = "ok"; }; @@ -112,6 +114,7 @@ gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0"; cci-master = <0>; + vmrm-resource-ids = <34 34>; status = "ok"; }; @@ -140,6 +143,7 @@ gpio-req-tbl-label = "CAMIF_MCLK1", "CAM_RESET1"; cci-master = ; + vmrm-resource-ids = <35 35>; status = "ok"; }; @@ -170,6 +174,7 @@ gpio-req-tbl-label = "CAMIF_MCLK3", "CAM_RESET3"; cci-master = ; + vmrm-resource-ids = <36 36>; status = "ok"; }; @@ -197,6 +202,7 @@ gpio-req-tbl-label = "CAMIF_MCLK3", "CAM_RESET3"; cci-master = ; + vmrm-resource-ids = <37 37>; status = "ok"; }; @@ -220,6 +226,7 @@ gpio-req-tbl-label = "CAMIF_MCLK5", "CAM_RESET5"; cci-master = ; + vmrm-resource-ids = <38 38>; status = "ok"; }; @@ -245,6 +252,7 @@ gpio-req-tbl-label = "CAMIF_MCLK5", "CAM_RESET5"; cci-master = ; + vmrm-resource-ids = <39 39>; status = "ok"; }; }; diff --git a/trustedvm-pineapple-camera.dtsi b/trustedvm-pineapple-camera.dtsi index ca15437e..de791bd2 100644 --- a/trustedvm-pineapple-camera.dtsi +++ b/trustedvm-pineapple-camera.dtsi @@ -880,6 +880,13 @@ status = "disabled"; }; + qcom,cam-vmrm { + compatible = "qcom,cam-vmrm"; + vmid = ; + no_register_read_on_bind; + status = "ok"; + }; + cam_csiphy0: qcom,csiphy0@ace4000 { cell-index = <0>; compatible = "qcom,csiphy-v2.2.0", "qcom,csiphy"; @@ -889,6 +896,7 @@ interrupt-names = "CSIPHY0"; interrupts = ; regulator-names = "gdscr", "csi-vdd-1p2", "csi-vdd-0p9"; + vmrm-resource-ids = <1 1 1>; status = "ok"; }; @@ -901,6 +909,7 @@ interrupt-names = "CSIPHY1"; interrupts = ; regulator-names = "gdscr", "csi-vdd-1p2", "csi-vdd-0p9"; + vmrm-resource-ids = <2 2 2>; status = "ok"; }; @@ -913,6 +922,7 @@ interrupt-names = "CSIPHY2"; interrupts = ; regulator-names = "gdscr", "csi-vdd-1p2", "csi-vdd-0p9"; + vmrm-resource-ids = <3 3 3>; status = "ok"; }; @@ -925,6 +935,7 @@ interrupt-names = "CSIPHY3"; interrupts = ; regulator-names = "gdscr", "csi-vdd-1p2", "csi-vdd-0p9"; + vmrm-resource-ids = <4 4 4>; status = "ok"; }; @@ -937,6 +948,7 @@ interrupt-names = "CSIPHY4"; interrupts = ; regulator-names = "gdscr", "csi-vdd-1p2", "csi-vdd-0p9"; + vmrm-resource-ids = <5 5 5>; status = "ok"; }; @@ -949,6 +961,7 @@ interrupt-names = "CSIPHY5"; interrupts = ; regulator-names = "gdscr", "csi-vdd-1p2", "csi-vdd-0p9"; + vmrm-resource-ids = <6 6 6>; status = "ok"; }; @@ -969,6 +982,12 @@ 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"; i2c_freq_100Khz_cci0: qcom,i2c_standard_mode { @@ -1049,6 +1068,12 @@ 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"; i2c_freq_100Khz_cci1: qcom,i2c_standard_mode { @@ -1129,6 +1154,12 @@ 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"; i2c_freq_100Khz_cci2: qcom,i2c_standard_mode { @@ -1409,6 +1440,10 @@ rt-wr-highstress-indicator-threshold = <50>; rt-wr-lowstress-indicator-threshold = <0>; rt-wr-bw-ratio-scale-factor = <1>; + vmrm-resource-ids = <10 10 10>; + cam-version = <0x80800>; + cpas-version = <0x10000000>; + camera-capability = <0x9fffedeb 0x8>; status = "ok"; camera-bus-nodes { @@ -2243,6 +2278,9 @@ cam_hw_pid = <25>; cam-hw-mid = <0>; single-context-cdm; + vmrm-resource-ids = <11 11 11>; + override-cdm-family = <0>; + override-cdm-version = <0x20020000>; status = "ok"; }; @@ -2263,6 +2301,9 @@ cam_hw_pid = <26>; cam-hw-mid = <0>; single-context-cdm; + vmrm-resource-ids = <12 12 12>; + override-cdm-family = <0>; + override-cdm-version = <0x20020000>; status = "ok"; }; @@ -2283,6 +2324,9 @@ cam_hw_pid = <27>; cam-hw-mid = <0>; single-context-cdm; + vmrm-resource-ids = <13 13 13>; + override-cdm-family = <0>; + override-cdm-version = <0x20020000>; status = "ok"; }; @@ -2303,6 +2347,9 @@ cam_hw_pid = <24>; cam-hw-mid = <0>; single-context-cdm; + vmrm-resource-ids = <14 14 14>; + override-cdm-family = <0>; + override-cdm-version = <0x20020000>; status = "ok"; }; @@ -2323,6 +2370,9 @@ cam_hw_pid = <30>; cam-hw-mid = <0>; single-context-cdm; + vmrm-resource-ids = <15 15 15>; + override-cdm-family = <0>; + override-cdm-version = <0x20020000>; status = "ok"; }; @@ -2344,6 +2394,7 @@ regulator-names = "gdsc", "sfe0"; cam_hw_pid = <11 0>; clock-control-debugfs = "true"; + vmrm-resource-ids = <16 16 16>; status = "ok"; }; @@ -2359,6 +2410,7 @@ regulator-names = "gdsc", "sfe1"; cam_hw_pid = <12 1>; clock-control-debugfs = "true"; + vmrm-resource-ids = <17 17 17>; status = "ok"; }; @@ -2374,6 +2426,7 @@ regulator-names = "gdsc", "sfe2"; cam_hw_pid = <13 2>; clock-control-debugfs = "true"; + vmrm-resource-ids = <18 18 18>; status = "ok"; }; @@ -2391,6 +2444,7 @@ regulator-names = "gdsc"; src-clock-name = "csid_clk_src"; clock-control-debugfs = "true"; + vmrm-resource-ids = <19 19 19>; status = "ok"; }; @@ -2407,6 +2461,7 @@ regulator-names = "gdsc", "ife0"; ubwc-static-cfg = <0x1026 0x1036>; cam_hw_pid = <16 20 24 8>; + vmrm-resource-ids = <20 20 20>; status = "ok"; }; @@ -2424,6 +2479,7 @@ regulator-names = "gdsc"; src-clock-name = "csid_clk_src"; clock-control-debugfs = "true"; + vmrm-resource-ids = <21 21 21>; status = "ok"; }; @@ -2440,6 +2496,7 @@ regulator-names = "gdsc", "ife1"; ubwc-static-cfg = <0x1026 0x1036>; cam_hw_pid = <17 21 25 9>; + vmrm-resource-ids = <22 22 22>; status = "ok"; }; @@ -2457,6 +2514,7 @@ regulator-names = "gdsc"; src-clock-name = "csid_clk_src"; clock-control-debugfs = "true"; + vmrm-resource-ids = <23 23 23>; status = "ok"; }; @@ -2473,6 +2531,7 @@ regulator-names = "gdsc", "ife2"; ubwc-static-cfg = <0x1026 0x1036>; cam_hw_pid = <18 22 26 10>; + vmrm-resource-ids = <24 24 24>; status = "ok"; }; @@ -2490,6 +2549,7 @@ "turbo"; src-clock-name = "ife_lite_csid_clk_src"; clock-control-debugfs = "true"; + vmrm-resource-ids = <25 25 25>; status = "ok"; }; @@ -2506,6 +2566,7 @@ src-clock-name = "ife_lite_clk_src"; clock-control-debugfs = "true"; cam_hw_pid = <27>; + vmrm-resource-ids = <26 26 26>; status = "ok"; }; @@ -2523,6 +2584,7 @@ "turbo"; src-clock-name = "ife_lite_csid_clk_src"; clock-control-debugfs = "true"; + vmrm-resource-ids = <27 27 27>; status = "ok"; }; @@ -2539,6 +2601,7 @@ src-clock-name = "ife_lite_clk_src"; clock-control-debugfs = "true"; cam_hw_pid = <28>; + vmrm-resource-ids = <28 28 28>; status = "ok"; };