18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * cxd2880_dvbt.h
48c2ecf20Sopenharmony_ci * Sony CXD2880 DVB-T2/T tuner + demodulator driver
58c2ecf20Sopenharmony_ci * DVB-T related definitions
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation
88c2ecf20Sopenharmony_ci */
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#ifndef CXD2880_DVBT_H
118c2ecf20Sopenharmony_ci#define CXD2880_DVBT_H
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci#include "cxd2880_common.h"
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_cienum cxd2880_dvbt_constellation {
168c2ecf20Sopenharmony_ci	CXD2880_DVBT_CONSTELLATION_QPSK,
178c2ecf20Sopenharmony_ci	CXD2880_DVBT_CONSTELLATION_16QAM,
188c2ecf20Sopenharmony_ci	CXD2880_DVBT_CONSTELLATION_64QAM,
198c2ecf20Sopenharmony_ci	CXD2880_DVBT_CONSTELLATION_RESERVED_3
208c2ecf20Sopenharmony_ci};
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_cienum cxd2880_dvbt_hierarchy {
238c2ecf20Sopenharmony_ci	CXD2880_DVBT_HIERARCHY_NON,
248c2ecf20Sopenharmony_ci	CXD2880_DVBT_HIERARCHY_1,
258c2ecf20Sopenharmony_ci	CXD2880_DVBT_HIERARCHY_2,
268c2ecf20Sopenharmony_ci	CXD2880_DVBT_HIERARCHY_4
278c2ecf20Sopenharmony_ci};
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_cienum cxd2880_dvbt_coderate {
308c2ecf20Sopenharmony_ci	CXD2880_DVBT_CODERATE_1_2,
318c2ecf20Sopenharmony_ci	CXD2880_DVBT_CODERATE_2_3,
328c2ecf20Sopenharmony_ci	CXD2880_DVBT_CODERATE_3_4,
338c2ecf20Sopenharmony_ci	CXD2880_DVBT_CODERATE_5_6,
348c2ecf20Sopenharmony_ci	CXD2880_DVBT_CODERATE_7_8,
358c2ecf20Sopenharmony_ci	CXD2880_DVBT_CODERATE_RESERVED_5,
368c2ecf20Sopenharmony_ci	CXD2880_DVBT_CODERATE_RESERVED_6,
378c2ecf20Sopenharmony_ci	CXD2880_DVBT_CODERATE_RESERVED_7
388c2ecf20Sopenharmony_ci};
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_cienum cxd2880_dvbt_guard {
418c2ecf20Sopenharmony_ci	CXD2880_DVBT_GUARD_1_32,
428c2ecf20Sopenharmony_ci	CXD2880_DVBT_GUARD_1_16,
438c2ecf20Sopenharmony_ci	CXD2880_DVBT_GUARD_1_8,
448c2ecf20Sopenharmony_ci	CXD2880_DVBT_GUARD_1_4
458c2ecf20Sopenharmony_ci};
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_cienum cxd2880_dvbt_mode {
488c2ecf20Sopenharmony_ci	CXD2880_DVBT_MODE_2K,
498c2ecf20Sopenharmony_ci	CXD2880_DVBT_MODE_8K,
508c2ecf20Sopenharmony_ci	CXD2880_DVBT_MODE_RESERVED_2,
518c2ecf20Sopenharmony_ci	CXD2880_DVBT_MODE_RESERVED_3
528c2ecf20Sopenharmony_ci};
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_cienum cxd2880_dvbt_profile {
558c2ecf20Sopenharmony_ci	CXD2880_DVBT_PROFILE_HP = 0,
568c2ecf20Sopenharmony_ci	CXD2880_DVBT_PROFILE_LP
578c2ecf20Sopenharmony_ci};
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_cistruct cxd2880_dvbt_tpsinfo {
608c2ecf20Sopenharmony_ci	enum cxd2880_dvbt_constellation constellation;
618c2ecf20Sopenharmony_ci	enum cxd2880_dvbt_hierarchy hierarchy;
628c2ecf20Sopenharmony_ci	enum cxd2880_dvbt_coderate rate_hp;
638c2ecf20Sopenharmony_ci	enum cxd2880_dvbt_coderate rate_lp;
648c2ecf20Sopenharmony_ci	enum cxd2880_dvbt_guard guard;
658c2ecf20Sopenharmony_ci	enum cxd2880_dvbt_mode mode;
668c2ecf20Sopenharmony_ci	u8 fnum;
678c2ecf20Sopenharmony_ci	u8 length_indicator;
688c2ecf20Sopenharmony_ci	u16 cell_id;
698c2ecf20Sopenharmony_ci	u8 cell_id_ok;
708c2ecf20Sopenharmony_ci	u8 reserved_even;
718c2ecf20Sopenharmony_ci	u8 reserved_odd;
728c2ecf20Sopenharmony_ci};
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci#endif
75