HPM SDK
HPMicro Software Development Kit
hpm_pla_drv.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2022 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef HPM_PLA_DRV_H
9 #define HPM_PLA_DRV_H
10 
11 #include "hpm_common.h"
12 #include "hpm_pla_regs.h"
13 
21 #define PLA_AOI_16TO8_SIGNAL_NUM (16U)
22 #define PLA_AOI_8TO7_SIGNAL_NUM (8U)
23 #define PLA_CHN_CFG_ACTIVE_WORD (0xF00DU)
24 
25 #define PLA_AOI_16TO8_CONNECT_(input, value) \
26  PLA_CHN_AOI_16TO8_AOI_16TO8_##input##_SET(value)
31 #define PLA_AOI_16TO8_CONNECT(input_signal, operation) \
32  PLA_AOI_16TO8_CONNECT_(input_signal, operation)
33 
44 
50 
55 typedef enum pla_channel_type {
65 
88 
103 
108 typedef struct pla_aoi_16to8_cfg_unit {
112 
117 typedef struct pla_aoi_16to8_chn_cfg {
122 
137 
151 
152 
157 typedef struct pla_aoi_8to7_cfg_unit {
161 
166 typedef struct pla_aoi_8to7_chn_cfg {
171 
176 typedef union pla_filter_cfg {
177  struct {
179  uint32_t software_inject:2;
180  uint32_t filter_reverse:1;
181  uint32_t edge_dect_en:1;
182  uint32_t nege_edge_dect_en:1;
183  uint32_t pose_edge_dect_en:1;
184  uint32_t filter_sync_level:1;
185  uint32_t filter_ext_en:1;
186  uint32_t reserved0:3;
187  uint32_t filter_ext_type:3;
188  uint32_t reserved1:1;
189  uint32_t filter_ext_counter:16;
190  };
191  uint32_t val;
193 
198 typedef union pla_ff_cfg {
199  struct {
200  uint32_t sel_cfg_ff_type:3;
201  uint32_t sel_clk_source:1;
202  uint32_t sel_adder_minus:1;
203  uint32_t reserved0:11;
204  uint32_t dis_osc_loop_clamp:1;
206  uint32_t reserved1:14;
207  };
208  uint32_t val;
210 
215 typedef enum pla_ff_type {
224 
225 
236 
247 
248 
259 
269 
270 #ifdef __cplusplus
271 extern "C" {
272 #endif
273 
282 
292  pla_channel_type_t chn,
293  pla_aoi_16to8_channel_type_t aoi_16to8_chn,
295 
304 static inline void pla_set_aoi_16to8_input_signal(PLA_Type *pla,
305  pla_channel_type_t chn,
306  pla_aoi_16to8_channel_type_t aoi_16to8_chn,
308 {
309  pla->CHN[chn].AOI_16TO8[aoi_16to8_chn] = pla->CHN[chn].AOI_16TO8[aoi_16to8_chn] &
310  ~(((uint32_t)cfg->op) << (cfg->signal << 1));
311 }
312 
322 static inline void pla_get_aoi_16to8_input_signal(PLA_Type *pla,
323  pla_channel_type_t chn,
324  pla_aoi_16to8_channel_type_t aoi_16to8_chn,
327 {
328  cfg->op = (pla->CHN[chn].AOI_16TO8[aoi_16to8_chn] >> (signal << 1)) & 0x03;
329  cfg->signal = signal;
330 }
331 
332 
341 
350 
360  pla_channel_type_t chn,
361  pla_aoi_8to7_channel_type_t aoi_8to7_chn,
363 
374  pla_channel_type_t chn,
375  pla_aoi_8to7_channel_type_t aoi_8to7_chn,
378 
386 static inline void pla_set_filter1_out(PLA_Type *pla,
387  pla_filter1_outchannel_type_t filter1_out_chn,
388  pla_filter_cfg_t *cfg)
389 {
390  pla->FILTER_1ST_PLA_OUT[filter1_out_chn] = cfg->val;
391 }
392 
400 static inline void pla_get_filter1_out(PLA_Type *pla,
401  pla_filter1_outchannel_type_t filter1_out_chn,
402  pla_filter_cfg_t *cfg)
403 {
404  cfg->val = pla->FILTER_1ST_PLA_OUT[filter1_out_chn];
405 }
406 
414 static inline void pla_set_filter1_in(PLA_Type *pla,
415  pla_filter1_inchannel_type_t filter1_in_chn,
416  pla_filter_cfg_t *cfg)
417 {
418  pla->FILTER_1ST_PLA_IN[filter1_in_chn] = cfg->val;
419 }
420 
428 static inline void pla_get_filter1_in(PLA_Type *pla,
429  pla_filter1_inchannel_type_t filter1_in_chn,
430  pla_filter_cfg_t *cfg)
431 {
432  cfg->val = pla->FILTER_1ST_PLA_IN[filter1_in_chn];
433 }
434 
443 static inline void pla_set_filter2(PLA_Type *pla,
444  pla_channel_type_t chn,
445  pla_filter2_channel_type_t filter2_chn,
446  pla_filter_cfg_t *cfg)
447 {
448  pla->CHN[chn].FILTER_2ND[filter2_chn] = cfg->val;
449 }
450 
459 static inline void pla_get_filter2(PLA_Type *pla,
460  pla_channel_type_t chn,
461  pla_filter2_channel_type_t filter2_chn,
462  pla_filter_cfg_t *cfg)
463 {
464  cfg->val = pla->CHN[chn].FILTER_2ND[filter2_chn];
465 }
466 
475 static inline void pla_set_filter3(PLA_Type *pla,
476  pla_channel_type_t chn,
477  pla_filter3_channel_type_t filter3_chn,
478  pla_filter_cfg_t *cfg)
479 {
480  pla->CHN[chn].FILTER_3RD[filter3_chn] = cfg->val;
481 }
482 
491 static inline void pla_get_filter3(PLA_Type *pla,
492  pla_channel_type_t chn,
493  pla_filter3_channel_type_t filter3_chn,
494  pla_filter_cfg_t *cfg)
495 {
496  cfg->val = pla->CHN[chn].FILTER_3RD[filter3_chn];
497 }
498 
506 static inline void pla_set_ff(PLA_Type *pla,
507  pla_channel_type_t chn,
508  pla_ff_cfg_t *cfg)
509 {
510  pla->CHN[chn].CFG_FF = cfg->val;
511 }
512 
520 static inline void pla_get_ff(PLA_Type *pla,
521  pla_channel_type_t chn,
522  pla_ff_cfg_t *cfg)
523 {
524  cfg->val = pla->CHN[chn].CFG_FF;
525 }
526 
533 static inline void pla_channel_enable(PLA_Type *pla,
534  pla_channel_type_t chn)
535 {
537 }
538 
545 static inline void pla_channel_disable(PLA_Type *pla,
546  pla_channel_type_t chn)
547 {
548  pla->CHN_CFG_ACTIVE[chn] = false;
549 }
550 
555 #ifdef __cplusplus
556 }
557 #endif
558 
559 #endif /* HPM_PLA_DRV_H */
560 
pla_filter3_channel_type
Definition: hpm_pla_drv.h:260
static void pla_channel_enable(PLA_Type *pla, pla_channel_type_t chn)
enable pla channel
Definition: hpm_pla_drv.h:533
static void pla_get_aoi_16to8_input_signal(PLA_Type *pla, pla_channel_type_t chn, pla_aoi_16to8_channel_type_t aoi_16to8_chn, pla_aoi_16to8_input_signal_type_t signal, pla_aoi_16to8_cfg_unit_t *cfg)
Get one signal of aoi_16to8.
Definition: hpm_pla_drv.h:322
enum pla_aoi_signal_operation_type pla_aoi_signal_operation_type_t
aoi_16to8 operation on input signals
union pla_ff_cfg pla_ff_cfg_t
pla function selection config
pla_ff_type
pla configurable functions
Definition: hpm_pla_drv.h:215
#define PLA_AOI_8TO7_SIGNAL_NUM
Definition: hpm_pla_drv.h:22
static void pla_get_ff(PLA_Type *pla, pla_channel_type_t chn, pla_ff_cfg_t *cfg)
Get ff function.
Definition: hpm_pla_drv.h:520
static void pla_set_ff(PLA_Type *pla, pla_channel_type_t chn, pla_ff_cfg_t *cfg)
Set ff function.
Definition: hpm_pla_drv.h:506
enum pla_filter1_inchannel_type pla_filter1_inchannel_type_t
struct pla_aoi_8to7_chn_cfg pla_aoi_8to7_chn_cfg_t
aoi_8_to_7 channel config
enum pla_filter_sw_inject_type pla_filter_sw_inject_type_t
enum pla_filter3_channel_type pla_filter3_channel_type_t
pla_aoi_signal_operation_type
aoi_16to8 operation on input signals
Definition: hpm_pla_drv.h:38
static void pla_set_aoi_16to8_input_signal(PLA_Type *pla, pla_channel_type_t chn, pla_aoi_16to8_channel_type_t aoi_16to8_chn, pla_aoi_16to8_cfg_unit_t *cfg)
Set one signal of aoi_16to8.
Definition: hpm_pla_drv.h:304
struct pla_aoi_16to8_chn_cfg pla_aoi_16to8_chn_cfg_t
aoi_16to8 channel config
pla_filter1_inchannel_type
Definition: hpm_pla_drv.h:226
pla_filter_sw_inject_type
Definition: hpm_pla_drv.h:45
static void pla_get_filter2(PLA_Type *pla, pla_channel_type_t chn, pla_filter2_channel_type_t filter2_chn, pla_filter_cfg_t *cfg)
Get filter2.
Definition: hpm_pla_drv.h:459
enum pla_aoi_8to7_channel_type pla_aoi_8to7_channel_type_t
aoi_8to7 channel number
pla_aoi_8to7_input_signal_type
aoi_8_to_7 input signal
Definition: hpm_pla_drv.h:127
void pla_get_aoi_8to7_one_channel(PLA_Type *pla, pla_aoi_8to7_chn_cfg_t *cfg)
Get one channel of aoi_8to7.
Definition: hpm_pla_drv.c:74
void pla_get_aoi_16to8_one_channel(PLA_Type *pla, pla_channel_type_t chn, pla_aoi_16to8_channel_type_t aoi_16to8_chn, pla_aoi_16to8_chn_cfg_t *cfg)
Get one channel of aoi_16to8.
Definition: hpm_pla_drv.c:24
enum pla_ff_type pla_ff_type_t
pla configurable functions
static void pla_set_filter1_out(PLA_Type *pla, pla_filter1_outchannel_type_t filter1_out_chn, pla_filter_cfg_t *cfg)
Configure filter1 out.
Definition: hpm_pla_drv.h:386
static void pla_channel_disable(PLA_Type *pla, pla_channel_type_t chn)
disable pla channel
Definition: hpm_pla_drv.h:545
struct pla_aoi_16to8_cfg_unit pla_aoi_16to8_cfg_unit_t
aoi_16to8 config unit
enum pla_aoi_16to8_input_signal_type pla_aoi_16to8_input_signal_type_t
Raw input signal for aoi16to8 module.
static void pla_set_filter3(PLA_Type *pla, pla_channel_type_t chn, pla_filter3_channel_type_t filter3_chn, pla_filter_cfg_t *cfg)
Configure filter3.
Definition: hpm_pla_drv.h:475
static void pla_set_filter1_in(PLA_Type *pla, pla_filter1_inchannel_type_t filter1_in_chn, pla_filter_cfg_t *cfg)
Configure filter1 in.
Definition: hpm_pla_drv.h:414
static void pla_set_filter2(PLA_Type *pla, pla_channel_type_t chn, pla_filter2_channel_type_t filter2_chn, pla_filter_cfg_t *cfg)
Configure filter 2.
Definition: hpm_pla_drv.h:443
pla_filter1_outchannel_type
Definition: hpm_pla_drv.h:237
pla_aoi_8to7_channel_type
aoi_8to7 channel number
Definition: hpm_pla_drv.h:142
void pla_set_aoi_8to7_input_signal(PLA_Type *pla, pla_channel_type_t chn, pla_aoi_8to7_channel_type_t aoi_8to7_chn, pla_aoi_8to7_cfg_unit_t *cfg)
Configure one signal of aoi_8to7.
Definition: hpm_pla_drv.c:127
static void pla_get_filter3(PLA_Type *pla, pla_channel_type_t chn, pla_filter3_channel_type_t filter3_chn, pla_filter_cfg_t *cfg)
Get filter3.
Definition: hpm_pla_drv.h:491
enum pla_channel_type pla_channel_type_t
aoi channel index
union pla_filter_cfg pla_filter_cfg_t
pla filter config
enum pla_aoi_16to8_channel_type pla_aoi_16to8_channel_type_t
aoi_16to8 channel index
#define PLA_AOI_16TO8_SIGNAL_NUM
Definition: hpm_pla_drv.h:21
#define PLA_CHN_CFG_ACTIVE_WORD
Definition: hpm_pla_drv.h:23
enum pla_filter1_outchannel_type pla_filter1_outchannel_type_t
pla_channel_type
aoi channel index
Definition: hpm_pla_drv.h:55
void pla_get_aoi_8to7_input_signal(PLA_Type *pla, pla_channel_type_t chn, pla_aoi_8to7_channel_type_t aoi_8to7_chn, pla_aoi_8to7_input_signal_type_t signal, pla_aoi_8to7_cfg_unit_t *cfg)
Get one signal of aoi_8to7.
Definition: hpm_pla_drv.c:162
pla_aoi_16to8_input_signal_type
Raw input signal for aoi16to8 module.
Definition: hpm_pla_drv.h:70
enum pla_aoi_8to7_input_signal_type pla_aoi_8to7_input_signal_type_t
aoi_8_to_7 input signal
static void pla_get_filter1_out(PLA_Type *pla, pla_filter1_outchannel_type_t filter1_out_chn, pla_filter_cfg_t *cfg)
Get filter1 out.
Definition: hpm_pla_drv.h:400
struct pla_aoi_8to7_cfg_unit pla_aoi_8to7_cfg_unit_t
aoi_8to7 config unit
pla_aoi_16to8_channel_type
aoi_16to8 channel index
Definition: hpm_pla_drv.h:93
pla_filter2_channel_type
Definition: hpm_pla_drv.h:249
enum pla_filter2_channel_type pla_filter2_channel_type_t
void pla_set_aoi_16to8_one_channel(PLA_Type *pla, pla_aoi_16to8_chn_cfg_t *cfg)
Configure one channel of aoi_16to8.
Definition: hpm_pla_drv.c:11
static void pla_get_filter1_in(PLA_Type *pla, pla_filter1_inchannel_type_t filter1_in_chn, pla_filter_cfg_t *cfg)
Get filter 1.
Definition: hpm_pla_drv.h:428
void pla_set_aoi_8to7_one_channel(PLA_Type *pla, pla_aoi_8to7_chn_cfg_t *cfg)
Configure one channel of aoi_8to7.
Definition: hpm_pla_drv.c:37
@ pla_filter3_chn4
Definition: hpm_pla_drv.h:265
@ pla_filter3_chn0
Definition: hpm_pla_drv.h:261
@ pla_filter3_chn2
Definition: hpm_pla_drv.h:263
@ pla_filter3_chn3
Definition: hpm_pla_drv.h:264
@ pla_filter3_chn1
Definition: hpm_pla_drv.h:262
@ pla_filter3_chn5
Definition: hpm_pla_drv.h:266
@ pla_filter3_chn6
Definition: hpm_pla_drv.h:267
@ pla_ff_type_trigger_ff
Definition: hpm_pla_drv.h:219
@ pla_ff_type_latch
Definition: hpm_pla_drv.h:221
@ pla_ff_type_dff
Definition: hpm_pla_drv.h:216
@ pla_ff_type_jk_ff
Definition: hpm_pla_drv.h:220
@ pla_ff_type_level3_filter0
Definition: hpm_pla_drv.h:217
@ pla_ff_type_dual_edge_DFF
Definition: hpm_pla_drv.h:218
@ pla_ff_type_adder_minus
Definition: hpm_pla_drv.h:222
@ pla_aoi_operation_and_1
Definition: hpm_pla_drv.h:40
@ pla_aoi_operation_and_0
Definition: hpm_pla_drv.h:39
@ pla_aoi_operation_xor_1
Definition: hpm_pla_drv.h:41
@ pla_aoi_operation_or_1
Definition: hpm_pla_drv.h:42
@ pla_filter1_inchn2
Definition: hpm_pla_drv.h:229
@ pla_filter1_inchn6
Definition: hpm_pla_drv.h:233
@ pla_filter1_inchn1
Definition: hpm_pla_drv.h:228
@ pla_filter1_inchn4
Definition: hpm_pla_drv.h:231
@ pla_filter1_inchn7
Definition: hpm_pla_drv.h:234
@ pla_filter1_inchn0
Definition: hpm_pla_drv.h:227
@ pla_filter1_inchn5
Definition: hpm_pla_drv.h:232
@ pla_filter1_inchn3
Definition: hpm_pla_drv.h:230
@ pla_filter_sw_inject_low
Definition: hpm_pla_drv.h:46
@ pla_filter_sw_inject_height
Definition: hpm_pla_drv.h:47
@ pla_filter_sw_inject_disable
Definition: hpm_pla_drv.h:48
@ pla_level2_filter_out_1
Definition: hpm_pla_drv.h:129
@ pla_level2_filter_out_7
Definition: hpm_pla_drv.h:135
@ pla_level2_filter_out_4
Definition: hpm_pla_drv.h:132
@ pla_level2_filter_out_5
Definition: hpm_pla_drv.h:133
@ pla_level2_filter_out_6
Definition: hpm_pla_drv.h:134
@ pla_level2_filter_out_3
Definition: hpm_pla_drv.h:131
@ pla_level2_filter_out_0
Definition: hpm_pla_drv.h:128
@ pla_level2_filter_out_2
Definition: hpm_pla_drv.h:130
@ pla_filter1_outchn1
Definition: hpm_pla_drv.h:239
@ pla_filter1_outchn2
Definition: hpm_pla_drv.h:240
@ pla_filter1_outchn0
Definition: hpm_pla_drv.h:238
@ pla_filter1_outchn5
Definition: hpm_pla_drv.h:243
@ pla_filter1_outchn4
Definition: hpm_pla_drv.h:242
@ pla_filter1_outchn6
Definition: hpm_pla_drv.h:244
@ pla_filter1_outchn3
Definition: hpm_pla_drv.h:241
@ pla_filter1_outchn7
Definition: hpm_pla_drv.h:245
@ pla_aoi_8to7_chn_3
Definition: hpm_pla_drv.h:146
@ pla_aoi_8to7_chn_2
Definition: hpm_pla_drv.h:145
@ pla_aoi_8to7_chn_1
Definition: hpm_pla_drv.h:144
@ pla_aoi_8to7_chn_0
Definition: hpm_pla_drv.h:143
@ pla_aoi_8to7_chn_6
Definition: hpm_pla_drv.h:149
@ pla_aoi_8to7_chn_5
Definition: hpm_pla_drv.h:148
@ pla_aoi_8to7_chn_4
Definition: hpm_pla_drv.h:147
@ pla_chn_6
Definition: hpm_pla_drv.h:62
@ pla_chn_4
Definition: hpm_pla_drv.h:60
@ pla_chn_0
Definition: hpm_pla_drv.h:56
@ pla_chn_1
Definition: hpm_pla_drv.h:57
@ pla_chn_2
Definition: hpm_pla_drv.h:58
@ pla_chn_5
Definition: hpm_pla_drv.h:61
@ pla_chn_7
Definition: hpm_pla_drv.h:63
@ pla_chn_3
Definition: hpm_pla_drv.h:59
@ pla_level1_filter_out_10
Definition: hpm_pla_drv.h:81
@ pla_level1_filter_out_14
Definition: hpm_pla_drv.h:85
@ pla_level1_filter_out_3
Definition: hpm_pla_drv.h:74
@ pla_level1_filter_out_7
Definition: hpm_pla_drv.h:78
@ pla_level1_filter_out_5
Definition: hpm_pla_drv.h:76
@ pla_level1_filter_out_13
Definition: hpm_pla_drv.h:84
@ pla_level1_filter_out_15
Definition: hpm_pla_drv.h:86
@ pla_level1_filter_out_8
Definition: hpm_pla_drv.h:79
@ pla_level1_filter_out_9
Definition: hpm_pla_drv.h:80
@ pla_level1_filter_out_11
Definition: hpm_pla_drv.h:82
@ pla_level1_filter_out_2
Definition: hpm_pla_drv.h:73
@ pla_level1_filter_out_0
Definition: hpm_pla_drv.h:71
@ pla_level1_filter_out_6
Definition: hpm_pla_drv.h:77
@ pla_level1_filter_out_1
Definition: hpm_pla_drv.h:72
@ pla_level1_filter_out_4
Definition: hpm_pla_drv.h:75
@ pla_level1_filter_out_12
Definition: hpm_pla_drv.h:83
@ pla_aoi_16to8_chn_0
Definition: hpm_pla_drv.h:94
@ pla_aoi_16to8_chn_4
Definition: hpm_pla_drv.h:98
@ pla_aoi_16to8_chn_6
Definition: hpm_pla_drv.h:100
@ pla_aoi_16to8_chn_1
Definition: hpm_pla_drv.h:95
@ pla_aoi_16to8_chn_3
Definition: hpm_pla_drv.h:97
@ pla_aoi_16to8_chn_2
Definition: hpm_pla_drv.h:96
@ pla_aoi_16to8_chn_7
Definition: hpm_pla_drv.h:101
@ pla_aoi_16to8_chn_5
Definition: hpm_pla_drv.h:99
@ pla_filter2_chn6
Definition: hpm_pla_drv.h:256
@ pla_filter2_chn0
Definition: hpm_pla_drv.h:250
@ pla_filter2_chn2
Definition: hpm_pla_drv.h:252
@ pla_filter2_chn5
Definition: hpm_pla_drv.h:255
@ pla_filter2_chn3
Definition: hpm_pla_drv.h:253
@ pla_filter2_chn4
Definition: hpm_pla_drv.h:254
@ pla_filter2_chn7
Definition: hpm_pla_drv.h:257
@ pla_filter2_chn1
Definition: hpm_pla_drv.h:251
#define PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_5
Definition: hpm_pla_regs.h:1682
#define PLA_CHN_FILTER_3RD_THIRD_FILTER_2
Definition: hpm_pla_regs.h:1660
#define PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_7
Definition: hpm_pla_regs.h:1695
#define PLA_CHN_FILTER_2ND_SECOND_FILTER_1
Definition: hpm_pla_regs.h:1649
#define PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_4
Definition: hpm_pla_regs.h:1681
#define PLA_CHN_FILTER_3RD_THIRD_FILTER_1
Definition: hpm_pla_regs.h:1659
#define PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_1
Definition: hpm_pla_regs.h:1678
#define PLA_CHN_FILTER_3RD_THIRD_FILTER_3
Definition: hpm_pla_regs.h:1661
#define PLA_CHN_AOI_16TO8_AOI_16TO8_01
Definition: hpm_pla_regs.h:1639
#define PLA_CHN_FILTER_2ND_SECOND_FILTER_3
Definition: hpm_pla_regs.h:1651
#define PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_3
Definition: hpm_pla_regs.h:1680
#define PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_2
Definition: hpm_pla_regs.h:1679
#define PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_3
Definition: hpm_pla_regs.h:1691
#define PLA_CHN_5
Definition: hpm_pla_regs.h:1672
#define PLA_CHN_FILTER_3RD_THIRD_FILTER_0
Definition: hpm_pla_regs.h:1658
#define PLA_CHN_7
Definition: hpm_pla_regs.h:1674
#define PLA_CHN_FILTER_3RD_THIRD_FILTER_6
Definition: hpm_pla_regs.h:1664
#define PLA_CHN_1
Definition: hpm_pla_regs.h:1668
#define PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_6
Definition: hpm_pla_regs.h:1694
#define PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_0
Definition: hpm_pla_regs.h:1688
#define PLA_CHN_3
Definition: hpm_pla_regs.h:1670
#define PLA_CHN_AOI_16TO8_AOI_16TO8_02
Definition: hpm_pla_regs.h:1640
#define PLA_CHN_AOI_16TO8_AOI_16TO8_07
Definition: hpm_pla_regs.h:1645
#define PLA_CHN_AOI_16TO8_AOI_16TO8_06
Definition: hpm_pla_regs.h:1644
#define PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_0
Definition: hpm_pla_regs.h:1677
#define PLA_CHN_FILTER_3RD_THIRD_FILTER_5
Definition: hpm_pla_regs.h:1663
#define PLA_CHN_FILTER_2ND_SECOND_FILTER_7
Definition: hpm_pla_regs.h:1655
#define PLA_CHN_AOI_16TO8_AOI_16TO8_04
Definition: hpm_pla_regs.h:1642
#define PLA_CHN_FILTER_2ND_SECOND_FILTER_2
Definition: hpm_pla_regs.h:1650
#define PLA_CHN_0
Definition: hpm_pla_regs.h:1667
#define PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_2
Definition: hpm_pla_regs.h:1690
#define PLA_CHN_AOI_16TO8_AOI_16TO8_00
Definition: hpm_pla_regs.h:1638
#define PLA_CHN_FILTER_2ND_SECOND_FILTER_4
Definition: hpm_pla_regs.h:1652
#define PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_5
Definition: hpm_pla_regs.h:1693
#define PLA_CHN_AOI_16TO8_AOI_16TO8_03
Definition: hpm_pla_regs.h:1641
#define PLA_CHN_2
Definition: hpm_pla_regs.h:1669
#define PLA_CHN_FILTER_3RD_THIRD_FILTER_4
Definition: hpm_pla_regs.h:1662
#define PLA_CHN_FILTER_2ND_SECOND_FILTER_5
Definition: hpm_pla_regs.h:1653
#define PLA_CHN_4
Definition: hpm_pla_regs.h:1671
#define PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_1
Definition: hpm_pla_regs.h:1689
#define PLA_CHN_FILTER_2ND_SECOND_FILTER_0
Definition: hpm_pla_regs.h:1648
#define PLA_CHN_AOI_16TO8_AOI_16TO8_05
Definition: hpm_pla_regs.h:1643
#define PLA_CHN_FILTER_2ND_SECOND_FILTER_6
Definition: hpm_pla_regs.h:1654
#define PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_4
Definition: hpm_pla_regs.h:1692
#define PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_6
Definition: hpm_pla_regs.h:1683
#define PLA_CHN_6
Definition: hpm_pla_regs.h:1673
#define PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_7
Definition: hpm_pla_regs.h:1684
Definition: hpm_pla_regs.h:12
__RW uint32_t FILTER_1ST_PLA_IN[8]
Definition: hpm_pla_regs.h:24
__RW uint32_t AOI_16TO8[8]
Definition: hpm_pla_regs.h:14
__RW uint32_t FILTER_2ND[8]
Definition: hpm_pla_regs.h:19
struct PLA_Type::@384 CHN[8]
__RW uint32_t CFG_FF
Definition: hpm_pla_regs.h:21
__RW uint32_t FILTER_3RD[7]
Definition: hpm_pla_regs.h:20
__RW uint32_t CHN_CFG_ACTIVE[8]
Definition: hpm_pla_regs.h:26
__RW uint32_t FILTER_1ST_PLA_OUT[8]
Definition: hpm_pla_regs.h:25
aoi_16to8 config unit
Definition: hpm_pla_drv.h:108
pla_aoi_signal_operation_type_t op
Definition: hpm_pla_drv.h:110
pla_aoi_16to8_input_signal_type_t signal
Definition: hpm_pla_drv.h:109
aoi_16to8 channel config
Definition: hpm_pla_drv.h:117
pla_aoi_16to8_channel_type_t aoi_16to8_chn
Definition: hpm_pla_drv.h:119
pla_aoi_16to8_cfg_unit_t input[(16U)]
Definition: hpm_pla_drv.h:120
pla_channel_type_t chn
Definition: hpm_pla_drv.h:118
aoi_8to7 config unit
Definition: hpm_pla_drv.h:157
pla_aoi_8to7_input_signal_type_t signal
Definition: hpm_pla_drv.h:158
pla_aoi_signal_operation_type_t op
Definition: hpm_pla_drv.h:159
aoi_8_to_7 channel config
Definition: hpm_pla_drv.h:166
pla_channel_type_t chn
Definition: hpm_pla_drv.h:167
pla_aoi_8to7_cfg_unit_t input[(8U)]
Definition: hpm_pla_drv.h:169
pla_aoi_8to7_channel_type_t aoi_8to7_chn
Definition: hpm_pla_drv.h:168
pla function selection config
Definition: hpm_pla_drv.h:198
uint32_t osc_loop_clamp_value
Definition: hpm_pla_drv.h:205
uint32_t sel_cfg_ff_type
Definition: hpm_pla_drv.h:200
uint32_t val
Definition: hpm_pla_drv.h:208
uint32_t dis_osc_loop_clamp
Definition: hpm_pla_drv.h:204
uint32_t reserved0
Definition: hpm_pla_drv.h:203
uint32_t sel_adder_minus
Definition: hpm_pla_drv.h:202
uint32_t sel_clk_source
Definition: hpm_pla_drv.h:201
uint32_t reserved1
Definition: hpm_pla_drv.h:206
pla filter config
Definition: hpm_pla_drv.h:176
uint32_t filter_ext_counter
Definition: hpm_pla_drv.h:189
uint32_t software_inject
Definition: hpm_pla_drv.h:179
uint32_t filter_sync_level
Definition: hpm_pla_drv.h:184
uint32_t reserved1
Definition: hpm_pla_drv.h:188
uint32_t nege_edge_dect_en
Definition: hpm_pla_drv.h:182
uint32_t sync_edge_filter_disable
Definition: hpm_pla_drv.h:178
uint32_t filter_ext_en
Definition: hpm_pla_drv.h:185
uint32_t edge_dect_en
Definition: hpm_pla_drv.h:181
uint32_t filter_ext_type
Definition: hpm_pla_drv.h:187
uint32_t pose_edge_dect_en
Definition: hpm_pla_drv.h:183
uint32_t val
Definition: hpm_pla_drv.h:191
uint32_t filter_reverse
Definition: hpm_pla_drv.h:180
uint32_t reserved0
Definition: hpm_pla_drv.h:186