Qualcomm MSM Camera Dtsi documentation - thjfk

Qualcomm MSM Camera Dtsi documentation - thjfk

Dtsi documentation is under \kernel\Documentation\devicetree\bindings\media\video

1、 Qualcomm MSM Camera

Required properties:

- compatible : "qcom,msm-cam"

- reg : offset and length of msm camera device registers.

- reg-names : should specify relevant names for each reg property defined.

Example:

   qcom,msm-cam@fd8c0000 {       

compatible = "qcom,msm-cam";       

reg = <0xfd8C0000 0x10000>;       

reg-names = "msm-cam";   

};

2、 Qualcomm MSM CAMERA FLASH

Required properties:

- cell-index : Should contain flash source index to diffentiate between different flash devices. These indexes represent flash devices for multiple sensors. 

- 0, 1, 2, 3

- compatible :     - "qcom,camera-led-flash"

- qcom,flash-type : Should contain type flash device

    - 1 for LED flash    

    - 2 for strobe flash    

    - 3 for simple led flash controlled by one gpio      

 This is a low cost led used for camera flash, the led is driven by system power, and use a transistor controlled by external pin to  gate its on/off state.

- qcom,flash-source : Should contain array of phandles to flash source nodes.    

- pm8941_flash0 pm8941_flash1

Optional properties:

-qcom,torch-source : Should contain phandle to torch source node.    

-pm8941_torch

Example:

qcom,camera-led-flash {  

cell-index = <0>;  

compatible = "qcom,camera-led-flash";  

qcom,flash-type = <1>;  

qcom,flash-source = <&pm8941_flash0 &pm8941_flash1>;  

qcom,torch-source = <&pm8941_torch>;

};

3、Qualcomm MSM CCI

 [First level nodes]

Required properties:

- cell-index: cci hardware core index

- compatible :

    - "qcom,cci"

- reg : offset and length of the register set for the device for the cci operating in compatible mode.

- reg-names : should specify relevant names to each reg property defined.

- interrupts : should contain the cci interrupt.

- interrupt-names : should specify relevant names to each interrupts property defined.

- gpios : should contain phandle to gpio controller node and array of

    #gpio-cells specifying specific gpio (controller specific)

- qcom,gpio-req-tbl-num : should contain index to gpios specific to this sensor

- qcom,gpio-req-tbl-flags : should contain direction of gpios present in qcom,gpio-req-tbl-num property (in the same order)

- qcom,gpio-req-tbl-label : should contain name of gpios present in qcom,gpio-req-tbl-num property (in the same order)

Optional properties:

- master0: qcom,cci-master0 - node should contain clock settings for cci master 0 bus

- master1: qcom,cci-master1 - node should contain clock settings for cci master 1 bus

[Second level nodes]

* Qualcomm CCI clock settings

Optional properties:

- qcom,hw-thigh : should contain high period of the SCL clock in terms of CCI clock cycle

- qcom,hw-tlow : should contain high period of the SCL clock in terms of CCI  clock cycle

- qcom,hw-tsu-sto : should contain setup time for STOP condition

- qcom,hw-tsu-sta : should contain setup time for Repeated START condition

- qcom,hw-thd-dat : should contain hold time for the data

- qcom,hw-thd-sta : should contain hold time for START condition

- qcom,hw-tbuf : should contain free time between a STOP and a START condition

- qcom,hw-scl-stretch-en : should contain enable or disable clock stretching

- qcom,hw-trdhld : should contain internal hold time for SDA

- qcom,hw-tsp : should contain filtering of glitches

* Qualcomm MSM Sensor

MSM sensor node contains properties of camera sensor

Required properties:

- compatible : should be manufacturer name followed by sensor name

    - "qcom,s5k3l1yx"

    - "sne,imx134"

    - "qcom,imx135"

    - "shinetech,gc0339"

    - "shinetech,hi256"

    - "shinetech,s5k4e1"

- reg : should contain i2c slave address of the device

- qcom,slave-id : should contain i2c slave address, device id address and expected id read value

- qcom,csiphy-sd-index : should contain csiphy instance that will used to receive sensor data

    - 0, 1, 2

- qcom,csid-sd-index : should contain csid core instance that will used to receive sensor data

    - 0, 1, 2, 3

- qcom,sensor-name : should contain unique sensor name to differentiate from other sensor

    - "s5k3l1yx"

- cam_vdig-supply : should contain regulator from which digital voltage is supplied

