// SPDX-License-Identifier: GPL-2.0-only
/*
 * SAMSUNG EXYNOS SoC mfc device tree source
 *
 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 */

#include <dt-bindings/interrupt-controller/gs101.h>

/ {
	mfc: mfc {
		/* Basic setting */
		compatible = "samsung,exynos-mfc";

		/* for vb2 device */
		iommus = <&sysmmu_mfc0>, <&sysmmu_mfc1>;
		samsung,iommu-group = <&iommu_group_mfc>;
		samsung,iommu-reserved-map = <0x0 0x0 0x10000000>,
					   <0x0 0x10000000 0x100000>;
		/* Enable if there is vOTF */
		/* samsung,iommu-identity-map = <0x0 0x15E1F000 0x10000>; */

		samsung,tzmp;

		/* for F/W buffer */
		memory-region = <&mfc_fw_rmem>;

		/* MFC version */
		/* ip_ver is set in gs101-a0.dts and gs101-b0.dts */

		/* Debug mode (disable needs sysmmu,async-fault) */
		debug_mode = <0>;

		/* NAL-Q size */
		nal_q_entry_size = <512>;
		nal_q_dump_size = <376>;

		/* Features <on/off version> */
		nal_q = <1 0x0>;
		skype = <1 0x0>;
		black_bar = <0 0x0>;
		color_aspect_dec = <1 0x0>;
		static_info_dec = <1 0x0>;
		color_aspect_enc = <1 0x0>;
		static_info_enc = <1 0x180314>;
		hdr10_plus = <1 0x180709>;
		vp9_stride_align = <1 0x0>;
		sbwc_uncomp = <1 0x190702>;
		mem_clear = <1 0x0>;
		/* Support from v11.0 (except 11.2) */
		wait_fw_status = <1 0x190122>;
		wait_nalq_status = <1 0x191107>;
		/* DRM switch predict for cache flush */
		drm_switch_predict = <1 0x0>;
		/* Support SBWC per-frame control for encoder src */
		sbwc_enc_src_ctrl = <1 0x200110>;
		average_qp = <1 0x201030>;
		mv_search_mode = <1 0x201118>;

		/* AV1 Decoder */
		support_av1_dec = <0>;
		/* Support AV1 Film Grain Feature */
		av1_film_grain = <0 0>;

		/* Default 10bit format for decoding (1: P010, 0: 8+2) */
		P010_decoding = <1>;
		/* Dithering option for 8bit display device */
		dithering_enable = <0>;

		/* Formats */
		support_10bit = <1>;
		support_422 = <1>;
		support_rgb = <1>;

		/* SBWC */
		support_sbwc = <1>;
		support_sbwcl = <0>;
		support_afbc = <1>;

		/* SBWC decoder max resolution */
		sbwc_dec_max_width = <1920>;
		sbwc_dec_max_height = <1088>;
		sbwc_dec_hdr10_off = <1>;

		/* HDR10+ num max window */
		max_hdr_win = <1>;

		/* error type for sync_point display */
		/* (1: concealment display, 2: error display, 3: error no display) */
		display_err_type = <2>;

		/* FW base security ctrl */
		/* security_ctrl is set in gs101-a0.dts and gs101-b0.dts */

		/* Encoder default parameter: max number is 100 */
		enc_param_num = <25>;
		enc_param_addr = <0xF7B4 0xF7B8 0xF7B0 0xF798 0xFA2C
				0xF790 0xFA34 0xFA38 0xFA3C 0xF7C0
				0xF7C8 0xF7CC 0xFA60 0xFDD4 0xFDDC
				0xFB54 0xFB58 0xFBA8 0xFD90 0xFD94
				0xFD40 0xFD48 0xFD4C 0xFD50 0xFD80>;
		enc_param_val = <0x100 0x100 0x0 0x4000 0x3FD00
				0x0 0x0 0x2710 0x3E8 0x0
				0x0 0x0 0x0 0x8050F215 0x0
				0x3011 0x0 0x0 0x2D 0xA00
				0x1D 0xF4240 0x33003300 0x2 0x1>;

		/* BW <peak, read, write> : KB/UHD frame */
		bw_enc_h264		= <45456 56112 11170>;
		bw_enc_hevc		= <46756 52766 9763>;
		bw_enc_hevc_10bit	= <53865 64753 12556>;
		bw_enc_vp8		= <64000 67318 22518>;
		bw_enc_vp9		= <72326 59726 16530>;
		bw_enc_vp9_10bit	= <149085 114928 31419>;
		bw_enc_mpeg4		= <44647 55324 9531>;
		bw_dec_h264		= <32605 34381 21263>;
		bw_dec_hevc		= <29973 28851 17538>;
		bw_dec_hevc_10bit	= <52859 46245 31351>;
		bw_dec_vp8		= <28672 30468 22324>;
		bw_dec_vp9		= <18351 18947 16877>;
		bw_dec_vp9_10bit	= <42384 34452 31766>;
		bw_dec_av1		= <23787 19570 15856>;
		bw_dec_av1_10bit	= <41407 35490 29699>;
		bw_dec_mpeg4		= <31540 25368 15770>;

		/* BW <peak, read, write> : KB/UHD frame. For SBWC format */
		/* It is valid when only support_sbwc = <1> */
		sbwc_bw_enc_h264	= <31622 32183 7065>;
		sbwc_bw_enc_hevc	= <24044 27526 5888>;
		sbwc_bw_enc_hevc_10bit	= <32666 37594 8841>;
		sbwc_bw_enc_vp8		= <32666 37594 8841>;
		sbwc_bw_enc_vp9		= <23276 26884 8702>;
		sbwc_bw_enc_vp9_10bit	= <42302 41116 14052>;
		sbwc_bw_enc_mpeg4	= <32666 37594 8841>;
		sbwc_bw_dec_h264	= <23757 18603 13620>;
		sbwc_bw_dec_hevc	= <15309 15387 10279>;
		sbwc_bw_dec_hevc_10bit	= <20808 20602 14868>;
		sbwc_bw_dec_vp8		= <17203 18281 13394>;
		sbwc_bw_dec_vp9		= <11121 9691 8999>;
		sbwc_bw_dec_vp9_10bit	= <17787 15582 14413>;
		sbwc_bw_dec_mpeg4	= <18924 15221 9462>;

		/* BW <peak, read, write> : KB/UHD frame. For recon DPB only SBWC format */
		/* It is valid when only support_sbwc = <1> */
		dpb_sbwc_bw_enc_h264		= <36230 36791 7065>;
		dpb_sbwc_bw_enc_hevc		= <28662 32144 5888>;
		dpb_sbwc_bw_enc_hevc_10bit	= <46613 51541 8841>;
		dpb_sbwc_bw_enc_vp9		= <26747 31502 8702>;
		dpb_sbwc_bw_enc_vp9_10bit	= <42302 55063 14052>;

		/* QoS bitrate */
		num_mfc_freq = <5>;
		mfc_freqs = <134000 267000 400000 534000 666000>;
		/* spec: H264(240M) VP8(80M) */
		max_Kbps = <245760 81920>;

		/* QoS weight (%) */
		qos_weight_h264_hevc = <100>;
		qos_weight_vp8_vp9 = <100>;
		qos_weight_other_codec = <25>;
		qos_weight_3plane = <80>;
		qos_weight_10bit = <75>;
		qos_weight_422 = <70>;
		qos_weight_bframe = <50>;
		qos_weight_num_of_ref = <60>;
		qos_weight_gpb = <50>;
		qos_weight_num_of_tile = <75>;
		qos_weight_super64_bframe = <60>;

		/* core balance(%) for resource managing */
		core_balance = <100>;

		/* MFC IOVA threshold (MB) */
		iova_threshold = <0>;

		/* need control for mfc idle clock */
		idle_clk_ctrl = <0>;

		/* Sub nodes for MFC core */
		#address-cells = <2>;
		#size-cells = <1>;
		ranges;

		/* MFC core device */
		mfc_core0: MFC-0 {
			/* Basic setting */
			compatible = "samsung,exynos-mfc-core";
			id = <0>;
			reg = <0x0 0x1C8D0000 0x10000>;
			interrupts = <0 IRQ_MFC_MFC IRQ_TYPE_LEVEL_HIGH>;
			clock-names = "aclk_mfc";
			clocks = <&clock GATE_MFC>;
			iommus = <&sysmmu_mfc0>, <&sysmmu_mfc1>;
			samsung,iommu-group = <&iommu_group_mfc>;
			samsung,iommu-reserved-map = <0x0 0x10000000 0x100000>;
			/* samsung,iommu-identity-map = <0x0 0x15E1F000 0x10000> */

			samsung,tzmp;
			samsung,imgloader-s2mpu-support;

			/* MFC version */
			/* ip_ver is set in gs101-a0.dts and gs101-b0.dts */

			/* Sysmmu check */
			share_sysmmu = <0>;
			axid_mask = <0xFFFF>;
			mfc_fault_num = <0x0>;
			trans_info_offset = <0x1004>;

			/* LLC (Last Level Cache) */
			llc = <0>;
			need_llc_flush = <0>;

			/* SLC (System Level Cache) */
			pt_id = "MFC";

			/* vOTF */
			/* mfc_votf_base = <0x16650000>; */
			/* gdc_votf_base = <0x15E1F000>; */
			/* dpu_votf_base = <0x19CAF000>; */

			/* QoS */
			num_default_qos_steps = <8>;
			num_encoder_qos_steps = <8>;
			max_mb = <5480873>;
			mfc_freq_control = <1>;
			mo_control = <1>;
			bw_control = <1>;

			/* Device virtual address */
			#dma-address-cells = <1>;
			#dma-size-cells = <1>;
			dma-window = <0x0 0xD0000000>;

			/* Sub nodes for sysmmu, hwfc and mmcache */
			#address-cells = <2>;
			#size-cells = <1>;
			ranges;

			iommu {
				reg = <0x0 0x1C870000 0x9000>,
				    <0x0 0x1C8A0000 0x9000>;
			};
			ssmt {
				reg = <0x0 0x1C8E4000 0x100>,
				    <0x0 0x1C8F4000 0x100>;
			};
			sysreg {
				reg = <0x0 0x1C820000 0x500>;
			};

			/* Default QoS table */
			mfc_default_qos_table {
				mfc_d_qos_variant_0 {
					thrd_mb = <0>;
					freq_mfc = <134000>;
					freq_int = <100000>;
					freq_mif = <421000>;
					mo_value = <0>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "default";
					time_fw = <2058>;
				};
				mfc_d_qos_variant_1 {
					thrd_mb = <265147>;
					freq_mfc = <267000>;
					freq_int = <200000>;
					freq_mif = <421000>;
					mo_value = <0>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "default";
					time_fw = <1379>;
				};
				mfc_d_qos_variant_2 {
					thrd_mb = <551811>;
					freq_mfc = <267000>;
					freq_int = <200000>;
					freq_mif = <676000>;
					mo_value = <0>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "default";
					time_fw = <1046>;
				};
				mfc_d_qos_variant_3 {
					thrd_mb = <1202239>;
					freq_mfc = <356000>;
					freq_int = <332000>;
					freq_mif = <1014000>;
					mo_value = <1>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "default";
					time_fw = <732>;
				};
				mfc_d_qos_variant_4 {
					thrd_mb = <1887335>;
					freq_mfc = <465000>;
					freq_int = <332000>;
					freq_mif = <1014000>;
					mo_value = <0>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "default";
					time_fw = <655>;
				};
				mfc_d_qos_variant_5 {
					thrd_mb = <2088750>;
					freq_mfc = <664000>;
					freq_int = <332000>;
					freq_mif = <1539000>;
					mo_value = <1>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "mfc_uhd";
					time_fw = <479>;
				};
				mfc_d_qos_variant_6 {
					thrd_mb = <3197754>;
					freq_mfc = <664000>;
					freq_int = <533000>;
					freq_mif = <1539000>;
					mo_value = <0>;
					mo_10bit_value = <1>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "mfc_uhd_10bit";
					time_fw = <445>;
				};
				mfc_d_qos_variant_7 {
					thrd_mb = <4385292>;
					freq_mfc = <711000>;
					freq_int = <533000>;
					freq_mif = <1539000>;
					mo_value = <0>;
					mo_10bit_value = <1>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "mfc_8k_dec30";
					time_fw = <445>;
				};
			};

			/* Encoder QoS table */
			mfc_encoder_qos_table {
				mfc_e_qos_variant_0 {
					thrd_mb = <0>;
					freq_mfc = <134000>;
					freq_int = <100000>;
					freq_mif = <421000>;
					mo_value = <0>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "default";
					time_fw = <2058>;
				};
				mfc_e_qos_variant_1 {
					thrd_mb = <265147>;
					freq_mfc = <267000>;
					freq_int = <200000>;
					freq_mif = <421000>;
					mo_value = <0>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "default";
					time_fw = <1379>;
				};
				mfc_e_qos_variant_2 {
					thrd_mb = <551811>;
					freq_mfc = <267000>;
					freq_int = <200000>;
					freq_mif = <676000>;
					mo_value = <0>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "default";
					time_fw = <1046>;
				};
				mfc_e_qos_variant_3 {
					thrd_mb = <1202239>;
					freq_mfc = <356000>;
					freq_int = <332000>;
					freq_mif = <1014000>;
					mo_value = <0>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "default";
					time_fw = <732>;
				};
				mfc_e_qos_variant_4 {
					thrd_mb = <1887335>;
					freq_mfc = <465000>;
					freq_int = <332000>;
					freq_mif = <1014000>;
					mo_value = <0>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "default";
					time_fw = <655>;
				};
				mfc_e_qos_variant_5 {
					thrd_mb = <2088750>;
					freq_mfc = <533000>;
					freq_int = <200000>;
					freq_mif = <1539000>;
					mo_value = <1>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <0>;
					bts_scen = "default";
					time_fw = <559>;
				};
				mfc_e_qos_variant_6 {
					thrd_mb = <2625764>;
					freq_mfc = <664000>;
					freq_int = <332000>;
					freq_mif = <1539000>;
					mo_value = <0>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <1>;
					bts_scen = "mfc_uhd";
					time_fw = <479>;
				};
				mfc_e_qos_variant_7 {
					thrd_mb = <3197754>;
					freq_mfc = <664000>;
					freq_int = <533000>;
					freq_mif = <1539000>;
					mo_value = <0>;
					mo_10bit_value = <0>;
					mo_uhd_enc60_value = <1>;
					bts_scen = "mfc_uhd_10bit";
					time_fw = <445>;
				};
			};
			/* QoS table for performance boost mode */
			mfc_perf_boost_table {
				num_cluster = <3>;
				freq_cluster = <1742000 1898000 1456000>;
				freq_mfc = <711000>;
				freq_int = <533000>;
				freq_mif = <2730000>;
				bts_scen = "mfc_8k_dec30";
			};
		};
	};
};
