161 lines
4.5 KiB
Plaintext
161 lines
4.5 KiB
Plaintext
|
/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or modify
|
||
|
* it under the terms of the GNU General Public License version 2 and
|
||
|
* only version 2 as published by the Free Software Foundation.
|
||
|
*
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
*/
|
||
|
|
||
|
&soc {
|
||
|
qcom,vidc@1d00000 {
|
||
|
compatible = "qcom,msm-vidc";
|
||
|
reg = <0x01d00000 0xff000>;
|
||
|
interrupts = <0 44 0>;
|
||
|
/* Regulators */
|
||
|
venus-supply = <&gdsc_venus>;
|
||
|
venus-core0-supply = <&gdsc_venus_core0>;
|
||
|
/* Clocks */
|
||
|
clocks = <&clock_gcc clk_gcc_venus0_vcodec0_clk>,
|
||
|
<&clock_gcc clk_gcc_venus0_core0_vcodec0_clk>,
|
||
|
<&clock_gcc clk_gcc_venus0_ahb_clk>,
|
||
|
<&clock_gcc clk_gcc_venus0_axi_clk>;
|
||
|
clock-names = "core_clk", "core0_clk", "iface_clk", "bus_clk";
|
||
|
qcom,clock-configs = <0x1 0x0 0x0 0x0 0x0>;
|
||
|
qcom,hfi = "venus";
|
||
|
qcom,hfi-version = "3xx";
|
||
|
qcom,reg-presets = <0xe0020 0x05555556>,
|
||
|
<0xe0024 0x05555556>,
|
||
|
<0x80124 0x00000003>;
|
||
|
qcom,qdss-presets = <0x825000 0x1000>,
|
||
|
<0x826000 0x1000>,
|
||
|
<0x821000 0x1000>,
|
||
|
<0x802000 0x1000>,
|
||
|
<0x9180000 0x1000>,
|
||
|
<0x9181000 0x1000>;
|
||
|
qcom,max-hw-load = <979200>; /* 3840 x 2176 @ 30 fps */
|
||
|
qcom,slave-side-cp;
|
||
|
qcom,firmware-name = "venus";
|
||
|
qcom,dcvs-tbl =
|
||
|
/* Dec UHD@30 H.264, HEVC, VP8, VP9 - NOM to NOM+*/
|
||
|
<816000 816000 972000 0x3f00000c>,
|
||
|
|
||
|
/* Enc UHD@30 H.264/HEVC Nom+ to Turbo */
|
||
|
<432000 432000 972000 0x4000004>;
|
||
|
qcom,dcvs-limit =
|
||
|
<32640 30>, /* Encoder UHD */
|
||
|
<32640 30>; /* Decoder UHD */
|
||
|
qcom,allowed-clock-rates = <465000000 400000000
|
||
|
360000000 310000000 228570000 114290000>;
|
||
|
qcom,clock-freq-tbl {
|
||
|
qcom,profile-enc {
|
||
|
qcom,codec-mask = <0x55555555>;
|
||
|
qcom,cycles-per-mb = <863>;
|
||
|
qcom,low-power-mode-factor = <35616>;
|
||
|
};
|
||
|
qcom,profile-dec {
|
||
|
qcom,codec-mask = <0xf3ffffff>;
|
||
|
qcom,cycles-per-mb = <355>;
|
||
|
};
|
||
|
qcom,profile-hevcdec {
|
||
|
qcom,codec-mask = <0x0c000000>;
|
||
|
qcom,cycles-per-mb = <400>;
|
||
|
};
|
||
|
};
|
||
|
qcom,vidc-iommu-domains {
|
||
|
qcom,domain-ns {
|
||
|
qcom,vidc-domain-phandle = <&venus_domain_ns>;
|
||
|
qcom,vidc-buffer-types = <0xfff>;
|
||
|
};
|
||
|
|
||
|
qcom,domain-sec-bs {
|
||
|
qcom,vidc-domain-phandle =
|
||
|
<&venus_domain_sec_bitstream>;
|
||
|
qcom,vidc-buffer-types = <0x241>;
|
||
|
};
|
||
|
|
||
|
qcom,domain-sec-px {
|
||
|
qcom,vidc-domain-phandle =
|
||
|
<&venus_domain_sec_pixel>;
|
||
|
qcom,vidc-buffer-types = <0x106>;
|
||
|
};
|
||
|
|
||
|
qcom,domain-sec-np {
|
||
|
qcom,vidc-domain-phandle =
|
||
|
<&venus_domain_sec_non_pixel>;
|
||
|
qcom,vidc-buffer-types = <0x480>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/* Buses */
|
||
|
venus_bus_ddr {
|
||
|
compatible = "qcom,msm-vidc,bus";
|
||
|
label = "venus-ddr";
|
||
|
qcom,bus-master = <63>;
|
||
|
qcom,bus-slave = <512>;
|
||
|
qcom,bus-governor = "venus-ddr-gov";
|
||
|
qcom,bus-range-kbps = <1000 1205248>;
|
||
|
};
|
||
|
|
||
|
arm9_bus_ddr {
|
||
|
compatible = "qcom,msm-vidc,bus";
|
||
|
label = "venus-arm9-ddr";
|
||
|
qcom,bus-master = <63>;
|
||
|
qcom,bus-slave = <512>;
|
||
|
qcom,bus-governor = "performance";
|
||
|
qcom,bus-range-kbps = <1 1>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
venus-ddr-gov {
|
||
|
compatible = "qcom,msm-vidc,governor,table";
|
||
|
name = "venus-ddr-gov";
|
||
|
status = "ok";
|
||
|
qcom,bus-freq-table {
|
||
|
qcom,profile-enc {
|
||
|
qcom,codec-mask = <0x55555555>;
|
||
|
qcom,load-busfreq-tbl =
|
||
|
<979200 1044000>, /* UHD30E */
|
||
|
<864000 887000>, /* 720p240LPE */
|
||
|
<489600 666000>, /* 1080p60E */
|
||
|
<432000 578000>, /* 720p120E */
|
||
|
<244800 346000>, /* 1080p30E */
|
||
|
<216000 293000>, /* 720p60E */
|
||
|
<108000 151000>, /* 720p30E */
|
||
|
<0 0>;
|
||
|
};
|
||
|
qcom,profile-dec {
|
||
|
qcom,codec-mask = <0xffffffff>;
|
||
|
qcom,load-busfreq-tbl =
|
||
|
<979200 2365000>, /* UHD30D */
|
||
|
<979200 2241000>, /* 1080p120D */
|
||
|
<864000 1978000>, /* 720p240D */
|
||
|
<489600 1133000>, /* 1080p60D */
|
||
|
<432000 994000>, /* 720p120D */
|
||
|
<244800 580000>, /* 1080p30D */
|
||
|
<216000 501000>, /* 720p60E */
|
||
|
<108000 255000>, /* 720p30D */
|
||
|
<0 0>;
|
||
|
};
|
||
|
qcom,profile-dec-ubwc {
|
||
|
qcom,codec-mask = <0xffffffff>;
|
||
|
qcom,ubwc-mode;
|
||
|
qcom,load-busfreq-tbl =
|
||
|
<979200 1892000>, /* UHD30D */
|
||
|
<979200 1763000>, /* 1080p120D */
|
||
|
<864000 1554000>, /* 720p240D */
|
||
|
<489600 895000>, /* 1080p60D */
|
||
|
<432000 781000>, /* 720p120D */
|
||
|
<244800 460000>, /* 1080p30D */
|
||
|
<216000 301000>, /* 720p60E */
|
||
|
<108000 202000>, /* 720p30D */
|
||
|
<0 0>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
};
|