M7350v1_en_gpl

This commit is contained in:
T
2024-09-09 08:52:07 +00:00
commit f9cc65cfda
65988 changed files with 26357421 additions and 0 deletions
@@ -0,0 +1,15 @@
* 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";
};
@@ -0,0 +1,23 @@
* 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
- qcom,flash-source : Should contain array of phandles to flash source nodes.
- pm8941_flash0 pm8941_flash1
Example:
qcom,camera-led-flash {
cell-index = <0>;
compatible = "qcom,camera-led-flash";
qcom,flash-type = <1>;
qcom,flash-source = <&pm8941_flash0 &pm8941_flash1>;
};
@@ -0,0 +1,229 @@
* 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)
- 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
[Second level nodes]
* Qualcomm MSM Sensor
MSM sensor node contains properties of camera sensor
Required properties:
- compatible : should be "qcom" followed by sensor name
- "qcom,s5k3l1yx"
- 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-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";
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>;
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>;
};
};
@@ -0,0 +1,30 @@
* 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>;
};
@@ -0,0 +1,23 @@
* 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";
};
@@ -0,0 +1,29 @@
* 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>;
};
@@ -0,0 +1,18 @@
* 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";
};
@@ -0,0 +1,23 @@
* Qualcomm MSM ISPIF
Required properties:
- cell-index: ispif hardware core index
- compatible :
- "qcom,ispif"
- 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.
Example:
qcom,ispif@0xfda0a000 {
cell-index = <0>;
compatible = "qcom,ispif";
reg = <0xfda0a000 0x300>;
reg-names = "ispif";
interrupts = <0 55 0>;
interrupt-names = "ispif";
};
@@ -0,0 +1,25 @@
* 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>;
};
@@ -0,0 +1,26 @@
* 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.
- interrupts : should contain the vfe interrupt.
- interrupt-names : should specify relevant names to each interrupts
property defined.
- 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>;
};
@@ -0,0 +1,79 @@
* 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.
- 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,iommu-groups : list of IOMMU groups to be used. Groups are defined as
phandles in <target>-iommu-domains.dtsi (e.g msm8974-v1-iommu-domains.dtsi)
- qcom,iommu-group-buffer-types : bitmap of buffer types that can be mapped into
the corresponding IOMMU group. Buffer types are defined within the vidc driver
by "enum hal_buffer" in msm_smem.h
- 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
Example:
qcom,vidc@fdc00000 {
compatible = "qcom,msm-vidc";
reg = <0xfdc00000 0xff000>;
interrupts = <0 44 0>;
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,iommu-groups = <&venus_domain_ns &venus_domain_cp>;
qcom,iommu-group-buffer-types = <0xfff 0x1ff>;
qcom,buffer-type-tz-usage-table = <0x1 0x1>,
<0x1fe 0x2>;
qcom,max-hw-load = <1224450>; /* 4k @ 30 + 1080p @ 30*/
};
@@ -0,0 +1,11 @@
* Qualcomm MSM Wifi Display (WFD)
Required properties:
- compatible :
- "qcom,msm-wfd"
Example:
qcom,wfd {
compatible = "qcom,msm-wfd";
};