- cam_vana-supply : should contain regulator from which analog voltage is supplied

- cam_vio-supply : should contain regulator from which IO voltage is supplied

- qcom,cam-vreg-name : should contain names of all regulators needed by this sensor

    - "cam_vdig", "cam_vana", "cam_vio", "cam_vaf"

- qcom,cam-vreg-type : should contain regulator type for regulators mentioned in qcom,cam-vreg-name property (in the same order)

    - 0 for LDO and 1 for LVS

- qcom,cam-vreg-min-voltage : should contain minimum voltage level for regulators mentioned in qcom,cam-vreg-name property (in the same order)

- qcom,cam-vreg-max-voltage : should contain maximum voltage level for regulators mentioned in qcom,cam-vreg-name property (in the same order)

- qcom,cam-vreg-op-mode : should contain optimum voltage level for regulators mentioned in qcom,cam-vreg-name property (in the same order)

- qcom,sensor-mode : should contain sensor mode supported

    - 0 -> back camera 2D

    - 1 -> front camera 2D

    - 2 -> back camera 3D

    - 3 -> back camera int 3D

- qcom,sensor-type : should contain format of data that sensor streams

    - 0 -> bayer format

    - 1 -> yuv format

Optional properties:

- qcom,is-vpe : should be enabled if VPE module is required for post processing of this sensor

    - 1 if required, 0 otherwise

- qcom,mount-angle : should contain the physical mount angle of the sensor on the target

    - 0, 90, 180, 360

- qcom,gpio-no-mux : should contain field to indicate whether gpio mux table is available

    - 1 if gpio mux is not available, 0 otherwise

- cam_vaf-supply : should contain regulator from which AF voltage is supplied

- gpios : should contain phandle to gpio controller node and array of

    #gpio-cells specifying specific gpio (controller specific)

- qcom,gpio-reset : should contain index to gpio used by sensors reset_n

- qcom,gpio-standby : should contain index to gpio used by sensors standby_n

- qcom,gpio-vio : should contain index to gpio used by sensors io vreg enable

- qcom,gpio-vana : should contain index to gpio used by sensors analog vreg enable

- qcom,gpio-vdig : should contain index to gpio used by sensors digital vreg enable

- qcom,gpio-vaf : should contain index to gpio used by sensors af vreg enable

- qcom,gpio-af-pwdm : should contain index to gpio used by sensors af pwdm_n

- qcom,gpio-req-tbl-num : should contain index to gpios specific to this sensor

- qcom,gpio-req-tbl-flags : should contain direction of gpios present in qcom,gpio-req-tbl-num property (in the same order)

- qcom,gpio-req-tbl-label : should contain name of gpios present in qcom,gpio-req-tbl-num property (in the same order)

- qcom,gpio-set-tbl-num : should contain index of gpios that need to be configured by msm

- qcom,gpio-set-tbl-flags : should contain value to be configured for the gpios present in qcom,gpio-set-tbl-num property (in the same order)

- qcom,gpio-set-tbl-delay : should contain amount of delay after configuring gpios as specified in gpio_set_tbl_flags property (in the same order)

- qcom,csi-lane-assign : should contain lane assignment value to map CSIPHY lanes to CSID lanes

    - 0x4320

- qcom,csi-lane-mask : should contain lane mask that specifies CSIPHY lanes to be enabled

- qcom,csi-phy-sel : should contain CSIPHY core instance from which CSID should receive data

- qcom,actuator-cam-name : should contain actuator cam name associated with this sensor

    - If actuator does not exist, this property should not be initialized

    - If actuator exist, this field should indicate the index of actuator to be used

- qcom,actuator-vcm-pwd : should contain the gpio pin of vcm power to be enabled for actuator

- qcom,actuator-vcm-enable : should contain value to be set for actuator vcm gpio

- qcom,sensor-position : should contain the mount angle of the camera sensor

    - 0 -> back camera

    - 1 -> front camera

- qcom,cci-master : should contain i2c master id to be used for this camera sensor

    - 0 -> MASTER 0

    - 1 -> MASTER 1

- qcom,actuator-src : if auto focus is supported by this sensor, this property should contain phandle of respective actuator node

- qcom,led-flash-src : if LED flash is supported by this sensor, this property should contain phandle of respective LED flash node

- qcom,vdd-cx-supply : should contain regulator from which cx voltage is supplied

