zoukankan      html  css  js  c++  java
  • Qualcomm MSM Camera Dtsi documentation

    Dtsi documentation is under kernelDocumentationdevicetreeindingsmediavideo

    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.

  • 相关阅读:
    文字有阴影效果
    asp.net(c#)将彩色图片变灰阶图片
    C#异步调用的方法
    PHP获取指定月份的第一天开始和最后一天结束的时间戳函数
    php 获取当前用户的IP
    网站前端性能优化
    grep命令的使用
    学C++的经验总结
    主键、唯一键与唯一索引的区别
    shell的比较运算符
  • 原文地址:https://www.cnblogs.com/thjfk/p/3602138.html
Copyright © 2011-2022 走看看