Files
px4_drv/driver/s1ur_device.h
hendecarows 51134d6d74 DTV03A-1TU(ISDBT2071)製造ロット2022-11月以降のLinux対応
WinUSB版同様チャンネル変更後はエラーやドロップを多量に含む不安定なTSが出力される。録画用途での使用は厳しい。
2025-05-11 00:44:05 +09:00

56 lines
1.2 KiB
C

// SPDX-License-Identifier: GPL-2.0-only
/*
* PTX driver definitions for PLEX PX-S1UR and DIGIBEST ISDBT2071 (DTV03A-1TU) devices (s1ur_device.h)
*
* Copyright (c) 2023 techma.
*/
#ifndef __S1UR_DEVICE_H__
#define __S1UR_DEVICE_H__
#include <linux/atomic.h>
#include <linux/kref.h>
#include <linux/mutex.h>
#include <linux/completion.h>
#include <linux/device.h>
#include "ptx_chrdev.h"
#include "it930x.h"
#include "tc90522.h"
#include "r850.h"
#define S1UR_CHRDEV_NUM 1
#define ISDBT2071_CHRDEV_NUM 1
enum s1ur_model {
PXS1UR_MODEL = 0,
ISDBT2071_MODEL,
};
struct s1ur_chrdev {
struct ptx_chrdev *chrdev;
struct tc90522_demod tc90522_t;
struct tc90522_demod tc90522_s;
struct r850_tuner r850;
};
struct s1ur_device {
struct kref kref;
atomic_t available;
struct device *dev;
enum s1ur_model s1ur_model;
struct completion *quit_completion;
struct ptx_chrdev_group *chrdev_group;
struct s1ur_chrdev chrdevs1ur;
struct it930x_bridge it930x;
void *stream_ctx;
};
int s1ur_device_init(struct s1ur_device *s1ur, struct device *dev,
enum s1ur_model s1ur_model,
struct ptx_chrdev_context *chrdev_ctx,
struct completion *quit_completion);
void s1ur_device_term(struct s1ur_device *s1ur);
#endif