- qcom,vdd-cx-name : should contain names of cx regulator

* Qualcomm MSM ACTUATOR

Required properties:

- cell-index : should contain unique identifier to differentiate between multiple actuators

- reg : should contain i2c slave address of the actuator and length of data field which is 0x0

- compatible :

    - "qcom,actuator"

- qcom,cci-master : should contain i2c master id to be used for this camera sensor

    - 0 -> MASTER 0

    - 1 -> MASTER 1

Example:

   qcom,cci@0xfda0c000 {

       cell-index = <0>;

       compatible = "qcom,cci";

       reg = <0xfda0c000 0x300>;

       reg-names = "cci";

       interrupts = <0 50 0>;

       interrupt-names = "cci";

       gpios = <&msmgpio 19 0>,

               <&msmgpio 20 0>,

               <&msmgpio 21 0>,

               <&msmgpio 22 0>;

       qcom,gpio-tbl-num = <0 1 2 3>;

       qcom,gpio-tbl-flags = <1 1 1 1>;

       qcom,gpio-tbl-label = "CCI_I2C_DATA0",

                             "CCI_I2C_CLK0",

                             "CCI_I2C_DATA1",

                             "CCI_I2C_CLK1";

       master0: qcom,cci-master0 {

                status = "disabled";

       };

       master1: qcom,cci-master1 {

                status = "disabled";

       };

        actuator0: qcom,actuator@18 {

                cell-index = <0>;

                reg = <0x18>;

                compatible = "qcom,actuator";

                qcom,cci-master = <0>;

        };

       qcom,s5k3l1yx@6e {

               compatible = "qcom,s5k3l1yx";

               reg = <0x6e>;

               qcom,slave-id = <0x6e 0x0 0x3121>;

               qcom,csiphy-sd-index = <2>;

               qcom,csid-sd-index = <0>;

               qcom,actuator-src = <&actuator0>;

               qcom,led-flash-src = <&led_flash0>;

               qcom,mount-angle = <90>;

               qcom,sensor-name = "s5k3l1yx";

               qcom,vdd-cx-supply = <&pm8841_s2>;

               qcom,vdd-cx-name = "qcom,vdd-cx";

               cam_vdig-supply = <&pm8941_l3>;

               cam_vana-supply = <&pm8941_l17>;

               cam_vio-supply = <&pm8941_lvs3>;

               cam_vaf-supply = <&pm8941_l23>;

               qcom,cam-vreg-name = "cam_vdig", "cam_vana", "cam_vio", "cam_vaf";

               qcom,cam-vreg-type = <0 0 1 0>;

               qcom,cam-vreg-min-voltage = <1225000 2850000 0 3000000>;

               qcom,cam-vreg-max-voltage = <1225000 2850000 0 3000000>;

               qcom,cam-vreg-op-mode = <105000 80000 0 100000>;

               qcom,gpio-no-mux = <0>;

               gpios = <&msmgpio 15 0>,

                       <&msmgpio 90 0>,

                       <&msmgpio 89 0>;

               qcom,gpio-reset = <1>;

               qcom,gpio-standby = <2>;

               qcom,gpio-req-tbl-num = <0 1 2>;

               qcom,gpio-req-tbl-flags = <1 0 0>;

               qcom,gpio-req-tbl-label = "CAMIF_MCLK",

                                         "CAM_RESET1",

                                         "CAM_STANDBY";

               qcom,gpio-set-tbl-num = <1 1>;

               qcom,gpio-set-tbl-flags = <0 2>;

               qcom,gpio-set-tbl-delay = <1000 4000>;

               qcom,csi-lane-assign = <0x4320>;

               qcom,csi-lane-mask = <0x1F>;

               qcom,csi-phy-sel = <0>;

               qcom,sensor-position = <0>;

               qcom,sensor-mode = <1>;

       };

   };

   &master0 {

           qcom,hw-thigh = <78>;

           qcom,hw-tlow = <114>;

           qcom,hw-tsu-sto = <28>;

           qcom,hw-tsu-sta = <28>;

           qcom,hw-thd-dat = <10>;

           qcom,hw-thd-sta = <77>;

           qcom,hw-tbuf = <118>;

           qcom,hw-scl-stretch-en = <0>;

           qcom,hw-trdhld = <6>;

           qcom,hw-tsp = <1>;

           status = "ok";

   };

   &master1 {

           qcom,hw-thigh = <78>;

           qcom,hw-tlow = <114>;

           qcom,hw-tsu-sto = <28>;

           qcom,hw-tsu-sta = <28>;

           qcom,hw-thd-dat = <10>;

           qcom,hw-thd-sta = <77>;

           qcom,hw-tbuf = <118>;

           qcom,hw-scl-stretch-en = <0>;

           qcom,hw-trdhld = <6>;

           qcom,hw-tsp = <1>;

           status = "ok";

   };

