blob: 9588aacc1e2e2bfb32168ac9ff1c4622bbe6b2b6 [file] [log] [blame]
Dikshita Agarwal57dd99b2018-12-19 10:30:52 +05301/* Copyright (c) 2017,2018 The Linux Foundation. All rights reserved.
Saurabh Kothawade78041ee2017-01-16 16:38:09 -08002 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13#include <dt-bindings/interrupt-controller/arm-gic.h>
14#include <dt-bindings/msm/msm-bus-ids.h>
15#include <dt-bindings/clock/qcom,videocc-sdm845.h>
16
17&soc {
Praneeth Paladugu8b9c21c2017-03-16 17:49:31 -070018 msm_vidc: qcom,vidc@aa00000 {
Praneeth Paladugud5bf7bc2017-05-29 23:41:04 -070019 compatible = "qcom,msm-vidc", "qcom,sdm845-vidc";
Maheshwar Ajjafd1dc752017-04-13 12:51:43 -070020 status = "ok";
Praneeth Paladugub71968b2015-08-19 20:47:57 -070021 reg = <0xaa00000 0x200000>;
22 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
Praneeth Paladugu8b9c21c2017-03-16 17:49:31 -070023
Shivendra Kakrania15bc7da2017-05-10 13:51:00 -070024 /* LLCC Info */
25 cache-slice-names = "vidsc0", "vidsc1";
26 cache-slices = <&llcc 2>, <&llcc 3>;
27
Praneeth Paladugub71968b2015-08-19 20:47:57 -070028 /* Supply */
29 venus-supply = <&venus_gdsc>;
30 venus-core0-supply = <&vcodec0_gdsc>;
31 venus-core1-supply = <&vcodec1_gdsc>;
Praneeth Paladugu8b9c21c2017-03-16 17:49:31 -070032
Praneeth Paladugub71968b2015-08-19 20:47:57 -070033 /* Clocks */
34 clock-names = "core_clk", "iface_clk", "bus_clk",
Maheshwar Ajjabd96a432017-04-18 16:41:44 -070035 "core0_clk", "core0_bus_clk",
36 "core1_clk", "core1_bus_clk";
Praneeth Paladugub71968b2015-08-19 20:47:57 -070037 clocks = <&clock_videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
38 <&clock_videocc VIDEO_CC_VENUS_AHB_CLK>,
39 <&clock_videocc VIDEO_CC_VENUS_CTL_AXI_CLK>,
40 <&clock_videocc VIDEO_CC_VCODEC0_CORE_CLK>,
Maheshwar Ajjabd96a432017-04-18 16:41:44 -070041 <&clock_videocc VIDEO_CC_VCODEC0_AXI_CLK>,
42 <&clock_videocc VIDEO_CC_VCODEC1_CORE_CLK>,
43 <&clock_videocc VIDEO_CC_VCODEC1_AXI_CLK>;
Praneeth Paladugub71968b2015-08-19 20:47:57 -070044 qcom,proxy-clock-names = "core_clk", "iface_clk",
Maheshwar Ajjabd96a432017-04-18 16:41:44 -070045 "bus_clk", "core0_clk", "core0_bus_clk",
46 "core1_clk", "core1_bus_clk";
Maheshwar Ajja522758b2017-04-20 15:31:13 -070047 qcom,clock-configs = <0x1 0x0 0x0 0x1 0x0 0x1 0x0>;
Praneeth Paladugu74906ec2017-06-29 14:59:27 -070048 qcom,allowed-clock-rates = <100000000 200000000 320000000
49 380000000 444000000 533000000>;
Praneeth Paladugu8b9c21c2017-03-16 17:49:31 -070050
Praneeth Paladugub71968b2015-08-19 20:47:57 -070051 /* Buses */
52 bus_cnoc {
53 compatible = "qcom,msm-vidc,bus";
54 label = "cnoc";
55 qcom,bus-master = <MSM_BUS_MASTER_AMPSS_M0>;
56 qcom,bus-slave = <MSM_BUS_SLAVE_VENUS_CFG>;
57 qcom,bus-governor = "performance";
58 qcom,bus-range-kbps = <1000 1000>;
59 };
Praneeth Paladugu8b9c21c2017-03-16 17:49:31 -070060
Praneeth Paladugub71968b2015-08-19 20:47:57 -070061 venus_bus_ddr {
62 compatible = "qcom,msm-vidc,bus";
63 label = "venus-ddr";
Dikshita Agarwal6ee0e2d2018-12-19 14:40:23 +053064 qcom,bus-master = <MSM_BUS_MASTER_LLCC>;
Praneeth Paladugub71968b2015-08-19 20:47:57 -070065 qcom,bus-slave = <MSM_BUS_SLAVE_EBI_CH0>;
Praneeth Paladuguf0bbd532017-06-16 07:27:08 -070066 qcom,bus-governor = "msm-vidc-ddr";
Praneeth Paladugub71968b2015-08-19 20:47:57 -070067 qcom,bus-range-kbps = <1000 3388000>;
68 };
69 arm9_bus_ddr {
70 compatible = "qcom,msm-vidc,bus";
71 label = "venus-arm9-ddr";
72 qcom,bus-master = <MSM_BUS_MASTER_VIDEO_P0>;
73 qcom,bus-slave = <MSM_BUS_SLAVE_EBI_CH0>;
74 qcom,bus-governor = "performance";
75 qcom,bus-range-kbps = <1000 1000>;
76 };
Shivendra Kakrania15bc7da2017-05-10 13:51:00 -070077 venus_bus_llcc {
78 compatible = "qcom,msm-vidc,bus";
79 label = "venus-llcc";
80 qcom,bus-master = <MSM_BUS_MASTER_VIDEO_P0>;
81 qcom,bus-slave = <MSM_BUS_SLAVE_LLCC>;
Shivendra Kakrania93d10462017-07-27 17:20:55 -070082 qcom,bus-governor = "msm-vidc-llcc";
Dikshita Agarwal57dd99b2018-12-19 10:30:52 +053083 qcom,bus-range-kbps = <17000 3388000>;
Shivendra Kakrania15bc7da2017-05-10 13:51:00 -070084 };
Praneeth Paladugu8b9c21c2017-03-16 17:49:31 -070085
Praneeth Paladugub71968b2015-08-19 20:47:57 -070086 /* MMUs */
87 non_secure_cb {
88 compatible = "qcom,msm-vidc,context-bank";
89 label = "venus_ns";
90 iommus =
Patrick Daly38ff0872017-04-18 16:37:44 -070091 <&apps_smmu 0x10a0 0x8>,
Patrick Dalyc4aaa902017-04-24 12:45:11 -070092 <&apps_smmu 0x10b0 0x0>;
Praneeth Paladugub71968b2015-08-19 20:47:57 -070093 buffer-types = <0xfff>;
94 virtual-addr-pool = <0x70800000 0x6f800000>;
95 };
Praneeth Paladugu8b9c21c2017-03-16 17:49:31 -070096
Praneeth Paladugub71968b2015-08-19 20:47:57 -070097 secure_bitstream_cb {
98 compatible = "qcom,msm-vidc,context-bank";
99 label = "venus_sec_bitstream";
100 iommus =
Patrick Daly38ff0872017-04-18 16:37:44 -0700101 <&apps_smmu 0x10a1 0x8>,
102 <&apps_smmu 0x10a5 0x8>;
Praneeth Paladugub71968b2015-08-19 20:47:57 -0700103 buffer-types = <0x241>;
104 virtual-addr-pool = <0x4b000000 0x25800000>;
105 qcom,secure-context-bank;
106 };
Praneeth Paladugu8b9c21c2017-03-16 17:49:31 -0700107
Praneeth Paladugub71968b2015-08-19 20:47:57 -0700108 secure_pixel_cb {
109 compatible = "qcom,msm-vidc,context-bank";
110 label = "venus_sec_pixel";
111 iommus =
Patrick Daly38ff0872017-04-18 16:37:44 -0700112 <&apps_smmu 0x10a3 0x8>;
Praneeth Paladugub71968b2015-08-19 20:47:57 -0700113 buffer-types = <0x106>;
114 virtual-addr-pool = <0x25800000 0x25800000>;
115 qcom,secure-context-bank;
116 };
Praneeth Paladugu8b9c21c2017-03-16 17:49:31 -0700117
Praneeth Paladugub71968b2015-08-19 20:47:57 -0700118 secure_non_pixel_cb {
119 compatible = "qcom,msm-vidc,context-bank";
120 label = "venus_sec_non_pixel";
121 iommus =
Patrick Daly38ff0872017-04-18 16:37:44 -0700122 <&apps_smmu 0x10a4 0x8>,
Patrick Dalyc4aaa902017-04-24 12:45:11 -0700123 <&apps_smmu 0x10b4 0x0>;
Praneeth Paladugub71968b2015-08-19 20:47:57 -0700124 buffer-types = <0x480>;
125 virtual-addr-pool = <0x1000000 0x24800000>;
126 qcom,secure-context-bank;
127 };
128 };
Saurabh Kothawade78041ee2017-01-16 16:38:09 -0800129};