blob: b24d82fa34567965432720f9dde6d7cc0f4011ac [file] [log] [blame]
Bo Lv72d0e902023-01-02 14:27:34 +00001/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
2/*
3 * Copyright (c) 2019 Amlogic, Inc. All rights reserved.
4 */
5
6#ifndef __AML_IRBLATER_H
7#define __AML_IRBLATER_H
8
9#define MAX_WINDOWS_LEN 512
10struct aml_irblaster_drv_s {
11 unsigned int protocol;
12 unsigned int frequency;
13 unsigned int sendvalue;
14 unsigned int windows[MAX_WINDOWS_LEN];
15 unsigned int windows_num;
16 unsigned int dutycycle;
17 unsigned int openflag;
18 int (*open)(void);
19 int (*close)(void);
20 int (*test)(unsigned int);
21 int (*send)(unsigned int);
22 int (*setprotocol)(char *);
23 const char *(*getprocotol)(void);
24 int (*setfrequency)(unsigned int);
25 unsigned int (*getfrequency)(void);
26 void (*print_windows)(void);
27 int (*read_reg)(volatile unsigned int *, unsigned int);
28 int (*write_reg)(volatile unsigned int *, unsigned int);
29};
30
31struct aml_irblaster_drv_s *aml_irblaster_get_driver(void);
32#endif
33
34