Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f9704a3e authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "arm/dt: msm8939: Add device tree node for venus"

parents c345ab52 8afac375
Loading
Loading
Loading
Loading
+59 −0
Original line number Diff line number Diff line
/* Copyright (c) 2014, 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,iommu-domains {
		compatible = "qcom,iommu-domains";

		/*
		 * non-secure addr pool from 1500 MB to 3532 MB
		 *                           3532 MB to 3548 MB
		 */
		venus_domain_ns: qcom,iommu-domain1 {
			label = "venus_ns";
			qcom,iommu-contexts = <&venus_ns>;
			qcom,virtual-addr-pool = <0x5dc00000 0x7f000000
						  0xdcc00000 0x1000000>;
		};

		/*
		 * secure bitstream addr pool from 1200 MB to 1500 MB
		 */
		venus_domain_sec_bitstream: qcom,iommu-domain2 {
			label = "venus_sec_bitstream";
			qcom,iommu-contexts = <&venus_sec_bitstream>;
			qcom,virtual-addr-pool = <0x4b000000 0x12c00000>;
			qcom,secure-domain;
		};

		/*
		 * secure pixel addr pool from 616 MB to 1200 MB
		 */
		venus_domain_sec_pixel: qcom,iommu-domain3 {
			label = "venus_sec_pixel";
			qcom,iommu-contexts = <&venus_sec_pixel>;
			qcom,virtual-addr-pool = <0x25800000 0x25800000>;
			qcom,secure-domain;
		};

		/*
		 * secure non-pixel addr pool from 16 MB to 616 MB
		 */
		venus_domain_sec_non_pixel: qcom,iommu-domain4 {
			label = "venus_sec_non_pixel";
			qcom,iommu-contexts = <&venus_sec_non_pixel>;
			qcom,virtual-addr-pool = <0x1000000 0x24800000>;
			qcom,secure-domain;
		};

	};
};
+82 −1
Original line number Diff line number Diff line
@@ -214,7 +214,7 @@
#include "msm8939-coresight.dtsi"
#include "msm8939-bus.dtsi"
#include "msm8939-mdss.dtsi"

#include "msm8939-iommu-domains.dtsi"
&soc {
	#address-cells = <1>;
	#size-cells = <1>;
@@ -1478,6 +1478,87 @@
	qcom,msm-pcm-hostless {
		compatible = "qcom,msm-pcm-hostless";
	};
	qcom,vidc@1d00000 {
		compatible = "qcom,msm-vidc";
		reg = <0x01d00000 0xff000>;
		interrupts = <0 44 0>;
		venus-supply = <&gdsc_venus>;
		venus-core0-supply = <&gdsc_venus_core0>;
		venus-core1-supply = <&gdsc_venus_core1>;
		clocks = <&clock_gcc clk_gcc_venus0_vcodec0_clk>,
			<&clock_gcc clk_gcc_venus0_core0_vcodec0_clk>,
			<&clock_gcc clk_gcc_venus0_core1_vcodec0_clk>,
			<&clock_gcc clk_gcc_venus0_ahb_clk>,
			<&clock_gcc clk_gcc_venus0_axi_clk>;
		clock-names = "core_clk", "core0_clk", "core1_clk", "iface_clk", "bus_clk";
		qcom,clock-names = "core_clk", "core0_clk", "core1_clk", "iface_clk", "bus_clk";
		qcom,clock-configs = <0x3 0x0 0x0 0x0 0x0>;
		qcom,load-freq-tbl = <352800 228570000>,
			<244800 160000000>,
			<108000 100000000>;
		qcom,hfi = "venus";
		qcom,reg-presets = <0xE0020 0x0aaaaaaa>,
			<0xE0024 0x0aaaaaaa>,
			<0x80124 0x00000003>;
		qcom,buffer-type-tz-usage-table = <0x241 0x1>,
			<0x106 0x2>,
			<0x480 0x3>;
		qcom,max-hw-load = <352800>; /* 720p @ 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-sec-bs {
				qcom,vidc-domain-phandle = <&venus_domain_sec_bitstream>;
				qcom,vidc-partition-buffer-types = <0x241>;
			};
			qcom,domain-sec-px {
				qcom,vidc-domain-phandle = <&venus_domain_sec_pixel>;
				qcom,vidc-partition-buffer-types = <0x106>;
			};
			qcom,domain-sec-np {
				qcom,vidc-domain-phandle = <&venus_domain_sec_non_pixel>;
				qcom,vidc-partition-buffer-types = <0x480>;
			};
		};
		qcom,msm-bus-clients {
			qcom,msm-bus-client@0 {
				qcom,msm-bus,name = "venc-ddr";
				qcom,msm-bus,num-cases = <4>;
				qcom,msm-bus,num-paths = <1>;
				qcom,msm-bus,vectors-KBps =
					<63 512 0 0>,
					<63 512 133600 674400>,
					<63 512 400900 1079000>,
					<63 512 908600 1537600>;
				qcom,bus-configs = <0x01000414>;
			};
			qcom,msm-bus-client@1 {
				qcom,msm-bus,name = "vdec-core0-ddr";
				qcom,msm-bus,num-cases = <4>;
				qcom,msm-bus,num-paths = <1>;
				qcom,msm-bus,vectors-KBps =
					<63 512 0 0>,
					<63 512 99600 831900>,
					<63 512 298900 831900>,
					<63 512 677600 1331000>;
				qcom,bus-configs = <0x030fcfff>;
			};
			qcom,msm-bus-client@2 {
				qcom,msm-bus,name = "vdec-core1-ddr";
				qcom,msm-bus,num-cases = <4>;
				qcom,msm-bus,num-paths = <1>;
				qcom,msm-bus,vectors-KBps =
					<63 512 0 0>,
					<63 512 99600 831900>,
					<63 512 298900 831900>,
					<63 512 677600 1331000>;
				qcom,bus-configs = <0x030fcfff>;
			};
		};
	};
};

&gdsc_venus {