| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- struct mt_irtx {
- unsigned int pwm_ch;
- unsigned int pwm_data_invert;
- void __iomem *reg_base;
- unsigned int irq;
- struct platform_device *plat_dev;
- unsigned int carrier_freq;
- atomic_t usage_cnt;
- /* struct clk *clk_irtx_main; */
- struct clk *clk_irtx_main;
- /* GPIO pin control */
- struct pinctrl *ppinctrl_irtx;
- };
- struct irtx_config {
- unsigned int start : 1;
- unsigned int mode : 2;
- unsigned int sw_o : 1;
- unsigned int b_ord : 1;
- unsigned int r_ord : 1;
- unsigned int ir_os : 1;
- unsigned int ir_inv : 1;
- unsigned int bit_num : 7;
- unsigned int data_inv : 1;
- };
- #define IRTX_IOC_SET_CARRIER_FREQ _IOW('R', 0, unsigned int)
- #define IRTX_IOC_GET_SOLUTTION_TYPE _IOR('R', 1, unsigned int)
- #define IRTX_IOC_SET_IRTX_LED_EN _IOW('R', 10, unsigned int)
- #define irtx_write32(b, a, v) mt_reg_sync_writel(v, (b)+(a))
- #define irtx_read32(b, a) ioread32((void __iomem *)((b)+(a)))
- #define CLOCK_SRC 26 /* MHz */
- #define IRTXCFG 0x0
- #define IRTXD0 0x4
- #define IRTXD1 0x8
- #define IRTXD2 0xC
- #define IRTX_L0H 0x10
- #define IRTX_L0L 0x14
- #define IRTX_L1H 0x18
- #define IRTX_L1L 0x1C
- #define IRTXSYNCH 0x20
- #define IRTXSYNCL 0x24
- #define IRTXMT 0x28
|