4、 Qualcomm MSM CPP

Required properties:

- cell-index: cpp hardware core index

- compatible :

    - "qcom,cpp"

- reg : offset and length of the register set for the device for the cpp operating in compatible mode.

- reg-names : should specify relevant names to each reg property defined.

  - cpp - has CPP MICRO register set.

  - cpp_vbif - has VBIF core register set used by CPP.

  - cpp_hw - has CPP hardware register set.

- interrupts : should contain the cpp interrupt.

- interrupt-names : should specify relevant names to each interrupts property defined.

- vdd-supply: phandle to GDSC regulator controlling VFE & CPP core.

Example:

   qcom,cpp@0xfda04000 {

       cell-index = <0>;

       compatible = "qcom,cpp";

       reg = <0xfda04000 0x100>;

             <0xfda40000 0x200>;

             <0xfd180000 0x008>;

       reg-names = "cpp", "cpp_vbif", "cpp_hw";

       interrupts = <0 49 0>;

       interrupt-names = "cpp";

       vdd-supply = <&gdsc_vfe>;

   };

5、Qualcomm MSM CSID

 Required properties:

- cell-index: csid hardware core index

- compatible :

    - "qcom,csid"

- reg : offset and length of the register set for the device for the csid operating in compatible mode.

- reg-names : should specify relevant names to each reg property defined.

- interrupts : should contain the csid interrupt.

- interrupt-names : should specify relevant names to each interrupts property defined.

- qcom,csi-vdd-voltage : should specify voltage level for mipi csi in uV.

- qcom,mipi-csi-vdd-supply : should contain regulator to be used for this csid core

Example:

   qcom,csid@fda08000 {

       cell-index = <0>;

       compatible = "qcom,csid";

       reg = <0xfda08000 0x200>;

       reg-names = "csid";

       interrupts = <0 51 0>;

       interrupt-names = "csiphy";

       qcom,csi-vdd-voltage = <1800000>;

       qcom,mipi-csi-vdd-supply = <&pm8941_l12>;

   };

6、 Qualcomm MSM CSI Phy

Required properties:

- cell-index: csi phy hardware core index

- compatible :

    - "qcom,csiphy"

- reg : offset and length of the register set for the device

    for the csiphy operating in compatible mode.

- reg-names : should specify relevant names to each reg property defined.

- interrupts : should contain the csiphy interrupt.

- interrupt-names : should specify relevant names to each interrupts

  property defined.

Example:

   qcom,csiphy@fda0ac00 {

       cell-index = <0>;

       compatible = "qcom,csiphy";

       reg = <0xfda0ac00 0x200>;

       reg-names = "csiphy";

       interrupts = <0 78 0>;

       interrupt-names = "csiphy";

   };

7、

* Qualcomm MSM EEPROM

EEPROM is an one time programmed(OTP) device that stores the calibration data

use for camera sensor. It may either be integrated in the sensor module or in

the sensor itself. As a result, the power, clock and GPIOs may be the same as

the camera sensor. The following describes the page block map, power supply,

clock, GPIO and power on sequence properties of the EEPROM device.

Required properties:

- cell-index: eeprom hardware core index

- compatible :

    - "qcom,eeprom"

- reg : offset of eeprom device registers.

- qcom,eeprom-name : should specify relevant names of the eeprom module

    library.

- qcom,slave-addr : should specify the slave address of the eeprom.

- qcom,cci-master : should specify the cci core index that eeprom use.

- qcom,num-blocks : should specify the total block number that eeprom contains,

    every block should contains page poll and mem.

- qcom,page%d : number %d page size, start address, address type, data,

    data type, delay in ms. size 0 stand for non-paged.

    - address type : 1 byte, 2 word.

    - data type : 1 byte, 2 word.

- qcom,poll%d : number %d poll size, poll reg address, address type, data,

    data type, delay in ms. size 0 stand for not used.

    - address type : 1 byte, 2 word.

    - data type : 1 byte, 2 word.

