162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * cxd2880_dvbt.h
462306a36Sopenharmony_ci * Sony CXD2880 DVB-T2/T tuner + demodulator driver
562306a36Sopenharmony_ci * DVB-T related definitions
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#ifndef CXD2880_DVBT_H
1162306a36Sopenharmony_ci#define CXD2880_DVBT_H
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#include "cxd2880_common.h"
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cienum cxd2880_dvbt_constellation {
1662306a36Sopenharmony_ci	CXD2880_DVBT_CONSTELLATION_QPSK,
1762306a36Sopenharmony_ci	CXD2880_DVBT_CONSTELLATION_16QAM,
1862306a36Sopenharmony_ci	CXD2880_DVBT_CONSTELLATION_64QAM,
1962306a36Sopenharmony_ci	CXD2880_DVBT_CONSTELLATION_RESERVED_3
2062306a36Sopenharmony_ci};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_cienum cxd2880_dvbt_hierarchy {
2362306a36Sopenharmony_ci	CXD2880_DVBT_HIERARCHY_NON,
2462306a36Sopenharmony_ci	CXD2880_DVBT_HIERARCHY_1,
2562306a36Sopenharmony_ci	CXD2880_DVBT_HIERARCHY_2,
2662306a36Sopenharmony_ci	CXD2880_DVBT_HIERARCHY_4
2762306a36Sopenharmony_ci};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_cienum cxd2880_dvbt_coderate {
3062306a36Sopenharmony_ci	CXD2880_DVBT_CODERATE_1_2,
3162306a36Sopenharmony_ci	CXD2880_DVBT_CODERATE_2_3,
3262306a36Sopenharmony_ci	CXD2880_DVBT_CODERATE_3_4,
3362306a36Sopenharmony_ci	CXD2880_DVBT_CODERATE_5_6,
3462306a36Sopenharmony_ci	CXD2880_DVBT_CODERATE_7_8,
3562306a36Sopenharmony_ci	CXD2880_DVBT_CODERATE_RESERVED_5,
3662306a36Sopenharmony_ci	CXD2880_DVBT_CODERATE_RESERVED_6,
3762306a36Sopenharmony_ci	CXD2880_DVBT_CODERATE_RESERVED_7
3862306a36Sopenharmony_ci};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_cienum cxd2880_dvbt_guard {
4162306a36Sopenharmony_ci	CXD2880_DVBT_GUARD_1_32,
4262306a36Sopenharmony_ci	CXD2880_DVBT_GUARD_1_16,
4362306a36Sopenharmony_ci	CXD2880_DVBT_GUARD_1_8,
4462306a36Sopenharmony_ci	CXD2880_DVBT_GUARD_1_4
4562306a36Sopenharmony_ci};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_cienum cxd2880_dvbt_mode {
4862306a36Sopenharmony_ci	CXD2880_DVBT_MODE_2K,
4962306a36Sopenharmony_ci	CXD2880_DVBT_MODE_8K,
5062306a36Sopenharmony_ci	CXD2880_DVBT_MODE_RESERVED_2,
5162306a36Sopenharmony_ci	CXD2880_DVBT_MODE_RESERVED_3
5262306a36Sopenharmony_ci};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_cienum cxd2880_dvbt_profile {
5562306a36Sopenharmony_ci	CXD2880_DVBT_PROFILE_HP = 0,
5662306a36Sopenharmony_ci	CXD2880_DVBT_PROFILE_LP
5762306a36Sopenharmony_ci};
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_cistruct cxd2880_dvbt_tpsinfo {
6062306a36Sopenharmony_ci	enum cxd2880_dvbt_constellation constellation;
6162306a36Sopenharmony_ci	enum cxd2880_dvbt_hierarchy hierarchy;
6262306a36Sopenharmony_ci	enum cxd2880_dvbt_coderate rate_hp;
6362306a36Sopenharmony_ci	enum cxd2880_dvbt_coderate rate_lp;
6462306a36Sopenharmony_ci	enum cxd2880_dvbt_guard guard;
6562306a36Sopenharmony_ci	enum cxd2880_dvbt_mode mode;
6662306a36Sopenharmony_ci	u8 fnum;
6762306a36Sopenharmony_ci	u8 length_indicator;
6862306a36Sopenharmony_ci	u16 cell_id;
6962306a36Sopenharmony_ci	u8 cell_id_ok;
7062306a36Sopenharmony_ci	u8 reserved_even;
7162306a36Sopenharmony_ci	u8 reserved_odd;
7262306a36Sopenharmony_ci};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci#endif
75