M7350/kernel/Documentation/devicetree/bindings/media/video/msm-jpeg.txt

141 lines
5.3 KiB
Plaintext
Raw Normal View History

2024-09-09 08:52:07 +00:00
* Qualcomm MSM JPEG
Required properties:
- cell-index: jpeg hardware core index
- compatible :
- "qcom,jpeg"
2024-09-09 08:57:42 +00:00
- "qcom,jpeg_dma"
- reg : offset and length of the register set of jpeg device and vbif device
2024-09-09 08:52:07 +00:00
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.
2024-09-09 08:57:42 +00:00
- clock-names : names of clocks required for the device.
- clocks : clocks required for the device.
- qcom, clock-rates: rates of the required clocks.
2024-09-09 08:52:07 +00:00
- vdd-supply: phandle to GDSC regulator controlling JPEG core.
2024-09-09 08:57:42 +00:00
- mmagic-vdd-supply: phandle to GDSC regulator controlling mmagic.
- camss-vdd-supply: phandle to GDSC regulator controlling camss.
Optional properties:
- qcom,vbif-reg-settings: relative address offsets and value pairs for VBIF registers.
- qcom,qos-reg-settings: relative address offsets and value pairs for QoS registers.
- qcom,prefetch-reg-settings: relative address offsets and value pairs for
MMU prefetch registers.
2024-09-09 08:52:07 +00:00
Example:
2024-09-09 08:57:42 +00:00
qcom,jpeg@a1c000 {
cell-index = <0>;
compatible = "qcom,jpeg";
reg = <0xa1c000 0x4000>,
<0xa60000 0x3000>;
reg-names = "jpeg";
interrupts = <0 316 0>;
interrupt-names = "jpeg";
mmagic-vdd-supply = <&gdsc_mmagic_camss>;
camss-vdd-supply = <&gdsc_camss_top>;
vdd-supply = <&gdsc_jpeg>;
qcom,vdd-names = "mmagic-vdd", "camss-vdd", "vdd";
clock-names = "core_clk", "iface_clk", "bus_clk0",
"camss_top_ahb_clk", "camss_ahb_clk", "smmu_jpeg_axi_clk",
"mmss_mmagic_ahb_clk", "mmssnoc_axi_clk",
"mmagic_camss_axi_clk";
clocks = <&clock_mmss clk_camss_jpeg0_clk>,
<&clock_mmss clk_camss_jpeg_ahb_clk>,
<&clock_mmss clk_camss_jpeg_axi_clk>,
<&clock_mmss clk_camss_top_ahb_clk>,
<&clock_mmss clk_camss_ahb_clk>,
<&clock_mmss clk_smmu_jpeg_axi_clk>,
<&clock_mmss clk_mmss_mmagic_ahb_clk>,
<&clock_gcc clk_mmssnoc_axi_clk>,
<&clock_mmss clk_mmagic_camss_axi_clk>;
qcom,clock-rates = <320000000 0 0 0 0 0 0 0 0>;
qcom,vbif-reg-settings = <0x4 0x1>,
<0xb0 0x00100010>,
<0xc0 0x10001000>;
qcom,qos-reg-settings = <0x28 0x00000008>;
qcom,prefetch-reg-settings = <0x30c 0x1111>,
<0x318 0x31>,
<0x324 0x31>,
<0x330 0x31>,
<0x33c 0x0>;
status = "ok";
};
qcom,jpeg@a24000 {
cell-index = <2>;
compatible = "qcom,jpeg";
reg = <0xa24000 0x4000>,
<0xa60000 0x3000>;
reg-names = "jpeg";
interrupts = <0 318 0>;
interrupt-names = "jpeg";
mmagic-vdd-supply = <&gdsc_mmagic_camss>;
camss-vdd-supply = <&gdsc_camss_top>;
vdd-supply = <&gdsc_jpeg>;
qcom,vdd-names = "mmagic-vdd", "camss-vdd", "vdd";
clock-names = "core_clk", "iface_clk", "bus_clk0",
"camss_top_ahb_clk", "camss_ahb_clk", "smmu_jpeg_axi_clk",
"mmss_mmagic_ahb_clk", "mmssnoc_axi_clk",
"mmagic_camss_axi_clk";
clocks = <&clock_mmss clk_camss_jpeg2_clk>,
<&clock_mmss clk_camss_jpeg_ahb_clk>,
<&clock_mmss clk_camss_jpeg_axi_clk>,
<&clock_mmss clk_camss_top_ahb_clk>,
<&clock_mmss clk_camss_ahb_clk>,
<&clock_mmss clk_smmu_jpeg_axi_clk>,
<&clock_mmss clk_mmss_mmagic_ahb_clk>,
<&clock_gcc clk_mmssnoc_axi_clk>,
<&clock_mmss clk_mmagic_camss_axi_clk>;
qcom,clock-rates = <266670000 0 0 0 0 0 0 0 0>;
qcom,vbif-reg-settings = <0x4 0x1>,
<0xb0 0x00100010>,
<0xc0 0x10001000>;
qcom,qos-reg-settings = <0x28 0x00000008>;
qcom,prefetch-reg-settings = <0x30c 0x1111>,
<0x318 0x0>,
<0x324 0x31>,
<0x330 0x31>,
<0x33c 0x31>;
status = "ok";
};
qcom,jpeg@aa0000 {
cell-index = <3>;
compatible = "qcom,jpeg_dma";
reg = <0xaa0000 0x4000>,
<0xa60000 0x3000>;
reg-names = "jpeg";
interrupts = <0 304 0>;
interrupt-names = "jpeg";
mmagic-vdd-supply = <&gdsc_mmagic_camss>;
camss-vdd-supply = <&gdsc_camss_top>;
vdd-supply = <&gdsc_jpeg>;
qcom,vdd-names = "mmagic-vdd", "camss-vdd", "vdd";
clock-names = "core_clk", "iface_clk", "bus_clk0",
"camss_top_ahb_clk", "camss_ahb_clk", "smmu_jpeg_axi_clk",
"mmss_mmagic_ahb_clk", "mmssnoc_axi_clk",
"mmagic_camss_axi_clk";
clocks = <&clock_mmss clk_camss_jpeg_dma_clk>,
<&clock_mmss clk_camss_jpeg_ahb_clk>,
<&clock_mmss clk_camss_jpeg_axi_clk>,
<&clock_mmss clk_camss_top_ahb_clk>,
<&clock_mmss clk_camss_ahb_clk>,
<&clock_mmss clk_smmu_jpeg_axi_clk>,
<&clock_mmss clk_mmss_mmagic_ahb_clk>,
<&clock_gcc clk_mmssnoc_axi_clk>,
<&clock_mmss clk_mmagic_camss_axi_clk>;
qcom,clock-rates = <266670000 0 0 0 0 0 0 0 0>;
qcom,vbif-reg-settings = <0x4 0x1>,
<0xb0 0x00100010>,
<0xc0 0x10001000>;
qcom,qos-reg-settings = <0x28 0x00000008>;
qcom,prefetch-reg-settings = <0x18c 0x11>,
<0x1a0 0x31>,
<0x1b0 0x31>;
status = "ok";
};