- qcom,mem%d : number %d memory size, start address, address type, data,

    data type, delay in ms. size 0 stand for not used.

    - address type : 1 byte, 2 word.

    - data type : 1 byte, 2 word.

- cam_vio-supply : should contain regulator to be used for the IO vdd.

- qcom,cam-vreg-name : should specify the regulator name to be used for

    this eeprom.

- qcom,cam-vreg-type : should specify the regulator type to be used for

    this eeprom.

- qcom,cam-vreg-min-voltage : should specify minimum voltage level

    for eeprom in uV.

- qcom,cam-vreg-max-voltage : should specify maximum voltage level

    for eeprom in uV.

- qcom,cam-vreg-op-mode : should specify current level for eeprom in uA.

- qcom,gpio-no-mux : should specify the gpio mux type.

- gpios : should specify the gpios to be used for the eeprom.

- qcom,gpio-reset : should specify the reset gpio index.

- qcom,gpio-standby : should specify the standby gpio index.

- qcom,gpio-req-tbl-num : should specify the gpio table index.

- qcom,gpio-req-tbl-flags : should specify the gpio functions.

- qcom,gpio-req-tbl-label : should specify the gpio labels.

- qcom,cam-power-seq-type : should specify the power on sequence types.

- qcom,cam-power-seq-val : should specify the power on sequence values.

- qcom,cam-power-seq-cfg-val : should specify the power on sequence config

    values.

- qcom,cam-power-seq-delay : should specify the power on sequence delay

    time in ms.

Optional properties:

- qcom,pageen%d : number %d page enable reg size, start address, address type,

    data, data type, delay in ms. size 0 stand for not used.

- cam_vdig-supply : should contain regulator to be used for the digital vdd.

Example:

    eeprom0: qcom,eeprom@60 {

        cell-index = <0>;

        reg = <0x60 0x0>;

        qcom,eeprom-name = "msm_eeprom";

        compatible = "qcom,eeprom";

        qcom,slave-addr = <0x60>;

        qcom,cci-master = <0>;

        qcom,num-blocks = <2>;

        qcom,page0 = <1 0x0100 2 0x01 1 1>;

        qcom,poll0 = <0 0x0 2 0 1 1>;

        qcom,mem0 = <0 0x0 2 0 1 0>;

        qcom,page1 = <1 0x0200 2 0x8 1 1>;

        qcom,pageen1 = <1 0x0202 2 0x01 1 10>;

        qcom,poll1 = <0 0x0 2 0 1 1>;

        qcom,mem1 = <32 0x3000 2 0 1 0>;

        cam_vdig-supply = <&pm8226_l5>;

        cam_vio-supply = <&pm8226_lvs1>;

        qcom,cam-vreg-name = "cam_vdig", "cam_vio";

        qcom,cam-vreg-type = <0 1>;

        qcom,cam-vreg-min-voltage = <1200000 0>;

        qcom,cam-vreg-max-voltage = <1200000 0>;

        qcom,cam-vreg-op-mode = <200000 0>;

        qcom,gpio-no-mux = <0>;

        gpios = <&msmgpio 26 0>,

            <&msmgpio 37 0>,

            <&msmgpio 36 0>;

        qcom,gpio-reset = <1>;

        qcom,gpio-standby = <2>;

        qcom,gpio-req-tbl-num = <0 1 2>;

        qcom,gpio-req-tbl-flags = <1 0 0>;

        qcom,gpio-req-tbl-label = "CAMIF_MCLK",

            "CAM_RESET1",

            "CAM_STANDBY";

        qcom,cam-power-seq-type = "sensor_vreg",

            "sensor_vreg", "sensor_clk",

            "sensor_gpio", "sensor_gpio";

        qcom,cam-power-seq-val = "cam_vdig",

            "cam_vio", "sensor_cam_mclk",

            "sensor_gpio_reset",

            "sensor_gpio_standby";

        qcom,cam-power-seq-cfg-val = <1 1 24000000 1 1>;

        qcom,cam-power-seq-delay = <1 1 5 5 10>;

    };

8、

* Qualcomm MSM IRQ Router

Required properties:

- cell-index: irq router hardware core index

- compatible :

    - "qcom,irqrouter"

- reg : offset and length of the register set for the device

    for the irqrouter operating in compatible mode.

- reg-names : should specify relevant names to each reg property defined.

Example:

   qcom,irqrouter@0xfda0c000 {

       cell-index = <0>;

       compatible = "qcom,irqrouter";

       reg = <0xfda00000 0x100>;

       reg-names = "irqrouter";

   };

9、

* Qualcomm MSM ISPIF

Required properties:

- cell-index: ispif hardware core index

- compatible :

    - "qcom,ispif"

    - "qcom,ispif-v3.0"

- reg : offset and length of the register set for the device

    for the ispif operating in compatible mode.

- reg-names : should specify relevant names to each reg property defined.

- interrupts : should contain the ispif interrupt.

- interrupt-names : should specify relevant names to each interrupts

  property defined.

Optional properties:

- qcom,num-isps: The number of ISPs the ISPIF module is connected to. If not set

  the default value used is 1

Example:

   qcom,ispif@fda0a000 {

       cell-index = <0>;

       compatible = "qcom,ispif";

       reg = <0xfda0a000 0x300>;

       reg-names = "ispif";

       interrupts = <0 55 0>;

       interrupt-names = "ispif";

   };

or

   qcom,ispif@fda0a000 {

       cell-index = <0>;

       compatible = "qcom,ispif-v3.0", "qcom,ispif";

       reg = <0xfda0a000 0x300>;

       reg-names = "ispif";

       interrupts = <0 55 0>;

       interrupt-names = "ispif";

       qcom,num-isps = <2>

   };

 10、

* Qualcomm MSM JPEG

Required properties:

- cell-index: jpeg hardware core index

- compatible :

    - "qcom,jpeg"

- reg : offset and length of the register set for the device

    for the jpeg operating in compatible mode.

- reg-names : should specify relevant names to each reg property defined.

- interrupts : should contain the jpeg interrupt.

- interrupt-names : should specify relevant names to each interrupts

  property defined.

- vdd-supply: phandle to GDSC regulator controlling JPEG core.

Example:

   qcom,jpeg@0xfda20000 {

       cell-index = <0>;

       compatible = "qcom,jpeg";

       reg = <0xfda20000 0x400>;

       reg-names = "jpeg";

       interrupts = <0 60 0>;

       interrupt-names = "jpeg";

       vdd-supply = <&gdsc_jpeg>;

   };

11、

* Qualcomm MSM VFE

Required properties:

- cell-index: vfe hardware core index

- compatible :

    - "qcom,vfe"

    - "qcom,vfe40"

- reg : offset and length of the register set for the device

    for the vfe operating in compatible mode.

- reg-names : should specify relevant names to each reg property defined.

    - "vfe" - Required.

    - "vfe_vbif" - Optional for "vfe32". Required for "vfe40".

    - "tcsr" - Optional for "vfe32". Required for "vfe40".

- interrupts : should contain the vfe interrupt.

- interrupt-names : should specify relevant names to each interrupts

  property defined.

    - "vfe" - Required.

- vdd-supply: phandle to GDSC regulator controlling VFE core.

Example:

   qcom,vfe@0xfda10000 {

       cell-index = <0>;

       compatible = "qcom,vfe";

       reg = <0xfda10000 0x1000>;

       reg-names = "vfe";

       interrupts = <0 58 0>;

       interrupt-names = "vfe";

       vdd-supply = <&gdsc_vfe>;

   };

10、

* Qualcomm MSM VIDC

Required properties:

- compatible : one of:

         - "qcom,msm-vidc"

- qcom,hfi : supported Host-Firmware Interface, one of:

         - "venus"

         - "q6"

- qcom,max-hw-load: The maximum load the hardware can support expressed in units

  of macroblocks per second.

Optional properties:

- reg : offset and length of the register set for the device.

- interrupts : should contain the vidc interrupt.

- vdd-supply : regulator to supply venus.

- qcom,vidc-cp-map : start and size of device virtual address range for

  secure buffers. Video hardware uses this address range to identify if

  the buffers are secure or non-secure.

- qcom,vidc-ns-map : start and size of device virtual address range for

  non-secure buffers. Video hardware uses this address range to identify

  if the buffers are secure or non-secure.

- qcom,load-freq-tbl : load (in macroblocks/sec) and corresponding vcodec

  clock required for optimal performance in descending order.

- qcom,reg-presets : list of offset-value pairs for registers to be written.

  The offsets are from the base offset specified in 'reg'. This is mainly

  used for QoS, vbif, etc. presets for video.

- qcom,bus-ports : number of bus ports supported by venus to access

  ddr/ocmem.

- qcom,enc-ocmem-ab-ib : list of bus vectors (ab, ib pair) for ocmem

  bandwidth request by different video encoder usecases.

- qcom,dec-ocmem-ab-ib : list of bus vectors(ab, ib pair) for ocmem

  bandwidth request by different video decoder usecases.

- qcom,enc-ddr-ab-ib : list of bus vectors(ab,ib pair) for ddr bandwidth

  request by different video encoder usecases.

- qcom,dec-ddr-ab-ib : list of bus vectors(ab, ib pair) for ddr bandwidth

  request by different video decoder usecases.

- qcom,buffer-type-tz-usage-table : a key-value pair, mapping a buffer type

  (enum hal_buffer) to its corresponding TZ usage. The TZ usages are defined

  as "enum cp_mem_usage" in include/linux/msm_ion.h

- qcom,has-ocmem: indicate the target has ocmem if this property exists

- qcom,vidc-iommu-domains: node containing individual domain nodes, each with:

        - a unique domain name for the domain node (e.g vidc,domain-ns)

        - qcom,vidc-domain-phandle: phandle for the domain as defined in

          <target>-iommu-domains.dtsi (e.g msm8974-v1-iommu-domains.dtsi)

        - qcom,vidc-partition-buffer-types: bitmap of buffer types that can

          be mapped into each IOMMU domain partition.  There must be exactly

          one buffer bitmap per partition in the domain, with order of the

          bitmaps to be the same as the order of the respective partitions.

        - Buffer types are defined as the following:

          input = 0x1

          output = 0x2

          output2 = 0x4

          extradata input = 0x8

          extradata output = 0x10

          extradata output2 = 0x20

          internal scratch = 0x40

          internal scratch1 = 0x80

          internal scratch2 = 0x100

          internal persist = 0x200

          internal persist1 = 0x400

          internal cmd queue = 0x800

Example:

         qcom,vidc@fdc00000 {

                   compatible = "qcom,msm-vidc";

                   reg = <0xfdc00000 0xff000>;

                   interrupts = <0 44 0>;

                   vdd-supply = <&gdsc_venus>;

                   qcom,vidc-cp-map = <0x1000000 0x40000000>;

                   qcom,vidc-ns-map = <0x40000000 0x40000000>;

                   qcom,load-freq-tbl = <979200 410000000>,

                                     <560145 266670000>,

                                     <421161 200000000>,

                                     <243000 133330000>,

                                     <108000 100000000>,

                                     <36000 50000000>;

                   qcom,has-ocmem;

                   qcom,hfi = "venus";

                   qcom,reg-presets = <0x80004 0x1>,

                            <0x80178 0x00001FFF>;

                   qcom,bus-ports = <1>;

                   qcom,enc-ocmem-ab-ib = <0 0>,

                            <138200 1222000>;

                   qcom,dec-ocmem-ab-ib = <0 0>,

                            <176900 1556640>;

                   qcom,enc-ddr-ab-ib = <0 0>,

                            <60000 664950>;

                   qcom,dec-ddr-ab-ib = <0 0>,

                            <110000 909000>;

                   qcom,buffer-type-tz-usage-table = <0x1 0x1>,

                                                        <0x1fe 0x2>;

                   qcom,max-hw-load = <1224450>; /* 4k @ 30 + 1080p @ 30*/

                   qcom,vidc-iommu-domains {

                            qcom,domain-ns {

                                     qcom,vidc-domain-phandle = <&venus_domain_ns>;

                                     qcom,vidc-partition-buffer-types = <0x7ff>,

                                                                 <0x800>;

                            };

                            qcom,domain-cp {

                                     qcom,vidc-domain-phandle = <&venus_domain_cp>;

                                     qcom,vidc-partition-buffer-types = <0x6>,

                                                                 <0x7c1>;

                            };

                   };

         };

11、

* Qualcomm MSM Wifi Display (WFD)

Required properties:

- compatible :

         - "qcom,msm-wfd"

Example:

         qcom,wfd {

                   compatible = "qcom,msm-wfd";

         };

12、

OmniVision Image Sensor Device Tree Bindings.

Boards with the OmniVision Image Sensor shall have the following properties:

Required root node properties:    

- compatible:     - "ovti,ov8865" : OmniVision OV8865 8 megapixel Image Sensor.    

- "ovti,ov5648" : OmniVision OV5648 5 megapixel Image Sensor.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值